将多个图像文件转换为 PDF
一个关于将多个图像文件(BMP、PNG、GIF、JPEG、TIFF)转换为单个或多个 PDF 的技巧
引言
这个技巧是文章 将图像文件转换为 PDF 的扩展。
背景
通常,需要将许多文件转换为单个 PDF 或多个 PDF。本文描述了一个简单的程序,可以实现此功能。该程序基于名为 PDFSharp 的开源库。
与单个 TextBox
用于输入文件不同,这里有一个 ListBox
,可以用来选择更多文件。使用“上/下”按钮,您可以更改源文件顺序。ListBox
中的顺序代表创建的 PDF 文档中页面的顺序。源图像文件也可以通过从文件资源管理器拖放操作添加。或者,可以选中自动**删除源文件**,在成功转换后执行。
Using the Code
转换技术的详细信息在基础文章 将图像文件转换为 PDF 中有描述。处理过程可以以两种模式运行:单个 PDF 包含多个页面,或多个 PDF 每个包含单个页面。 核心工作线程以以下方式调用 PDFSharp 库
for (int i = 1; i < fNames.Length; i++) { // each source file saeparate PdfDocument doc = new PdfDocument(); toolStripStatusLabel1.Text = "Processing " + fNames[i]; doc.Pages.Add(new PdfPage()); XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]); XImage img = XImage.FromFile(fNames[i]); xgr.DrawImage(img, 0, 0); img.Dispose(); xgr.Dispose(); // save to destination file FileInfo fi = new FileInfo(fNames[i]); doc.Save(fi.FullName.Replace(fi.Extension,".PDF")); doc.Close(); }
关注点
这是一个非常简单的 WinForm 应用程序,可以有效地生成 PDF 文件。