如何使用 IronPDF 在 C# 中分割多頁 PDF | IronPDF

將 C# 中的多頁 PDF 拆分成單頁文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

<!--說明:說明程式碼概念的圖表或截圖 -->

IronPDF 可讓您使用 CopyPage 方法將多頁 PDF 文件分割為單獨的單頁 PDF。 此方法可讓開發人員迭代每個頁面,並只需幾行程式碼即可將其儲存為獨立檔案。 無論您是處理掃描文件、報告或任何多頁 PDF,IronPDF 都能為文件管理和處理任務提供有效的解決方案。

當您需要將個別頁面分發給不同的收件者、分開處理頁面,或與需要單頁輸入的文件管理系統整合時,PDF 分割功能尤其有用。 IronPDF 強大的Chrome 渲染引擎可確保您的分割頁面保持原始格式、圖像和文字品質。

快速入門:將多頁 PDF 拆分為單頁

使用 IronPDF 快速上手,將多頁 PDF 拆分成單頁文件。 利用CopyPage方法,您可以有效率地遍歷 PDF 的每一頁,並將它們儲存為單獨的檔案。 對於尋求快速可靠的解決方案來管理 PDF 文件的開發人員而言,這個簡化的流程是最完美的選擇。 首先,確保您已透過 NuGet 安裝 IronPDF

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    var pdf = new IronPdf.PdfDocument("multipage.pdf");
    for (int i = 0; i < pdf.PageCount; i++) {
      var singlePagePdf = pdf.CopyPage(i);
      singlePagePdf.SaveAs($"page_{i + 1}.pdf");
    }
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer

分割 PDF 文件

  • 安装 IronPDF 库
  • 將多頁 PDF 拆分成單一文件

如何分割多頁 PDF? <!--說明:說明程式碼概念的圖表或截圖 -->

為什麼要使用 CopyPage 方法來分割 PDF? 現在有了 IronPDF,您可以將多頁文件分割成單頁文件檔案。 分割多頁 PDF 的構想涉及使用 `CopyPage` 或 `CopyPages` 方法複製單一或多頁。 這些方法會建立新的 `PdfDocument` 實體,其中只包含指定的頁面,並保留原始文件中的所有格式、註解和互動元素。 `CopyPage` 方法是 IronPDF 中 PDF 分割操作的基石。 `CopyPage` 與其他可能需要複雜操作或有資料遺失風險的方法不同,它會建立指定頁面的精確複本,並維持所有視覺元素、文字格式和內嵌資源。 這使得它非常適用於對文件完整性要求極高的場景,例如法律文件、發票或歸檔記錄。

