使用 GroupDocs.Merger for Java 從 Word 移除頁面

當您在自動化的 Java 工作流程中需要 從 Word 中移除頁面 時,GroupDocs.Merger 提供快速且可靠的 API,為您處理繁重的工作。在本教學中,您將學習如何設定庫、指定要刪除的頁面,並儲存清理後的檔案——同時保持低記憶體使用量與高效能。

快速解答

  • GroupDocs.Merger 的功能是什麼? 它以程式方式編輯、分割、合併以及從 Office 文件中移除頁面,且不需要 Microsoft Office。
  • 一次可以刪除多少頁? 您可以傳入任意長度的陣列;API 會在一次操作中處理它們。
  • 開發時需要授權嗎? 免費試用可用於測試;正式環境需購買商業授權。
  • 支援哪個 Java 版本? JDK 1.8 或更高版本。
  • 它是執行緒安全的嗎? 是的,只要每個執行緒使用自己的 Merger 實例。

「從 Word 中移除頁面」是什麼?

「從 Word 中移除頁面」 指以程式方式刪除 Microsoft Word(.docx)檔案中的一頁或多頁。當您需要剔除機密段落、修剪草稿,或即時產生客製化報告時,這項操作相當常見。典型的使用情境包括在出版前移除草稿章節、提取供客戶審閱的乾淨版本,或透過丟棄敏感頁面來自動化合規流程。

為什麼使用 GroupDocs.Merger for Java?

GroupDocs.Merger 支援 超過 50 種輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下處理 多達 1,000 頁 的文件,與傳統檔案串流方式相比,可將 RAM 使用量降低至 70 %。API 亦保證版面忠實度,移除頁面後仍能保留表格、影像與樣式。

前置條件

  • 已安裝 Java Development Kit (JDK) 1.8+
  • IntelliJ IDEAEclipse 等 IDE。
  • 用於相依管理的 Maven 或 Gradle。
  • 基本的 Java 檔案處理知識。

設定 GroupDocs.Merger for Java

要開始使用 GroupDocs.Merger,請將該函式庫加入專案的相依性中。

Maven 設定

將以下程式碼片段加入您的 pom.xml 檔案:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle 設定

在您的 build.gradle 檔案中加入以下內容:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

直接下載

或者,從 GroupDocs.Merger for Java 版本 下載最新版本。

取得授權步驟

  1. 免費試用 – 無需費用即可開始探索 API。
  2. 臨時授權 – 取得限時金鑰以進行延長測試。
  3. 購買 – 購買完整授權以供正式環境部署。

基本初始化與設定

Merger 類別是所有文件操作的入口點。它封裝了檔案載入、頁面編輯與儲存的邏輯。

Merger 類別是 GroupDocs.Merger 的最高層物件,代表記憶體中的單一文件或文件集合。要初始化 GroupDocs.Merger,請建立 Merger 類別的實例:

Merger merger = new Merger("path/to/your/document.docx");

實作指南

讓我們逐步說明 從 Word 中移除頁面 所需的具體步驟。

如何使用 GroupDocs.Merger for Java 從 Word 文件中移除特定頁面?

使用 new Merger(sourcePath) 載入來源檔案。RemoveOptions 是一個設定物件,用於指定要從文件中刪除的頁碼或頁碼範圍。設定一個列出欲刪除頁碼的 RemoveOptions 物件,呼叫 merger.remove(options),最後以 merger.save(outputPath) 儲存結果。此端對端流程會在一次操作中移除頁面,並寫入不含不需要內容的新檔案。

現在,我們將把流程分解為清晰的編號步驟。

步驟 1:定義檔案路徑

設定彈性的輸入與輸出路徑,以便程式碼在不同環境中重複使用:

String filePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX_10_PAGES";
String outputPath = new File("YOUR_OUTPUT_DIRECTORY", 
    "RemoveDocumentPage-" + Paths.get(filePath).getFileName().toString()).getPath();

