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 Library 非常適合輕鬆操縱和處理現有的 PDF 文件。

在這個操作指南中,您將學習如何安裝 IronPDF Java 庫並合併多個 PDF 文檔。

IronPDF: Java 圖書館

IronPDF 是一個用於創建、閱讀和編輯單個或多個 PDF 文件的 Java 圖書館。它允許用戶從頭開始創建所有 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 檔案中。


為合併 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>
XML
Java Merge PDFs - Figure 1: pom.xml 依賴項

pom.xml 依賴項

在 main.java 檔案中,還需要以下的 import 語句,以使用 IronPDF 函數合併 PDF 文件。

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的內容附加到第一個的末尾而生成。

儲存合併多個 PDF 檔案

要將合併的 PDF 文件儲存到您所需的目標路徑,只需使用以下一行程式碼:

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

合併的 PDF 檔案輸出如下所示:

Java Merge PDFs - Figure 2: 合併多個 PDF 文件

合併多個 PDF 文件

合併兩個以上的 PDF 檔案

To 合併多於兩個 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 免費用於開發,可以獲得商業使用的授權。要獲取有關授權的更多信息,請訪問以下 連結.