將多個PDF文件合併成單一PDF文件

查克尼思·賓
查克尼思·賓
2023年1月22日
已更新 2024年12月2日
分享:
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 是一個用於創建、閱讀和編輯單個或多個 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

首先,我們需要使用 IronPDF Java 库來合併 PDF 文件。 有三種方法可以在任何項目中下載並安裝IronPDF。

  1. 您可以在Maven專案的pom.xml檔案中添加IronPDF依賴項,並使用maven命令行工具或IDE直接從中央倉庫下載庫。

  2. 另一種方法是訪問 Maven 網站並下載最新版本的 IronPDF。 您可以直接從[這裡](https://search.maven.org/artifact/com.ironsoftware/ironpdf" target="_blank" rel="nofollow noreferrer noopener)下載。

  3. 您也可以造訪 IronPDF 網站,通過此連結直接下載。

    在每個案例中,以下的依賴代碼將被添加到 pom.xml 文件中。

    <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>com.ironsoftware</artifactId>
       <version>2025.3.6</version>
    </dependency>
    XML

合併 PDF 需要的另一個依賴是 Slf4j-simple 依賴。 您也可以使用以下代碼將其添加到 pom.xml 文件中,或者您可以點擊[此處](https://search.maven.org/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)訪問 Maven 網站。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
Java 合併 PDF - 圖 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 合併 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 在開發階段免費,可授權用於商業用途。 欲獲取更多關於許可證的信息,請訪問以下鏈接

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。