在不同的情况下,您可能需要基于一堆图像创建 PDF,例如从扫描的文档页面或发票生成 PDF。对于这种情况,本文介绍了如何使用 C# 以编程方式从图像创建 PDF。
C# API 从图像创建 PDF
为了从图像创建 PDF 文件,我们将使用 Aspose.PDF for .NET。它是一个功能强大的 PDF API,可让您在 .NET 应用程序中创建、修改和转换 PDF 文件。您可以 下载 API 或使用 NuGet 安装它。
PM> Install-Package Aspose.Pdf
从图像创建 PDF 文件的步骤
以下是使用 Aspose.PDF for .NET 从图像创建 PDF 的步骤。
- 首先,创建一个新的 PDF 文档。
- 获取数组中图像文件名称的列表。
- 对于列表中的每个图像,请执行以下操作:
- 将新页面添加到 PDF 文档并设置其属性。
- 从列表中加载每个图像文件。
- 将图像添加到页面的段落集合中。
- 最后,保存 PDF 文档。
使用 C# 从图像创建 PDF
以下是从图像创建 PDF 的步骤以及 API 参考。
- 创建 Document 类的实例。
- 使用 Directory.GetFiles(string) 方法获取数组中图像文件名称的列表。
- 对于列表中的每个图像文件,请执行以下操作:
- 使用 Document.Pages.Add() 方法将新的 Page 添加到 PDF 文档并设置页面的属性。
- 将图像文件加载到 FileStream 对象中。
- 使用 Page.Paragraphs.Add(Image) 方法将新的 Image 添加到页面。
- 使用 Image.ImageStream 属性设置图像的流。
- 最后,使用 Document.Save(String) 方法保存 PDF 文档。
以下代码示例展示了如何从图像创建 PDF。
// 创建一个新文档
Document doc = new Document();
// 访问文件夹中的图像文件
string[] fileList = Directory.GetFiles(@"D:/images/");
foreach (String file in fileList)
{
// 将页面添加到文档的页面集合
var page = doc.Pages.Add();
// 将图像加载到流中
FileStream imageStream = new FileStream(file, FileMode.Open);
// 设置边距,以便图像适合等。
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.CropBox = new Rectangle(0, 0, 400, 400);
// 创建图像对象
Image image1 = new Image();
// 将图像添加到该部分的段落集合中
page.Paragraphs.Add(image1);
// 设置图片文件流
image1.ImageStream = imageStream;
}
// 保存生成的 PDF 文件
doc.Save("document.pdf");
获取免费 API 许可证
您可以通过 获得免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C# 从图像创建 PDF 文件。分步指南和代码示例展示了如何将文件夹中的每个图像插入到 PDF 文件的页面中。您可以使用 文档 探索更多关于 Aspose.PDF for .NET 的信息。如果您有任何疑问,请随时通过我们的 论坛 告诉我们。