步驟 2:指定要移除的頁面

RemoveOptions 告訴 API 哪些頁面需要刪除。此類別是頁面範圍定義與移除設定的容器。

RemoveOptions 類別定義將從文件中移除的頁碼(或範圍)。使用它傳入頁面索引的陣列:

RemoveOptions removeOptions = new RemoveOptions(new int[] { 3, 5 });

此程式碼片段表示您想要移除第 3 頁與第 5 頁。

步驟 3:以來源文件路徑初始化 Merger

建立指向原始 Word 檔案的 Merger 實例。

Merger 類別是載入與操作文件的主要引擎。以來源路徑實例化它,即可為後續操作做好檔案準備:

Merger merger = new Merger(filePath);

步驟 4:移除指定的頁面

根據您先前定義的選項執行移除。

呼叫 merger.remove(removeOptions) 會在記憶體中處理文件,刪除指定頁面,並保持其餘內容完整:

merger.removePages(removeOptions);

步驟 5:儲存已修改的文件

將編輯後的文件寫入指定的輸出位置。

save 方法會將更新後的檔案寫入磁碟,必要時亦可選擇不同格式(例如 PDF)。

merger.save(outputPath);

檔案路徑管理

一致的路徑處理可避免「找不到檔案」錯誤,並簡化跨伺服器的部署。

產生輸出路徑函式

將路徑建立封裝於可重複使用的方法中:

String generateOutputPath(String originalFileName) {
    String baseOutputDir = "YOUR_OUTPUT_DIRECTORY";
    return new File(baseOutputDir, 
        "RemoveDocumentPage-" + Paths.get(originalFileName).getFileName().toString()).getPath();
}

實務應用

  • 自動化文件清理 – 定期在歸檔前剔除草稿頁面。
  • 產生報告 – 排除特定受眾不需要的附錄部分。
  • 自訂範本 – 移除佔位頁面,以產生精簡、客製化的文件。

效能考量

優化效能的技巧

  • 分塊 方式處理大型檔案,以降低記憶體使用量。
  • 每個執行緒重複使用同一個 Merger 實例,以減少物件建立開銷。

資源使用指引

監控 CPU 與 RAM,特別是在處理 數百份文件 的批次作業時;API 會隨頁數線性擴展。

Java 記憶體管理最佳實踐

利用 try‑with‑resources 確保串流關閉,且僅在大型批次作業後必要時才呼叫 System.gc()

結論

您現在擁有一套完整、可投入生產的 從 Word 中移除頁面 解決方案,使用 GroupDocs.Merger for Java。此方法可節省時間、降低手動編輯錯誤,且能擴展以處理龐大的文件庫。

後續步驟

  • 探索 GroupDocs.Merger 提供的其他功能,如 分割合併格式轉換
  • 將程式碼整合至您現有的文件處理管線或微服務中。

常見問題

Q: 我可以一次使用 GroupDocs.Merger 移除多個頁面嗎?
A: 可以,將頁碼陣列傳入 RemoveOptions,API 會在一次操作中刪除它們。

Q: 若文件路徑不正確會發生什麼情況?
A: 函式庫會拋出 FileNotFoundException;請確保路徑為絕對路徑或相對於工作目錄正確解析。

Q: 如何處理處理過程中的例外情況?
A: 將移除邏輯包在 try‑catch 區塊中,並記錄 MergerException 的詳細資訊,以診斷問題而不致使應用程式崩潰。

Q: 移除的頁數有上限嗎?
A: 沒有硬性上限,但處理時間會隨文件大小增加;對於超過 1,000 頁的檔案,建議使用批次處理以維持回應速度。

Q: 我可以將 GroupDocs.Merger 用於其他文件格式嗎?
A: 當然可以——API 除了支援 Word,亦支援 PDF、Excel、PowerPoint 以及多種影像格式。

資源


最後更新: 2026-07-15
測試環境: GroupDocs.Merger for Java 23.10
作者: GroupDocs

相關教學