将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 - 一种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。 您可以从这里下载它 这里 直接地。

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

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

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

合并PDF文件还需要一个依赖项,即Slf4j-simple依赖项。 您也可以使用以下代码将其添加到pom.xml文件中,或者您可以访问Maven网站。 这里[这里].

<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的内容附加到第一个文档的末尾而产生的。

保存合并的多个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 在开发期间是免费的,可用于商业用途需要获得许可。 要获取更多有关许可证的信息,请访问以下内容链接.