在各种情况下,您可能需要将一组图像转换为 PDF 文件。例如,您可能希望将相册中的所有图像插入到单个 PDF 文件中。另一方面,您可能需要从扫描文档的图像生成 PDF。为了执行图像到 PDF 的转换,本文介绍了如何使用 Java 从多个图像生成 PDF。
用于图像到 PDF 转换的 Java API
Aspose.PDF for Java 是一个强大的 API,它提供了基本的和高级的 PDF 操作功能。它使您可以轻松生成新的 PDF 文件并修改现有文件。您可以下载 API 的 JAR 或使用以下 Maven 配置安装它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.2</version>
</dependency>
从图像生成 PDF 的步骤
以下是我们将按照本文中的图像生成 PDF 文件的步骤。
- 首先,创建一个新的 PDF 文档。
- 获取数组中图像文件名的列表。
- 对于列表中的每个图像文件,请执行以下操作:
- 将新页面添加到 PDF 文档并设置其属性。
- 从列表中将每个图像文件加载到文件流中。
- 将图像添加到页面的段落集合中。
- 最后,保存 PDF 文档。
使用 Java 从图像生成 PDF
现在让我们看看如何使用 Aspose.PDF for Java 实现上述每个步骤。
创建 Document 类的实例。
使用 java.io.File 类在数组中获取图像的文件名列表。
对于列表中的每个图像文件,请执行以下操作:
使用 Document.getPages().add() 方法将新的 Page 添加到 PDF 文档并设置页面的属性。
将图像文件加载到 FileInputStream 对象中。
使用 Page.getParagraphs().add(Image) 方法向页面添加新的 Image。
使用 Image.setImageStream(FileInputStream) 方法设置图像的流。
最后,使用 Document.save(String) 方法保存 PDF 文档。
以下代码示例展示了如何从 Java 中的图像生成 PDF 文件。
// 实例化文档对象
Document doc = new Document();
// 访问文件夹中的图像文件
String imageDir = "D:/Images/";
File file = new File(imageDir);
String[] fileList = file.list();
for (String fileName : fileList) {
// 将页面添加到文档的页面集合
Page page = doc.getPages().add();
// 将源图像文件加载到 Stream 对象
java.io.FileInputStream fs = new java.io.FileInputStream(imageDir + fileName);
// 设置边距,以便图像适合等。
page.getPageInfo().getMargin().setBottom(0);
page.getPageInfo().getMargin().setTop(0);
page.getPageInfo().getMargin().setLeft(0);
page.getPageInfo().getMargin().setRight(0);
page.setCropBox(new com.aspose.pdf.Rectangle(0, 0, 400, 400));
// 创建图像对象
Image image1 = new Image();
// 将图像添加到该部分的段落集合中
page.getParagraphs().add(image1);
// 设置图片文件流
image1.setImageStream(fs);
}
// 保存生成的 PDF 文件
doc.save("document.pdf");
获取免费 API 许可证
如果您想在没有评估限制的情况下试用 API,您可以获得免费的临时许可证。
结论
在本文中,您学习了如何使用 Java 生成基于多个图像的 PDF 文件。分步指南和代码示例演示了如何从文件夹中获取图像并将其插入 PDF。您可以使用 documentation 探索有关 Java PDF API 的更多信息。