• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#将PDF文件转为图片(注意:32位系统不支持)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一:NuGet下载

Install-Package PdfiumViewer -Version 2.13.0

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

二:帮助类

 class PdfToPicture
    {
        /// <summary>
        /// 将PDF转换为图片
        /// </summary>
        /// <param name="pdfPath">pdf文件位置</param>
        /// <param name="pageNumber">pdf文件张数</param>
        /// <param name="size">pdf文件尺寸</param>
        /// <param name="outputPath">输出图片位置与名称</param>
        public void RenderPage(string pdfPath, int pageNumber, System.Drawing.Size size, string outputPath, int dpi = 300)
        {
            using (var document = PdfiumViewer.PdfDocument.Load(pdfPath))
            using (var stream = new FileStream(outputPath, FileMode.Create))
            using (var image = GetPageImage(pageNumber, size, document, dpi))
            {
                image.Save(stream, ImageFormat.Jpeg);
            }
        }
        private static Image GetPageImage(int pageNumber, Size size, PdfiumViewer.PdfDocument document, int dpi)
        {
            return document.Render(pageNumber - 1, size.Width, size.Height, dpi, dpi, PdfRenderFlags.Annotations);
        }
    }

三:调用范例

 static void Main(string[] args)
        {
            var pdf = PdfDocument.Load(@"E:\BBBBBPDF\sample.pdf");
            var pdfpage = pdf.PageCount;
            var pagesizes = pdf.PageSizes;

            PdfToPicture p2p = new PdfToPicture();
            for (int i = 1; i <= pdfpage; i++)
            {
                Size size = new Size();
                size.Height = (int)pagesizes[(i - 1)].Height;
                size.Width = (int)pagesizes[(i - 1)].Width;
                p2p.RenderPage(@"E:\BBBBBPDF\sample.pdf", i, size, @"E:\BBBBBPDF\sample" + i + @".jpg");
            }
            Console.WriteLine("Success");
            Console.Read();
        }

PS:1.绝对路径只有IE浏览器可以拿到,所以我们一般拿到文件先转存我们项目文件夹里,然后就可以得到绝对路径进行转图片等操作。

  2.能在前端解决最好不要像本篇博客中放在后台处理

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#枚举类型的描述信息获取发布时间:2022-07-13
下一篇:
c#autofac结合WebApi的使用发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap