merge pdf java – GroupDocs Merger for Java 完整指南
介紹
在數位時代,效率高的 merge pdf java 作業對於處理數十份報告、合約,或需要從大型 PDF 中抽取特定頁面的企業而言至關重要。GroupDocs.Merger for Java 為您提供一套強大且高效能的 API,能在不將整個檔案載入記憶體的情況下,完成文件的合併、抽取與管理。本教學將帶您逐步了解安裝、核心功能以及最佳實踐技巧,讓您今天就能在 Java 中開始合併 PDF。
您將學到
- 如何在 IDE 中設定 GroupDocs.Merger for Java
- 在 Java 中 merge pdf java 檔案、加入文件以及合併 PDF 的方法
- extract pdf pages java 的技巧與高效儲存合併後文件的方式
- Java 文件處理與效能調校的驗證最佳實踐
在進入程式碼前,先確認您已具備所有必要條件。
快速解答
- 合併 PDF 的主要類別是什麼?
Merger– 它代表一個 PDF 文件,提供所有合併/抽取的方法。 - 我可以一次加入多個文件嗎? 可以,使用
join或PageBuilder來串接任意數量的檔案。 - 如何抽取特定頁面? 建立
PageBuilder,加入欲抽取的頁面,然後套用並儲存。 - 支援哪些檔案格式? 超過 30 種輸入與輸出格式,包括 PDF、DOCX、XLSX、PPTX 以及各類影像。
- 商業使用需要授權嗎? 商業使用必須擁有有效的 GroupDocs.Merger 授權;亦提供免費試用供評估。
什麼是 merge pdf java?
merge pdf java 指的是使用 Java 程式碼將兩個或多個 PDF 檔案合併為單一 PDF。透過 GroupDocs.Merger,此操作在記憶體中完成,保留版面配置、註解與中繼資料,且支援最高 2 GB 的檔案。此方式讓開發者能自動化報告彙整、合約組合等文件導向工作流程,免除手動操作。
為何使用 GroupDocs.Merger for Java?
GroupDocs.Merger 支援 30+ 種文件格式,且可在不將整個檔案載入 RAM 的情況下處理 數百頁的 PDF,記憶體使用量最高可減少 70 %。其流暢的 API 允許鏈式呼叫,使程式碼簡潔且易於維護,極適合企業級 Java 文件處理管線。
前置條件
- Java Development Kit (JDK) 8 或更新版本
- IDE – IntelliJ IDEA、Eclipse 或任何支援 Java 的編輯器
- 建置工具 – Maven 或 Gradle 用於相依管理
必要的函式庫與版本
在專案中加入 GroupDocs.Merger for Java,可透過 Maven、Gradle 或直接下載:
Maven
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>latest-version</version>
</dependency>
Gradle
implementation 'com.groupdocs:groupdocs-merger:latest-version'
直接下載
下載最新版本請前往 GroupDocs.Merger for Java 下載頁面。
取得授權方式如下:
- 申請 免費試用 以測試功能。
- 取得 臨時授權 進行延長評估。
- 若已準備好投入生產,可購買正式授權。
設定 GroupDocs.Merger for Java
安裝與取得授權
先在專案中加入 GroupDocs.Merger 的相依。可依上述 Maven 或 Gradle 方式加入,或直接從 GroupDocs 官方網站 下載 JAR 檔。
接下來,我們初始化並設定 merger:
import com.groupdocs.merger.Merger;
public class InitializeMerger {
public static void main(String[] args) throws Exception {
// Define input file path
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
// Initialize Merger with source document
Merger merger = new Merger(filePath);
System.out.println("GroupDocs.Merger initialized successfully!");
}
}
上述程式碼示範了如何以樣本 PDF 的路徑建立 Merger 實例。初始化 Merger 物件是任何 java document processing 工作的第一步。
實作指南
功能 1:初始化 Merger
概述
此功能說明如何在 Java 專案中設定 GroupDocs Merger 函式庫,為後續的合併或抽取頁面等操作做好準備。
Merger 類別代表一個 PDF 文件,提供合併、抽取與儲存頁面的相關方法。
步驟實作
- 定義輸入路徑 – 設定文件目錄與輸出路徑。
- 初始化 Merger 物件 – 使用來源文件路徑建立
Merger物件。
import com.groupdocs.merger.Merger;
import java.nio.file.Paths;
import java.io.File;
public class FeatureInitializeMerger {
public static void run() throws Exception {
// Define input and output paths using placeholders
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String filePathOut = new File("YOUR_OUTPUT_DIRECTORY", Paths.get(filePath).getFileName().toString()).getPath();
// Initialize the Merger object with the source document
Merger merger = new Merger(filePath);
}
}
功能 2:合併多個文件
概述
此功能讓您 merge pdf java 多個檔案,將多個 PDF 合併為單一完整文件。
步驟實作
- 初始化 Merger – 先以主要文件建立 Merger。
- 加入其他文件 – 使用
join方法依需求順序加入更多 PDF。
import com.groupdocs.merger.Merger;
public class FeatureJoinDocuments {
public static void run() throws Exception {
// Define input and output paths using placeholders
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String filePathOut = new File("YOUR_OUTPUT_DIRECTORY", Paths.get(filePath).getFileName().toString()).getPath();
// Initialize the Merger object with the source document
Merger merger = new Merger(filePath);
// Join another PDF file into the existing one
String filePath2 = "YOUR_DOCUMENT_DIRECTORY/sample2.pdf";
merger.join(filePath2);
}
}
功能 3:使用 PageBuilder 抽取頁面
概述
抽取功能利用 PageBuilder 來選取與操作 PDF 中的特定頁面,實現精確的 extract pdf pages java 作業。
PageBuilder 為輔助類別,可在套用變更前選取、重新排序或移除頁面。
步驟實作
- 初始化 Merger – 設定初始文件。
- 建立 PageBuilder 實例 – 用於頁面操作。
- 加入特定頁面 – 選取欲抽取或修改的頁碼。
import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.builders.PageBuilder;
public class FeatureExtractPages {
public static void run() throws Exception {
// Define input and output paths using placeholders
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String filePathOut = new File("YOUR_OUTPUT_DIRECTORY", Paths.get(filePath).getFileName().toString()).getPath();
// Initialize the Merger object with the source document
Merger merger = new Merger(filePath);
// Create a PageBuilder instance for manipulating pages
PageBuilder pageBuilder = merger.createPageBuilder();
// Add specific pages from documents to the PageBuilder
pageBuilder.addPage(pageBuilder.getDocuments().get(1).getPages()[0]);
pageBuilder.addPage(pageBuilder.getDocuments().get(0).getPages()[1]);
pageBuilder.addPage(pageBuilder.getDocuments().get(1).getPages()[1]);
}
}
功能 4:套用 PageBuilder 並儲存結果
概述
本節示範如何套用 PageBuilder 所做的變更,並 save the merged document。
直接答案
建立 PageBuilder,加入所需頁面,呼叫 applyPageBuilder,最後以 save 指定輸出路徑,即可在幾行 Java 程式碼內完成合併與儲存。
步驟實作
- 初始化 Merger – 從來源文件開始。
- 使用 PageBuilder 操作頁面 – 加入欲修改的頁面。
- 套用變更並儲存 – 使用
applyPageBuilder實作變更,然後save新檔案。
import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.builders.PageBuilder;
public class FeatureApplyPageBuilder {
public static void run() throws Exception {
// Define input and output paths using placeholders
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String filePathOut = new File("YOUR_OUTPUT_DIRECTORY", Paths.get(filePath).getFileName().toString()).getPath();
// Initialize the Merger object with the source document
Merger merger = new Merger(filePath);
// Create a PageBuilder instance for manipulating pages
PageBuilder pageBuilder = merger.createPageBuilder();
// Add specific pages from documents to the PageBuilder (Example steps)
pageBuilder.addPage(pageBuilder.getDocuments().get(1).getPages()[0]);
// Apply the PageBuilder configuration and save the result
merger.applyPageBuilder(pageBuilder);
merger.save(filePathOut);
}
}
常見問題與解決方案
- 大型 PDF 記憶體錯誤 – 在載入文件前設定
Merger.setLoadOptions(LoadOptions.streaming())以啟用串流模式。 - 頁面順序錯亂 – 檢查
join呼叫的順序或PageBuilder.addPage的排列。 - 找不到授權 – 確認在任何 Merger 操作前,已正確傳入
License.setLicense("path/to/license.xml")的授權檔案路徑。 - 進度監控 – 實作
ProgressListener並將其附加至Merger實例,即可接收即時進度回呼。
License 類別用於載入 GroupDocs 授權檔,以啟用完整功能。ProgressListener 介面讓您取得合併作業的即時進度回呼。
常見問答
Q: 我可以合併受密碼保護的 PDF 嗎?
A: 可以,在建立 Merger 物件時提供密碼,API 會安全地解密後再進行合併。
Q: GroupDocs.Merger 支援 DOCX 轉 PDF 的轉換嗎?
A: 完全支援——此函式庫能在合併工作流程中將 DOCX、XLSX、PPTX 以及其他多種格式轉換為 PDF。
Q: 我能處理的最大檔案大小是多少?
A: 透過其串流架構,API 可處理最高 2 GB 的檔案,而不需要完整載入記憶體。
Q: 如何在合併的 PDF 中加入浮水印?
A: 在呼叫 save 前使用 merger.addWatermark(watermarkOptions),即可在每一頁嵌入浮水印。
Q: 有辦法監控合併進度嗎?
A: 實作 ProgressListener 並附加至 Merger 實例,即可取得即時的合併進度回呼。
結論
您現在已掌握完整、可直接投入生產環境的 merge pdf java 教學,涵蓋檔案合併、頁面抽取與儲存等操作。將這些模式套用於報告自動生成、合約組合或任何需要動態 PDF 操作的工作流程。深入探索 API,還可利用加密、數位簽章與進階頁面編輯等功能。
Last Updated: 2026-05-17
Tested With: GroupDocs.Merger for Java 23.9 (latest stable)
Author: GroupDocs