簡體   English   中英

如何在局部視圖(ASP.NET MVC)中將PDF顯示為圖像?

[英]How to display PDFs as images in a partial view (ASP.NET MVC)?

好的。 這就是我所擁有的。 我有一個pdf文件,該文件轉換為byte []並保存到Db。 我想要做的是將pdf文件轉換為圖像,並在局部視圖中將其顯示為彈出窗口。 我能夠做到這一點,但是有兩個問題。 1-轉換后的圖像質量低2-處理緩慢

這是我的代碼(我使用TallComponents.PDF.Rasterizer庫進行轉換,不要介意你們是否推薦一個更好的庫)

var doc = service.GetAttachmentById(documentId);
            ViewAttachmentViewModel model = new ViewAttachmentViewModel();
            if (doc.Extension.ToLower().Trim() == ".pdf")
            {
                // convert pdf to image
                try
                {
                    Bitmap bitmap;
                    using (Stream stream = new MemoryStream(doc.Content))
                    {
                        Document m = new Document(stream);
                        Page p = m.Pages[0];
                        bitmap = new Bitmap((int)p.Width, (int)p.Height);
                        using (Graphics g = Graphics.FromImage(bitmap))
                        {
                            p.Draw(g);
                        }
                    }
                    ImageConverter converter = new ImageConverter();
                    byte[] cont = (byte[])converter.ConvertTo(bitmap, typeof(byte[]));
                    model = new ViewAttachmentViewModel
                    {
                        Id = documentId,
                        Content = cont,
                        FileName = doc.Title
                    };

                }
                catch (Exception ex)
                {
                    // handle exception here;
                }
            }
            else
            {
                model = new ViewAttachmentViewModel
                {
                    Id = documentId,
                    Content = doc.Content,
                    FileName = doc.Title
                };
            }
            return PartialView("_AttachmentPopupViewer", model);

部分視圖:

  @{
        var base64 = Convert.ToBase64String(Model.Content);
        var imgSrc = String.Format("data:image/gif;base64,{0}", base64);
    }

    <img src="@imgSrc" />

我在項目中使用PDFJS 它運作良好。 試試看

它不是將pdf轉換為圖像,而是在您的網站中解析和呈現PDF的工具

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM