65.9K
CodeProject 正在变化。 阅读更多。
Home

将多个图像文件转换为 PDF

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.43/5 (3投票s)

2015年8月30日

CPOL
viewsIcon

26244

downloadIcon

2784

一个关于将多个图像文件(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 文件。

© . All rights reserved.