通过C#将PDF快速导出为图片
  VvSPgftGqWMk 2023年11月24日 90 0

前言

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

准备工作

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

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

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

  1. 打开 Visual Studio创建新项目。
  2. 依次选择工具>NuGet包管理器>程序包管理器控制台。
  3. 然后执行命令: PM> Install-Package FreeSpire.PDF                  

方法二:在程序中手动导入Spire.pdf.dll文件。

  1. Free Spire.PDF for .NET 下载到本地,解压并安装。
  2. 打开 Visual Studio创建一个新项目。
  3. 在“解决方案资源管理器”中右键点击“引用”,再依次选择“添加引用”> “浏览”。
  4. 找到安装路径下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);
              
            }
        }
    }
}

效果图

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


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);
        }
    }
}

效果图

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


其他

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

image.Save("Image.jpg",ImageFormat.Jpeg);
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月24日 0

暂无评论

推荐阅读
VvSPgftGqWMk
作者其他文章 更多