如何在Java中合并PDF文件

Java 将多个 PDF 文件合并为一个 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java 支持通过 `` 方法将多个 PDF 文档合并为单个文件,既支持两个文档的合并,也支持对 PDF 集合进行批量操作。

快速入门:在 Java 中合并 PDF 文件

  1. 将 IronPDF 依赖项添加到您的 中: xml

    com.ironsoftware ironpdf YOUR_VERSION_HERE
  2. 将 HTML 转换为 PDF 文档: ``java PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA); PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

  3. 合并 PDF 并节省: ``java :title=MergeExample.java PdfDocument merged = PdfDocument.merge(pdfA, pdfB); merged.saveAs(Paths.get("assets/merged.pdf"));

PDF 是一种可移植文档格式Portable Document Format),即包含文本和图形的电子文档形式。 它在所有操作系统、设备或软件应用程序上均显示相同的内容和布局。

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

在本操作指南中,您将学习如何安装 IronPDF Java 库并合并多个 PDF 文档。 无论您是合并报告、整合扫描文档,还是组装多页表单,IronPDF 都提供了一个直观的 API,可在内部处理 PDF 操作的复杂性。

什么是 IronPDF,为何将其用于 PDF 合并?

IronPDF 是一个用于创建、读取和编辑单个或多个 PDF 文档的 Java 库。 它允许用户从零开始创建所有 PDF 文件,包括通过 HTML 渲染实现的内容外观,以及标题和作者姓名等元数据。 该库还支持合并多个 PDF 文件,便于将内容整合到一个 PDF 目标文件路径中。 处理 PDF 文件或 PDF 迭代器对象时,无需任何第三方库、外部框架或平台集成。 此外,它还提供跨平台支持。 该产品专为在 WindowsLinux云平台上运行的 Java 8+、Kotlin 及 Scala 环境设计。

IronPDF 能高效处理 PDF 合并操作,因为它能保持文档完整性、保留格式、处理复杂布局,并高效处理大文件。 该库的合并功能支持多种场景,包括按顺序追加文档、在特定位置插入页面,以及合并具有不同页面尺寸或方向的 PDF 文件。

在 Java 中合并 PDF 文件有哪些先决条件?

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

  1. 任何支持 Java 的集成开发环境(如 NetBeans、Eclipse、IntelliJ 等)。 我们将在此使用 IntelliJ 来合并多个 PDF 文件。
  2. 在集成开发环境(IDE)中运行的 Maven 项目。
  3. 系统已安装 Java 开发工具包 (JDK) 8 版或更高版本。
  4. 具备Java编程和Maven依赖管理的基础知识。

如何安装 IronPDF 进行 PDF 合并?

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

  1. 您可以在 Maven 项目的 `` 文件中添加 IronPDF 依赖项,并使用 Maven 命令行工具或 IDE 直接从中央仓库下载该库。
  2. 另一种方法是访问 Maven 网站并下载 IronPDF 的最新版本。 You can download it from here directly.
  3. 您也可以访问 IronPDF 网站,通过此链接直接下载。

在每种情况下,以下依赖项代码将添加到 `` 文件中。有关详细的安装说明和许可证密钥的实现,请访问《使用许可证密钥指南》。

``xml

com.ironsoftware ironpdf YOUR_VERSION_HERE

合并 PDF 文件还需要一个依赖项:``。 You can also add it to the ``pom.xml`` file using the following code or you can visit the Maven website <a href="https://search.maven.org/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer">here</a>.

``xml
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
Maven pom.xml showing IronPDF and SLF4J dependencies for PDF merging project setup

pom.xml 依赖项

在 `` 文件中,还需添加以下导入语句,以便使用 IronPDF for Java 函数合并 PDF 文件。

``java import com.ironsoftware.IronPdf.PdfDocument; import java.io.IO/Exception; import java.nio.file.Paths;


## 如何在 Java 中使用 IronPDF 合并两个 PDF 文件?

