C#PDF轉圖片


1.spire

官方的有水印,通過引用

復制代碼
 //private readonly static PdfDocument doc = new PdfDocument();
        //public static Stream PtfToPng(string FileInfo)
        //{
        //byte[] by = Convert.FromBase64String(FileInfo);
        //doc.LoadFromBytes(by);
        //Image bmp = doc.SaveAsImage(0);//默認第一頁
        //return ImageToStream(bmp);
或者 //遍歷PDF每一頁 //for (int i = 0; i < doc.Pages.Count; i++) //{ // //將PDF頁轉換成Bitmap圖形 // Image bmp = doc.SaveAsImage(i); // //將Bitmap圖形保存為Png格式的圖片 // string fileName = string.Format("Page-{0}.png", i + 1); // bmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Png); //} //}
復制代碼

2.

Install-Package PdfiumViewer -Version 2.13.0

Install-Package ImageResizer.Plugins.PdfiumRenderer.Pdfium.Dll -Version 1.0.1

 不支持32位程序

復制代碼
        /// <summary>
        /// ptf轉圖片流
        /// </summary>
        /// FileInf base64string
        /// <returns></returns>
        public static Stream PtfToPng(string FileInfo)
        {
            byte[] by = Convert.FromBase64String(FileInfo);
            Stream sm = new MemoryStream(by);
            using (var document = PdfiumViewer.PdfDocument.Load(sm))
            {
                var size = document.PageSizes[0];
                Image ig = document.Render(0, (int)size.Width, (int)size.Height, 300, 300, PdfiumViewer.PdfRenderFlags.Annotations);
                return ImageToStream(ig);
            }
        }

        /// <summary>
        /// 返回圖片流
        /// </summary>
        public static Stream ImageToStream(Image img)
        {
            MemoryStream ms = new MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            return ms;
        }
復制代碼

3.aspose.ptf,最下方有方塊,

復制代碼
private Stream ConvertToImage(Stream sm)
{
    Document doc = new Document(sm);
    if (doc == null)
        Console.Write(doc);
    MemoryStream stream = new MemoryStream();
    Resolution reso = new Resolution(128);
    JpegDevice jpegDevice = new JpegDevice(reso, 100);
    jpegDevice.Process(doc.Pages[1], stream);
    return stream;
        //    //Image img = Image.FromStream(stream);
}
復制代碼

 4.O2S.Components.PDFRender4NET

復制代碼
 /// <summary>
        /// 將PDF文檔轉換為圖片的方法
        /// </summary>
        /// <param name="definition">設置圖片的清晰度,數字越大越清晰(1-10)</param>
        public static Stream ConvertPdfImage(string Base64, int definition)
        {
            byte[] by = Convert.FromBase64String(Base64);
            Stream sm = new MemoryStream(by);
            PDFFile pdfFile = PDFFile.Open(sm);
            Bitmap pageImage = pdfFile.GetPageImage(0, 56 * definition);
            pdfFile.Dispose();
            return ImageToStream(pageImage);
        }

        /// <summary>
        /// 返回圖片流
        /// </summary>
        public static Stream ImageToStream(Image img)
        {
            MemoryStream ms = new MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            return ms;
        }
復制代碼

無水印的O2S.Components.PDFRender4NET地址https://pan.baidu.com/s/1h8Zb4j4ofUnS4ZBoHJecHQ        碼:cum8

轉自:https://www.cnblogs.com/shuaimeng/p/10523790.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM