如何在 Java 中使用 GroupDocs.Merger 提取特定頁面

從大型文件中提取正確的頁面可以大幅降低儲存成本、加快下游處理速度,並使共享更具針對性。在本教學中,您將學習 如何在 Java 中提取特定頁面,支援 PDF、Word 檔案及其他多種格式,使用 GroupDocs.Merger for Java。我們將逐步說明單頁提取、頁面範圍提取以及自訂內容選取,讓您能立即在自己的專案中套用此技術。

快速回答

  • 主要使用情境是什麼? 從較大的文件中抽取特定頁面或章節以供重複使用或分發。
  • 哪個函式庫負責提取? GroupDocs.Merger for Java。
  • 我需要授權嗎? 測試時可使用臨時授權;正式環境需購買正式授權。
  • 能否從受密碼保護的 PDF 提取頁面? 可以,載入文件時提供密碼即可。
  • API 是否相容於 Java 8 以上? 當然支援 – 它相容於 Java 8 及更新版本。

如何使用 GroupDocs.Merger 在 Java 中提取特定頁面?

Merger 類別是核心元件,用於載入文件並提供提取操作。

使用 new Merger("source.pdf") 載入來源檔案,指定所需頁碼(例如 510-20),呼叫 extract() 並將回傳的串流寫入新檔案。extract() 會回傳一個包含已選取頁面的 InputStream。整個操作在記憶體中完成,對於一般檔案可在毫秒內結束,且不需要任何中間暫存檔。

在 GroupDocs.Merger 中,「如何提取頁面」是什麼意思?

「如何提取頁面」操作指的是從來源文件中選取一或多個頁面,並建立僅包含這些頁面的全新獨立檔案。 此過程完全在記憶體中執行,消除磁碟 I/O 負擔,適用於大批量情境。GroupDocs.Merger 會解析原始結構,複製選取的頁面,並自動保留中繼資料。

為何在 Java 中提取特定頁面很重要?

在 Java 中提取特定頁面可讓您僅保留真正需要的內容,進而帶來實際的商業效益。刪減不必要的頁面可降低儲存成本、加快上傳/下載速度,並減少下游服務處理檔案的時間。

  • 儲存效益: 僅保留所需頁面,減少檔案大小。
  • 加速下游工作流程: 較小的檔案意味著更快的上傳、下載與處理。
  • 精準共享: 僅將相關章節傳送給利害關係人,避免曝光整份文件。
  • 合規性: 在分發前移除敏感頁面,以符合隱私法規。

為何使用 GroupDocs.Merger for Java 來提取頁面?

GroupDocs.Merger for Java 能在大多數文件中於一秒內完成 Java 特定頁面提取,支援 70 多種輸入與輸出格式,且可處理高達 2 GB 的檔案而無需將整個文件載入記憶體。其 API 設計簡潔,讓您只需幾行程式碼即可完成複雜的切割,同時具備企業級的可靠性。

前置條件

  • 已安裝 Java 8 或更新版本。
  • 已將 GroupDocs.Merger for Java 函式庫加入專案(Maven/Gradle)。
  • 有效(或臨時)的 GroupDocs 授權檔案。

可用教學

使用 GroupDocs.Merger for Java 依範圍提取頁面:完整指南

了解如何使用 GroupDocs.Merger for Java 透過頁面範圍有效提取文件中的特定頁面。掌握選擇性資料操作與文件處理技巧。

如何使用 GroupDocs.Merger for Java 從文件中提取特定頁面

了解如何使用 GroupDocs.Merger for Java 從 PDF、Word 文件等多種格式有效提取特定頁面。本指南涵蓋設定、實作與實務案例。

常見提取情境

提取單一頁面

如果您只需要 PDF 的第 5 頁,可直接以單一頁碼呼叫 API。這在產生發票、收據或任何單頁報告時非常有用。

提取頁面範圍

當您需要第 10‑20 頁時,範圍功能可免除逐頁迭代的麻煩。這非常適合從電子書切分章節或從合約中抽取特定段落。

提取自訂內容(例如特定表格或圖片)

GroupDocs.Merger 亦支援依文件結構選取內容,讓您可在不手動計算頁碼的情況下,直接抽取表格、圖片或標題等元素。

步驟指南:在 Java 中提取特定頁面

Merger 類別是 GroupDocs.Merger 的核心元件,負責載入來源文件並提供提取方法。 使用單一實例執行多項操作可減少物件建立開銷,提升吞吐量。

  1. 載入來源文件 – 建立 Merger 實例,指向您欲切割的檔案。
  2. 定義頁碼 – 使用單一頁碼、範圍 (10-20) 或列表 ([2,4,7])。
  3. 呼叫 extract 方法 – API 會回傳新的 InputStream,或直接寫入檔案。
  4. 儲存結果 – 將提取的頁面保存至任意位置(本機磁碟、雲端儲存等)。
  5. 釋放資源 – 關閉 Merger 實例以釋放記憶體,特別是在批次處理大量檔案時。

專業提示: 在批次操作中重複使用單一 Merger 實例,可減少物件建立開銷。

提示與最佳實踐

  • 驗證頁碼 是否在來源文件的總頁數範圍內,以避免 IndexOutOfBoundsException
  • 效能提示: 在批次處理多個檔案時,重複使用單一 Merger 實例。
  • 安全提示: 將授權檔案存放於網站根目錄之外,並於執行時安全載入。

其他資源

常見問題

問:我能從受密碼保護的 PDF 提取頁面嗎?
答:可以。使用 Merger 建構子開啟文件時提供密碼即可。

問:API 是否同時支援從 Word 文件以及 PDF 提取頁面?
答:當然支援。相同的 extract 方法可用於 DOCX、PPTX 以及其他支援的格式。

問:如何處理大型文件而不會耗盡記憶體?
答:使用串流 API(Merger.open(..., LoadOptions)),可將檔案分塊處理。LoadOptions 允許設定串流模式,以在不將整個檔案載入記憶體的情況下處理大型檔案。

問:「java extract pdf pages」與「extract pdf pages java」有何差異?
答:它們只是同一概念的語意變化——皆指使用 Java 程式碼從 PDF 檔案抽取頁面。API 會將它們視為相同。

問:是否有方法在提取頁面時保留原始文件的中繼資料?
答:可以。預設情況下,中繼資料會被複製到新檔案;如有需要,也可透過 DocumentInfo 物件進行修改。DocumentInfo 提供對文件中繼資料的存取與修改功能。

常見問題與解決方案

問題原因解決方案
IndexOutOfBoundsException請求的頁碼超過文件長度在提取前驗證 document.getPageCount()
Empty output file頁範圍格式錯誤(例如 “5‑”)使用包含式範圍語法 (5-5) 或整數列表
License not found授權檔案路徑不正確或遺失License 為套用 GroupDocs 授權的類別。使用 License license = new License(); license.setLicense("path/to/license.lic"); 載入授權
Slow performance on large PDFs整個檔案載入記憶體改用 LoadOptions 的串流模式,並將 useMemoryCache = false 設為 false

最後更新: 2026-08-31
測試環境: GroupDocs.Merger for Java 23.9
作者: GroupDocs

相關教學