如何在Java中合并PDF文件

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

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

IronPDF for Java允许使用PdfDocument.merge()方法合并多个PDF文档为一个文件,支持两文档合并和PDF集合的批量操作。

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

  1. 将IronPDF依赖项添加到您的pom.xml
    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
    </dependency>
    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
    </dependency>
    XML

2.从 HTML 创建 PDF 文档:

PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
JAVA

3.合并 PDF 并保存:

 :title=MergeExample.java
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
merged.saveAs(Paths.get("assets/merged.pdf"));
 :title=MergeExample.java
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

PDF 是一种 便携式文档格式,是一种包含文本和图形的电子文档形式。 在所有操作系统、设备或软件应用程序上显示相同的内容和布局。

Java 是一种高级编程语言,与 PDF 数据一样,也与平台无关。 这样可以方便在不同的计算机系统之间移动。 然而,在 Java 中处理 PDF 源文件和输入流可能具有挑战性。 IronPDF 是一个 Java 库,非常适合轻松操作和处理现有的 PDF 文件。

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

什么是 IronPDF,为什么使用它进行 PDF 合并?

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

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

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

要合并多个 PDF 文件,您需要具备以下条件:

1.任何支持 Java 的集成开发环境(NetBeans、Eclipse、IntelliJ 等)。 我们将在这里使用 IntelliJ 合并多个 PDF。 2.在集成开发环境中运行的 Maven 项目。 3.系统中已安装 Java Development Kit (JDK) 8 或更高版本。 4.对 Java 编程和 Maven 依赖关系管理有基本了解。

如何安装用于 PDF 合并的 IronPDF?

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

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

在每种情况下,以下依赖代码都被添加到pom.xml文件中。有关详细的安装说明和许可证密钥实现,请访问Using License Keys guide

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
XML

合并PDF另一个所需的依赖项是Slf4j-simple。 您也可以使用以下代码将其添加到pom.xml文件中,或者您可以点击Maven网站这里

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
Maven pom.xml 显示用于 PDF 合并项目设置的 IronPDF 和 SLF4J 依赖项

pom.xml 依赖项

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

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JAVA
Icon Quote related to 如何安装用于 PDF 合并的 IronPDF?

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic related to 如何安装用于 PDF 合并的 IronPDF?

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 如何安装用于 PDF 合并的 IronPDF?

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle related to 如何安装用于 PDF 合并的 IronPDF?

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 如何安装用于 PDF 合并的 IronPDF?

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones related to 如何安装用于 PDF 合并的 IronPDF?

David Jones

首席软件工程师,Agorus Build

查看案例研究

如何在 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>";

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

// 将两个PDF文档合并成一个文档
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
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);
JAVA

上述代码创建了两个包含 HTML 标记的字符串。每个变量的 HTML 内容跨越两个页面。 然后,调用IronPDF的renderHtmlAsPdf方法将HTML字符串转换为各自的PDF文档。 有关更多高级 HTML 到 PDF 的转换选项,包括自定义字体和样式,请参阅 HTML 到 PDF 教程

合并PDF文件的方法是PdfDocument.merge。 上述方法用于将两个 PDF 文档合并为一个文档。 结果是一个新的PdfDocument的内容附加到第一个的末尾产生。

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

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

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

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

PDF 查看器显示带缩略图导航面板的合并后 4 页文档

合并多个 PDF 文档

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

合并多于两个PDF文档,我们首先将创建一个包含所需PdfDocument.merge方法。 代码如下

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

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对象
    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);

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

// 保存合并的PDF文档
merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
import java.util.List;
import java.util.ArrayList;

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对象
    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);

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

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

以上使用 HTML 渲染方法创建了四个 PDF 文档。 接下来,我们用每个PDF填充一个新的merge方法。 因此,这些 PDF 文件被合并为一个 PDF 文档。

对于更复杂的合并场景,如合并不同 PDF 中的特定页面或范围,您可以将合并功能与页面操作功能相结合。 在 Split PDFs 指南中了解有关页面级操作的更多信息。

PDF 查看器显示包含 8 页的合并文档,演示使用 Java IronPDF 成功合并多个 PDF 文件

两个以上合并的 PDF 文件

高级合并选项

除了基本的合并功能外,IronPDF 还为高级 PDF 操作提供了其他功能:

  1. 选择性页面合并:在合并之前从源PDF中提取特定页面
  2. 插入位置:在现有文档中于特定位置添加PDF
  3. 保留元数据:在合并操作过程中维护文档属性和元数据
  4. 处理大文件:有效处理大型PDF文件而不出现内存问题

下面是一个选择性页面合并的例子:

// 加载现有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"));
// 加载现有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"));
JAVA

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

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

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

IronPDF 性能良好,能快速准确地执行所有操作。 这是用 Java 处理 PDF 文件的绝佳选择。 此外,它基于 IronPDF for .NET 的功能。

IronEngine for Java 允许使用 HTML、CSS、JS、JPG 和 PNG 等开放标准文档类型将 HTML/URL/字符串转换为 PDF。 它能生成像素完美的 PDF 文档,并采用了最新技术。 关于云平台的部署,请参考我们的 AWS 部署Azure 部署Google Cloud 部署指南。

您可以从我们的代码示例页面获取更多有关如何使用 IronPDF for Java 的信息。 有关其他 PDF 操作功能,请浏览我们有关 压缩 PDF添加水印创建 PDF 表单 的教程。

IronPDF 可免费用于开发,也可授权用于商业用途。 有关许可证的更多信息,请访问以下链接

常见问题解答

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

using 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.6 刚刚发布
Still Scrolling Icon

还在滚动吗?

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