使用 GroupDocs.Merger for .NET 提取特定 PDF 頁面

從多頁文件中提取特定 PDF 頁面是常見需求,當您只需要分享相關部分、減少檔案大小或自動化審閱工作流程時。於本教學中,您將了解 GroupDocs.Merger for .NET 如何讓您抽取精確頁面——無論來源是 PDF、Word 檔案或任何 30 多種支援格式——採用清晰的程式化方式。

快速解答

  • GroupDocs.Merger 能從 Word 文件中抽取頁面嗎? 是的,它支援 DOCX、DOC 以及其他 Office 格式。
  • 是否有檔案大小限制? 此函式庫可處理最高 2 GB 的檔案,且不需將整個文件載入記憶體。
  • 開發時需要授權嗎? 提供免費試用;正式環境需購買授權。
  • 它能在 .NET 6 上運作嗎? 當然可以——GroupDocs.Merger 支援 .NET Framework 4.5 以上、.NET Core 3.1 以上,以及 .NET 5/6 以上。
  • 一次可以抽取多少頁? 您可以在一次呼叫中指定單頁、頁範圍,或奇偶頁選擇。

GroupDocs.Merger for .NET 是什麼?

GroupDocs.Merger for .NET 是一套伺服器端函式庫,可在超過 30 種文件格式間執行合併、分割、旋轉與抽取頁面,且不需安裝 Microsoft Office 或 Adobe Acrobat。它以串流方式處理檔案,即使是數百頁的 PDF 也能保持低記憶體使用量。

為什麼要提取特定 PDF 頁面?

提取特定 PDF 頁面可減少頻寬使用、加快協作速度,並確保機密段落不被洩漏。具體效益:企業表示,僅分享所需頁面而非整份檔案,可使文件審閱週期提升最高 40 %。此外,較小的檔案可加快網頁檢視器的載入時間,並降低儲存成本。

前置條件

  • Visual Studio 2022 或任何相容 .NET 的 IDE。
  • .NET 6 SDK(或 .NET Framework 4.7.2 以上)。
  • 具備 NuGet 來源以安裝 GroupDocs.Merger。
  • 基本的 C# 知識與檔案系統權限。

如何逐步提取特定 PDF 頁面

載入來源檔案、定義所需頁面,並將結果儲存——全部只需幾行程式碼。

直接說明

Merger 是負責協調文件操作的核心類別。ExtractOptions 用於指定要抽取的頁面以及處理方式。Extract 依據提供的選項執行抽取,並將結果寫入新檔案。若要提取特定 PDF 頁面,請以來源檔案建立 Merger 實例,設定一個定義頁面範圍與模式(偶數、奇數或自訂)的 ExtractOptions 物件,然後呼叫 Extract 並儲存輸出檔案。此整個工作流程在標準伺服器上處理一般 100 頁 PDF 時,耗時不足一秒。

步驟 1:安裝 NuGet 套件

在專案資料夾中開啟終端機,執行以下其中一個指令:

.NET CLI

dotnet add package GroupDocs.Merger

Package Manager Console

Install-Package GroupDocs.Merger

NuGet Package Manager UI – 使用 UI 搜尋 “GroupDocs.Merger” 並點擊 Install。

步驟 2:定義檔案路徑

為要建立的輸入與輸出文件指定絕對或相對路徑。

定義錨點
ExtractOptions 是告訴函式庫抽取哪些頁面以及如何處理的設定物件。

string filePath = "YOUR_DOCUMENT_DIRECTORY\\Sample.docx"; // Input document path
string filePathOut = Path.Combine("YOUR_OUTPUT_DIRECTORY", "ExtractedPages.docx"); // Output document path

步驟 3:設定抽取選項

建立 ExtractOptions 實例,設定 StartPageNumber、EndPageNumber,並選擇 RangeMode(例如 Even)。此設定告訴引擎在指定範圍內每隔一頁抽取一次。

定義錨點
Merger 是負責協調所有文件操作(包括抽取、合併與頁面旋轉)的核心類別。

ExtractOptions extractOptions = new ExtractOptions(1, 3, RangeMode.EvenPages);

步驟 4:抽取並儲存

在 Merger 實例上呼叫 Extract 方法,傳入選項與輸出路徑。函式庫會在不將整個來源載入記憶體的情況下寫入新檔案,這對大型文件尤為理想。

using (Merger merger = new Merger(filePath))
{
    merger.ExtractPages(extractOptions);
    merger.Save(filePathOut); // Save the result to a specified path
}

常見問題與解決方案

  • 未抽取頁面 – 再次確認 StartPageNumber 與 EndPageNumber 為 1 起始,且來源檔案確實包含所請求的範圍。
  • 大型檔案發生記憶體不足錯誤 – 確認已使用串流 API(預設),且程序擁有足夠的虛擬記憶體;可考慮在函式庫設定中提升 maxMemory。
  • 受密碼保護的檔案 – LoadOptions 允許在載入受保護文件時設定密碼等參數。請在建立 Merger 實例前透過 LoadOptions 提供密碼。

實務應用

  1. 文件審閱 – 只抽取審閱者需要的條款,其他部分保持機密。
  2. 教育 – 透過抽取講義投影片或教科書章節,產生自訂講義。
  3. 法律工作流程 – 為法院提交隔離展示頁面,避免曝光整個案件檔案。

效能考量

GroupDocs.Merger 以串流方式處理文件,能支援最高 2 GB 的檔案,同時將峰值記憶體維持在 150 MB 以下。為取得最佳效能,請將 Merger 物件包在 using 陳述式中以確保釋放,且在同一來源抽取多個範圍時重複使用同一實例。

結論

現在您已具備完整且可投入生產的使用 GroupDocs.Merger for .NET 提取特定 PDF 頁面的方法。透過設定 ExtractOptions 並利用函式庫的串流引擎,您可以自動化任何支援格式的文件切割,提升協作速度,並將敏感資訊妥善控制。

下一步 – 探索函式庫的其他功能,如合併文件、旋轉頁面與套用浮水印,以建立全自動化的文件流程。

常見問答

Q: 可以從哪些檔案格式抽取頁面?
A: GroupDocs.Merger 支援超過 30 種格式,包括 PDF、DOCX、XLSX、PPTX、HTML,以及 PNG、JPEG 等影像類型。

Q: 能抽取非連續頁面(例如 1、3、5)嗎?
A: 可以,您可以將單獨的頁碼或多個範圍傳入 ExtractOptions。

Q: 如何處理受密碼保護的 PDF?
A: 在建立 Merger 實例時透過 LoadOptions 提供密碼;之後抽取將正常進行。

Q: 一次呼叫可抽取的頁數有上限嗎?
A: 沒有硬性上限;唯一實際限制是可用記憶體,因為使用串流方式記憶體佔用仍然很低。

Q: 函式庫是否需要安裝 Microsoft Office 或 Adobe Acrobat?
A: 不需要任何外部應用程式;所有處理皆在 .NET 執行環境內完成。

資源


最後更新: 2026-09-26
測試環境: GroupDocs.Merger 23.11 for .NET
作者: GroupDocs

相關教學