要[合并 PDF](/java/examples/merge-pdfs/) 文件,首先需要创建 PDF 文件,然后将其转换为最终的合并 PDF 文件。以下代码示例将实现这一功能:

``java
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>";

// 使用 HTML 内容创建 PdfDocument 对象
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// 将两个 PDF 文档合并为一个文档
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);

上述代码生成了两个包含 HTML 标记的字符串。每个变量的 HTML 内容横跨两页。 随后,调用 IronPDF 的 `` 方法,将这两个 HTML 字符串分别转换为独立的 PDF 文档。 如需了解更高级的 HTML 转 PDF 转换选项(包括自定义字体和样式),请参阅 HTML 转 PDF 教程

合并 PDF 文件的方法是 。 调用上述方法可将两个 PDF 文档合并为一个。 结果是一个新的,它是通过将第二个 `` 的内容追加到第一个文档末尾生成的。

如何保存合并后的 PDF 文档?

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

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


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

<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/howto/java-merge-pdf/java-merge-pdf-2.webp" target="_blank"><img src="/static-assets/ironpdf-java/howto/java-merge-pdf/java-merge-pdf-2.webp" alt="PDF viewer showing merged 4-page document with thumbnail navigation panel" class="img-responsive add-shadow"></a>
    <p class="content__image-caption">合并多个 PDF 文档</p>
</div>
</div>

### 如何一次性合并两个以上的 PDF 文件?

要[合并两个以上的 PDF](/java/examples/merge-pdfs/) 文档,首先需要创建一个包含所需 `` 对象的集合,然后将该列表作为单个参数传递给 `` 方法。 代码如下:

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

public static void main(String[] args) throws IOException {
    String htmlA = &quot;<p> [PDF_A] </p>&quot;
            + &quot;<p> [PDF_A] 第一页 </p>&quot;
            + &quot;<div style="page-break-after:> always;"></div>&quot;
            + &quot;<p> [PDF_A] 第2页</p>&quot;;
    String htmlB = &quot;<p> [PDF_B] </p>&quot;
            + &quot;<p> [PDF_B] 第一页 </p>&quot;
            + &quot;<div style="page-break-after:> always;"></div>&quot;
            + &quot;<p> [PDF_B] 第二页</p>&quot;;
    String htmlC = &quot;<p> [PDF_C] </p>&quot;
            + &quot;<p> [PDF_C] 第一页 </p>&quot;
            + &quot;<div style="page-break-after:> always;"></div>&quot;
            + &quot;<p> [PDF_C] 第2页</p>&quot;;
    String htmlD = &quot;<p> [PDF_D] </p>&quot;
            + &quot;<p> [PDF_D] 第一页 </p>&quot;
            + &quot;<div style="page-break-after:> always;"></div>&quot;
            + &quot;<p> [PDF_D] 第2页</p>&quot;;

    // 创建 PdfDocument 对象
    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&lt;&gt;();</pdfdocument>
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    // 将所有文档合并为一个 PDF 文件
    PdfDocument merged = PdfDocument.merge(pdfs);

    // 保存合并后的 PDF 文档
    merged.saveAs(Paths.get(&quot;assets/more_than_two_merged.pdf&quot;));
}

上文通过 HTML 渲染方法生成了四份 PDF 文档。 接下来,我们将每个 PDF 文件添加到新的 集合中,然后将该列表作为单个参数传递给 方法。 因此,这些 PDF 文件被合并为一个 PDF 文档。

对于更复杂的合并场景,例如合并来自不同 PDF 文件的特定页面或页面范围,您可以将合并功能与页面操作功能结合使用。 请参阅《拆分 PDF 指南》以了解有关页面级操作的更多信息。

PDF viewer showing merged document with 8 pages, demonstrating successful multi-file PDF merge using Java IronPDF

合并的 PDF 文件超过两个

高级合并选项

除了基本的合并功能外,IronPDF 还提供了用于高级 PDF 操作的额外功能:

  1. 选择性页面合并:在合并前从源 PDF 中提取特定页面
  2. 插入至指定位置:在现有文档的特定位置插入 PDF 文件
  3. 保留元数据:在合并操作过程中保持文档属性和元数据
  4. 处理大文件:高效处理大型 PDF 文件,且不会出现内存问题

