在各种情况下,您可能需要将一组图像转换为 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 实现上述每个步骤。

以下代码示例展示了如何从 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 的更多信息。

也可以看看