通过C#将PDF快速导出为图片

前言
PDF的实际应用虽然广泛,但考虑到接收设备不一定有支持的阅读器, 将PDF导出为图片格式可能会更方便发送和查阅。另外,图片格式也更易于我们进行二次编辑。下面我所要介绍的这个将PDF转换为图像的方法可以确保转换后的图片与原始PDF文件的外观一致,包括内容的位置和样式等。只需要简单几行代码就可以将PDF快速导出成你想要的图片格式。

准备工作
这个方法将用到的是 Free Spire.PDF for .NET组件,支持在多种.NET应用程序中处理PDF。

具体安装方法如下(Visual Studio 2022为例):

方法一:通过 NuGet安装Free Spire.PDF for .NET。

打开 Visual Studio创建新项目。
依次选择工具>NuGet包管理器>程序包管理器控制台。
然后执行命令: PM> Install-Package FreeSpire.PDF                  
方法二:在程序中手动导入Spire.pdf.dll文件。

将 Free Spire.PDF for .NET 下载到本地,解压并安装。
打开 Visual Studio创建一个新项目。
在“解决方案资源管理器”中右键点击“引用”,再依次选择“添加引用”> “浏览”。
找到安装路径下BIN文件夹中的dll文件,点击“OK”。
这里个人更推荐第二种方法,更方便查找各种demo。

还有一点需要注意的是,这个免费的组件在转换时有一定页数的限制。如果你的文档比较大,也可以直接下载商业版,申请一个临时许可证来试用一段时间。

下载链接: Spire.PDF for .NET

PDF文档转图片
代码逻辑
整个代码的逻辑很简单,首先导入所需要的外部库和命名空间。然后创建一个文档实例并加载需要转换的PDF文档。然后循环遍历文档的每一页,调用PdfDocument下的SaveAsImage()方法将每一页都转换为图片。图片格式根据自身需要指定即可。

示例代码
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.Drawing.Imaging;

namespace PDFtoImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            //加载需要转换的PDF文档
            pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

            //循环遍历每个页面
            for (int i = 0; i < pdf.Pages.Count; i++)
            {
                //将所有页面转换为图像并设置图像Dpi
                Image image = pdf.SaveAsImage(i, PdfImageType.Bitmap, 500, 500);

                //设置图像格式
                String file = String.Format("C:\\Users\\Administrator\\Desktop\\Images\\Image-{0}.png", i);
                image.Save(file, ImageFormat.Png);
              
            }
        }
    }
}

效果图


PDF的某一页转图片
代码逻辑
与上述代码类似,只是转换某一页时,不再需要遍历整个文档,只需要通过索引获取页面就可以。唯一需要注意的是,这里的索引是从0开始计算的。最后指定图片格式即可。

示例代码
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Imaging;

namespace PDFtoImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            //加载需要转换的PDF文档
            pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

            //将第一页转换为图像并设置图像Dpi
            Image image = pdf.SaveAsImage(0, PdfImageType.Bitmap, 500, 500);

            //设置图像格式
            image.Save("C:\\Users\\Administrator\\Desktop\\Images\\Image.png ", ImageFormat.Png);
        }
    }
}

效果图


其他
以上代码演示的是将PDF转换为PNG格式,如果想要转换为其他图片格式的话,如JPG,BMP或者EMF等,只需在更改代码最后的格式即可。例如:

复制 
image.Save("Image.jpg",ImageFormat.Jpeg);

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王甜甜(.NET)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值