以下是选择性页面合并的示例:

``java // 加载现有 PDF 文件 PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf")); PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// 提取特定页面(新PDF中的第2-4页) PdfDocument selectedPages = newPages.extractPages(1, 3); // 0 索引

// 将选定的页面合并到现有 PDF 中 PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages); finalPdf.saveAs(Paths.get("merged_selective.pdf"));



## 使用 IronPDF 合并 PDF 的关键要点是什么?

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

我们首先介绍了如何使用 Maven 安装 IronPDF for Java,随后演示了如何通过 HTML 渲染方法生成 PDF 文件。 随后,我们介绍了如何将两个或多个 PDF 文件合并为一个 PDF 文件。

IronPDF 性能优异,能够快速、准确地执行所有操作。 这是在 Java 中处理 PDF 文件的绝佳选择。 此外,该库基于 IronPDF for .NET 的功能构建。

IronEngine for Java 支持将 HTML/URL/字符串转换为 PDF,并兼容 HTML、CSS、JS、JPG 和 PNG 等开放标准文档类型。 它能生成像素级精准的 PDF 文档,并基于最新技术构建。 如需部署到云平台,请参考我们的 [AWS 部署](https://ironpdf.com/java/get-started/aws/)指南、[Azure 部署](https://ironpdf.com/java/get-started/azure/)指南或 [Google Cloud 部署](https://ironpdf.com/java/get-started/google-cloud/)指南。

您可访问我们的[代码示例](/java/examples/using-html-to-create-a-pdf/)页面,了解有关如何在 Java 中使用 IronPDF for Java 的更多信息。 如需更多 PDF 处理功能,请参阅我们关于[压缩 PDF](https://ironpdf.com/java/how-to/compress-pdf-java-tutorial/)、[添加水印](https://ironpdf.com/java/how-to/custom-watermark/)或[创建 PDF 表单的](https://ironpdf.com/java/how-to/create-forms/)教程。

IronPDF 提供免费开发版,并可获取商业使用许可。 有关许可的更多信息,请访问以下[链接](/java/licensing/)。

常见问题解答

如何用 Java 合并两个 PDF 文件?

使用 IronPDF,您可以使用 PdfDocument.merge() 方法合并两个 PDF 文件。只需创建或加载 PDF 文档,然后调用 PdfDocument.merge(pdfA,pdfB),并使用 saveAs() 方法保存结果即可。

PDF 合并需要什么 Java 版本?

IronPDF 专为 Java 8 及更高版本设计,也支持 Kotlin 和 Scala。它可在 Windows、Linux 和云平台上运行,无需第三方库或外部框架。

我能否一次合并两个以上的 PDF?

是的,IronPDF 支持合并多个 PDF 的批处理操作。您可以创建一个 PDF 对象列表,然后使用合并方法在一次操作中将所有对象合并为一个文档。

如何将 PDF 合并库添加到我的 Maven 项目中?

在您的 pom.xml 文件中将 IronPDF 添加为依赖关系,方法是将 com.ironsoftware groupId 与 ironpdf artifactId 包括在内。这样您就可以使用包括合并在内的所有 PDF 操作功能。

合并 PDF 是否保留原始格式?

是的,IronPDF 在合并 PDF 时能保持文档的完整性。它能保留格式、处理复杂布局并高效处理大型文件,同时保持每个文档的原始外观。

我能否在合并之前从 HTML 创建 PDF?

当然可以!IronPDF 允许您使用 renderHtmlAsPdf() 方法从 HTML 创建 PDF。您可以从 HTML 内容生成多个 PDF,然后使用相同的合并功能将它们合并在一起。

Darrius Serrant
全栈软件工程师(WebOps)

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。

准备开始了吗?
版本: 2026.5 just released
Still Scrolling Icon

还在滚动吗?

想快速获得证据?
运行示例看着你的HTML代码变成PDF文件。