如果您正在开发涉及处理 PDF 文件的 Java 项目,则可能需要将多个 PDF 文件合并到一个文档中。在本文中,我们将演示如何使用 Java 编程语言来实现这一目标。我们将从以下两个方面向您展示如何将多个PDF文件合并为一个PDF:
将文件中的多个 PDF 合并为单个 PDF
将流中的多个 PDF 合并为单个 PDF
第 1 部分:了解 Spire.PDF 库
要在 Java 中合并 PDF 文件,我们将使用Spire.PDF 库。Spire.PDF for Java 是一个 PDF API,使 Java 应用程序能够在不使用 Adobe Acrobat 的情况下读取、写入和保存 PDF 文档。它提供了用于操作 PDF 文件的广泛功能,包括将多个 PDF 文件合并到单个文档中。
在我们使用 Spire.PDF 合并 PDF 文件之前,我们需要将其依赖项添加到我们的 Java 项目中。我们可以通过向 Maven 项目添加以下依赖项来实现此目的:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.5.6</version>
</dependency>
</dependencies>
第 2 部分:编写 Java 代码
一旦我们将 Spire.PDF for java 依赖项添加到我们的项目中,我们就可以开始编写 Java 代码来合并多个 PDF 文件。将 PDF 与 Spire.PDF 组合在一起非常简单。以下是合并两个 PDF 文档然后将它们合并为一个的步骤。
从文件加载 PDF,然后将它们合并到新的 PDF
获取要合并的文档的路径并将其存储在 String 数组中。
使用PdfDocument.mergeFiles()方法合并选定的 PDF 文件。
使用PdfDocumentBase.save()方法保存 PDF 文档。
import com.spire.pdf.*;
public class mergePDF {
public static void main(String[] args) throws Exception {
//Get the paths of the documents to be merged
String[] files = new String[] {
"D:\\sample.pdf",
"D:\\sample1.pdf"};
//Merge documents and return an object of PdfDocumentBase
PdfDocumentBase pdf = PdfDocument.mergeFiles(files);
//Save the result to a PDF file
pdf.save("MergedPDF.pdf", FileFormat.PDF);
}
}
从流中加载 PDF,然后将它们合并到新的 PDF
从流中加载 PDF 并将其合并为新的 PDF 是处理多个 PDF 文档而无需将它们保存到磁盘的便捷有效的方法。当处理您不想存储在本地驱动器上的大型或敏感文件时,此方法特别有用。Spire.PDF还支持从流中加载PDF,然后将它们组合成一个新的PDF文件。
获取 PDF 流的路径,然后将它们存储到FileInputStream数组中。
使用PdfDocument.mergeFiles()方法合并选定的 PDF 文件。
使用PdfDocumentBase.save()方法保存 PDF 文档。
import com.spire.pdf.*;
import java.io.*;
public class mergePDFbyStream {
public static void main(String[] args) throws Exception {
FileInputStream stream1 = new FileInputStream(new File("sample.pdf"));
FileInputStream stream2 = new FileInputStream(new File("sample1.pdf"));
InputStream[] streams = new FileInputStream[]{stream1, stream2};
//Merge these documents and return an object of PdfDocumentBase
PdfDocumentBase pdf = PdfDocument.mergeFiles(streams);
//Save the result to a PDF file
pdf.save("MergedPDF.pdf", FileFormat.PDF);
}
}
结论
就是这样!您已使用 Java 编程语言和 Spire.PDF 库成功将多个 PDF 文件合并为一个文档。总体而言,从文件或流加载 PDF 并将其合并为新的 PDF 是一种以安全、高效的方式管理多个 PDF 文档的强大技术。
如果您喜欢这篇文章,请点赞、评论和分享。