分割每個頁面的步驟是什麼? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/split-multipage-pdf-split-pdf.cs ``` 對於更進階的情況,您可能需要實作錯誤處理並自訂輸出格式。 以下是一個包含驗證和自訂命名的綜合範例: ```csharp using IronPdf; using System; using System.IO; public class PdfSplitter { public static void SplitPdfWithValidation(string inputPath, string outputDirectory) { try { // Validate input file exists if (!File.Exists(inputPath)) { throw new FileNotFoundException("Input PDF file not found.", inputPath); } // Create output directory if it doesn't exist Directory.CreateDirectory(outputDirectory); // Load the PDF document PdfDocument pdf = PdfDocument.FromFile(inputPath); // Get the file name without extension for naming split files string baseFileName = Path.GetFileNameWithoutExtension(inputPath); Console.WriteLine($"Splitting {pdf.PageCount} pages from {baseFileName}..."); for (int idx = 0; idx < pdf.PageCount; idx++) { // Copy individual page PdfDocument singlePagePdf = pdf.CopyPage(idx); // Create descriptive filename with zero-padding for proper sorting string pageNumber = (idx + 1).ToString().PadLeft(3, '0'); string outputPath = Path.Combine(outputDirectory, $"{baseFileName}_Page_{pageNumber}.pdf"); // Save the single page PDF singlePagePdf.SaveAs(outputPath); Console.WriteLine($"Created: {outputPath}"); } Console.WriteLine("PDF splitting completed successfully!"); } catch (Exception ex) { Console.WriteLine($"Error splitting PDF: {ex.Message}"); throw; } } } ```

頁面迭代如何運作? 觀看上面的程式碼,您可以發現它使用 `for` 循環來遍歷目前 PDF 文件的頁面,然後再使用 `CopyPage` 方法將每頁複製到新的 **PdfDocument** 物件中。 最後,每一頁都會依序匯出為新文件。 由於 IronPDF 會在內部處理所有複雜的 PDF 結構操作,因此迭代過程直接而有效率。 `PageCount` 屬性提供了文件的總頁數,讓您可以安全地進行迭代,而不會有索引出界異常的風險。 每次迭代都會建立一個完全獨立的 PDF 文件,這表示您可以單獨處理、修改或散佈每個頁面,而不會影響原始文件或其他分割頁面。 在處理需要 [ 抽取特定頁面](https://ironpdf.com/how-to/add-copy-delete-pages-pdf/)或平行處理頁面的大型文件時,這種方法尤其有利。

何時應該使用 CopyPages 而非 CopyPage? 雖然 `CopyPage` 非常適合單頁抽取,但 IronPDF 也提供 `CopyPages` 方法,適用於需要抽取多個連續或非連續頁面的情境。 當您想要以特定頁面範圍而非個別頁面來建立 PDF 文件時,此功能尤其有用: ```csharp using IronPdf; using System.Collections.Generic; public class MultiPageExtraction { public static void ExtractPageRanges(string inputPath) { PdfDocument pdf = PdfDocument.FromFile(inputPath); // Extract pages 1-5 (0-indexed, so pages 0-4) List firstChapter = new List { 0, 1, 2, 3, 4 }; PdfDocument chapterOne = pdf.CopyPages(firstChapter); chapterOne.SaveAs("Chapter_1.pdf"); // Extract every other page (odd pages) List oddPages = new List(); for (int i = 0; i < pdf.PageCount; i += 2) { oddPages.Add(i); } PdfDocument oddPagesDoc = pdf.CopyPages(oddPages); oddPagesDoc.SaveAs("Odd_Pages.pdf"); // Extract specific non-consecutive pages List selectedPages = new List { 0, 4, 9, 14 }; // Pages 1, 5, 10, 15 PdfDocument customSelection = pdf.CopyPages(selectedPages); customSelection.SaveAs("Selected_Pages.pdf"); } } ``` `CopyPages` 方法是建立自訂彙編、抽取特定部分或重新組織文件內容的理想選擇。 當您需要多個頁面時,它也比多次呼叫 `CopyPage` 更有效率,因為它只需一次呼叫即可執行操作。 對於全面的 PDF 操作功能,您可以結合分割與 [ 彙整操作](https://ironpdf.com/how-to/merge-or-split-pdfs/),以建立複雜的文件工作流程。 <!--說明:之前和之後的比較,顯示將一個多頁 PDF 分割成個別檔案 --> 準備好看看您還能做些什麼嗎? 在此查看我們的教學頁面:[Organize PDFs](https://ironpdf.com/tutorials/organize-pdfs-complete-tutorial/)。 您也可以探索如何[在分割的 PDF 中加入頁碼](https://ironpdf.com/how-to/page-numbers/),或瞭解[管理 PDF 元資料](https://ironpdf.com/how-to/metadata/),以強化您的文件管理工作流程。 如需更多進階的 PDF 操作技術,請造訪我們全面的 [API 參考資料](https://ironpdf.com/object-reference/api/)。

常見問題解答

如何在 C# 中將多頁 PDF 拆分成單獨的單頁 PDF?

您可以使用 IronPDF 的 CopyPage 方法分割多頁 PDF。只需載入 PDF 文件,使用 for 環路遍歷每頁,然後將每頁儲存為單獨的檔案。IronPDF 只需幾行代碼就能讓這個過程簡單直接,同時保持所有原始格式和品質。

我應該使用何種方法從 PDF 中提取單個頁面?

IronPDF 提供 CopyPage 方法,用於從 PDF 文件中提取單個頁面。此方法創建一個完全複製的指定頁面作為一個新的PdfDocument實例,保留原始文件中的所有格式、註釋和互動元素。

分割 PDF 是否能保持原始格式和品質?

是的,當您使用 IronPDF 的 CopyPage 方法分割 PDF 時,所有視覺元素、文字格式、內嵌資源和互動元素都會被保留。IronPdf 的 Chrome 渲染引擎可確保您分割的頁面保持原有的格式、圖像和文本質量。

我可以一次分割多個頁面,而不是一次分割一個頁面嗎?

是的,IronPDF 提供了用於單頁的 CopyPage 和用於多頁的 CopyPages 兩種方法。CopyPages方法允許您一次提取多個頁面到一個新的PdfDocument實例中,為各種分割場景提供了靈活性。

分割 PDF 文件的常見用例有哪些?

IronPDF 的分割功能非常適合將單獨的頁面分發給不同的收件人、分開處理頁面、與需要單頁輸入的文件管理系統整合,以及處理對文件完整性要求極高的法律文件、發票或歸檔記錄。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布