Java 将 PDF 文件合并为单一 PDF

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

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

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

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

IronPDF:Java 库

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

先决条件

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

1.任何支持 Java 的集成开发环境 (Netbeans、Eclipse、IntelliJ 等).我们将在这里使用 IntelliJ 来合并多个 PDF 文件。

2.在集成开发环境中运行的 Maven 项目

安装 IronPDF

要合并 PDF 文件,我们首先需要 IronPDF Java 库。这里有三种下载和安装 IronPDF 的方法。

1.您可以在 Maven 项目的 pom.xml 文件中添加 IronPDF 依赖项,然后使用 maven 命令行工具或集成开发环境直接从中央资源库下载该库。

2.另一种方法是访问 Maven 网站,下载最新版本的 IronPDF。您可以从 这里 直接。

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

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

``xml-mvn-install-ao


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

```xml
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
Java Merge PDFs - Figure 1: pom.xml 依赖项

pom.xml 依赖项

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

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

使用 IronPDF 在 Java 中合并两个 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 Merge PDFs - Figure 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/字符串转换为 PDF,并支持 HTML、CSS、JS、JPG 和 PNG 等开放标准文档类型。它采用最新技术制作像素完美的 PDF 文档。

有关如何使用 IronPDF for Java 的更多信息,请参阅我们的 代码示例 页码

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