将Java合并PDF文件成单个PDF文件

查克尼特·宾
查克尼特·宾
2023年一月22日
更新 2024年十二月2日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF是可移植文档格式,这是一种包含文本和图形的新型电子文件格式。 它是一种独立的格式,可以在所有操作系统、设备或软件应用程序中显示相同的内容和布局。

Java是一种高级编程语言,与PDF数据一样,也是平台独立的。 这使得在不同计算机系统之间切换变得容易。 然而,在Java中处理源PDF文件和输入流可能是一项具有挑战性的任务。 IronPDF - 一个 Java 库,非常适合轻松地操作和处理现有的 PDF 文件。

在这份操作指南中,您将学习如何安装IronPDF Java库以及合并多个PDF文档。

IronPDF:Java库

IronPDF是一个Java库,用于创建、阅读和编辑单个或多个PDF文档。 它允许用户从头开始创建所有PDF文件,包括使用HTML渲染的内容外观以及标题和作者名称等元数据。 该库还允许合并多个PDF文件,使得将内容合并到一个PDF目标文件路径变得非常容易。 它不需要任何第三方库、外部框架或平台集成来处理PDF文件或PDF迭代器对象。 它还提供跨平台支持。 它专为在WindowsLinux云平台上运行的Java 8+、Kotlin 和 Scala而设计。

先决条件

要合并多个PDF文件,您需要以下内容:

  1. 任何支持 Java 的 IDE(NetBeans、Eclipse、IntelliJ 等)。 我们将在这里使用 IntelliJ 来合并多个PDF。

  2. 一个在 IDE 中运行的 Maven 项目

安装 IronPDF

要合并PDF文件,我们首先需要的是IronPDF Java库。 有三种方法可以在任何项目中下载和安装IronPDF。

  1. 您可以在Maven项目的pom.xml文件中添加IronPDF依赖项,并使用maven命令行工具或IDE直接从中央仓库下载库。

  2. 另一种方法是访问Maven网站并下载最新版本的IronPDF。 您可以直接从[这里](https://search.maven.org/artifact/com.ironsoftware/ironpdf" target="_blank" rel="nofollow noreferrer noopener)下载。

  3. 您也可以访问IronPDF网站,通过此链接直接下载。

    在每种情况下,以下依赖代码将被添加到 pom.xml 文件中。

    <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>com.ironsoftware</artifactId>
       <version>2025.3.6</version>
    </dependency>
    XML

合并PDF文件还需要一个依赖项,即Slf4j-simple依赖项。 您也可以使用以下代码将其添加到pom.xml文件中,或者您可以访问Maven网站[这里](https://search.maven.org/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)[这里]。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
Java 合并 PDF - 图 1:pom.xml 依赖项

pom.xml 依赖项

要使用 IronPDF 功能合并 PDF 文件,main.java 文件中还需要以下导入语句。

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JAVA

在Java中使用IronPDF合并两个PDF源文件

合并PDF文件,首先我们需要创建PDF文件,然后将它们转换为最终合并的PDF文件。下面的代码示例将做到这一点:

String htmlA = "<p> [PDF_A] </p>"
        + "<p> [PDF_A] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
        + "<p> [PDF_B] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_B] 2nd Page</p>";
//document and PdfReader objects
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
JAVA

上述代码创建了两个包含HTML标记的字符串。每个变量的HTML内容跨越两页。 然后,调用IronPDF的renderHtmlAsPdf方法,将两个HTML字符串转换为单独的PDF文档。

合并PDF文件的方法是PdfDocument.merge。 该方法在上文中被调用,以将两个PDF文档合并成一个单一的PDF文件。 结果是一个新的PdfDocument,通过将第二个 PdfDocument 的内容追加到第一个 PdfDocument 的末尾而生成。

保存合并的多个PDF文档

要将合并的PDF文件保存到您所需的目标文件路径,只需使用以下一行代码:

merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

合并后的 PDF 文件输出如下所示:

Java 合并 PDF - 图 2: 合并多个 PDF 文档

合并多个 PDF 文档

合并两个以上的 PDF 文件

合并两个以上的PDF文档,首先我们会创建一个包含所需PdfDocument对象的集合,然后将该列表作为单个参数传递给PdfDocument.merge方法。 代码如下

import java.util.ArrayList;
import java.util.List;

public static void main(String [] args) throws IOException {
    String htmlA = "<p> [PDF_A] </p>"
            + "<p> [PDF_A] 1st Page </p>"
            + "<div style = 'page-break-after: always;' ></div>"
            + "<p> [PDF_A] 2nd Page</p>";
    String htmlB = "<p> [PDF_B] </p>"
            + "<p> [PDF_B] 1st Page </p>"
            + "<div style = 'page-break-after: always;' ></div>"
            + "<p> [PDF_B] 2nd Page</p>";
    String htmlC = "<p> [PDF_C] </p>"
            + "<p> [PDF_C] 1st Page </p>"
            + "<div style = 'page-break-after: always;' ></div>"
            + "<p> [PDF_C] 2nd Page</p>";
    String htmlD = "<p> [PDF_D] </p>"
            + "<p> [PDF_D] 1st Page </p>"
            + "<div style = 'page-break-after: always;' ></div>"
            + "<p> [PDF_D] 2nd Page</p>";

    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    PdfDocument merged = PdfDocument.merge(pdfs);

    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
JAVA

使用HTML渲染方法创建了四个PDF文件。 接下来,我们用每个 PDF 填充一个新的List集合,然后将此列表作为单个参数传递给合并方法。 因此,这些PDF被合并成一个PDF文档。

Java 合并 PDF - 图 3:合并多于两个 PDF 文件

两个以上合并的 PDF 文件

结论

本文介绍了如何使用IronPDF for Java合并PDF文件。

我们首先介绍了如何使用Maven安装IronPDF for Java,然后展示了一种使用HTML渲染方法生成PDF的简单方式。 之后,我们学习了如何将两个或多个PDF文件合并成一个PDF文件。

IronPDF表现出色,以快速和准确完成所有操作。 这是在Java中处理PDF文件的绝佳选择。 此外,它基于IronPDF for .NET的功能。

IronEngine for Java支持将HTML/URL/String转换为PDF,支持开放标准文档类型,如HTML、CSS、JS、JPG和PNG。 它生成像素完美的PDF文档,并且采用最新技术构建。

您可以在我们的代码示例页面获取有关如何使用IronPDF for Java的更多信息。

IronPDF 在开发期间是免费的,可用于商业用途需要获得许可。 有关许可证的更多信息,请访问以下链接

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。