C#でIronPDFを使用して複数ページの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を1つのドキュメントに分割

複数ページのPDFを分割するにはどうすればよいですか?

なぜPDFの分割にCopyPageメソッドを使うのですか

IronPdfがあれば、複数ページのドキュメントを単一ページのドキュメントファイルに分割することができます。 複数ページのPDFを分割するというアイデアは、CopyPageまたはCopyPagesメソッドを使用して単一または複数のページをコピーすることを含みます。 これらのメソッドは、指定されたページのみを含む新しい PdfDocument<//code> インスタンスを作成し、元のドキュメントのすべての書式設定、注釈、インタラクティブ要素を保持します。

CopyPageメソッドはIronPDFのPDF分割操作の要です。 複雑な操作を必要としたり、データが失われる危険性がある他のアプローチとは異なり、CopyPageは、指定されたページの完全な複製を作成し、すべての視覚的要素、テキスト書式、埋め込みリソースを維持します。 このため、法的文書、請求書、アーカイブ記録など、文書の完全性が重要なシナリオに最適です。

各ページを分割する手順は何ですか?

:path=/static-assets/pdf/content-code-examples/how-to/split-multipage-pdf-split-pdf.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("multiPage.pdf");

for (int idx = 0; idx < pdf.PageCount; idx++)
{
    // Create new document for each page
    PdfDocument outputDocument = pdf.CopyPage(idx);

    string fileName = @$"multiPage - Page {idx + 1}_tempfile.pdf";

    // Export to new file
    outputDocument.SaveAs(fileName);
}
$vbLabelText   $csharpLabel

より高度なシナリオの場合、エラー処理を実装し、出力形式をカスタマイズすることもできます。 以下は、バリデーションとカスタムネーミングを含む包括的な例です:

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;
        }
    }
}
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;
        }
    }
}
$vbLabelText   $csharpLabel

ページ反復はどのように機能しますか?

上のコードを見ると、forループを使って現在のPDF文書のページを繰り返し処理し、CopyPageメソッドを使って各ページを新しいPdfDocumentオブジェクトにコピーしていることがわかります。 最終的に、各ページは順番に名前を付けられた新しいドキュメントとしてエクスポートされます。 IronPDFは複雑なPDF構造の操作をすべて内部で処理するため、反復プロセスは簡単で効率的です。

PageCountプロパティは、ドキュメント内の総ページ数を提供し、index-out-of-bounds例外のリスクを負うことなく安全に反復処理できるようにします。 各反復は完全に独立したPDFドキュメントを作成します。つまり、元のドキュメントや他の分割ページに影響を与えることなく、各ページを個別に処理、修正、配布することができます。 このアプローチは、特定のページを抜き出したり、ページを並行して処理する必要があるような大規模なドキュメントを扱う場合に特に有益です。

CopyPageの代わりにCopyPagesを使うべきときは? `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 メソッドは、カスタム コンパイルの作成、特定のセクションの抽出、ドキュメント コンテンツの再編成に最適です。 また、1回の呼び出しで処理を実行するため、複数のページが必要なときに`CopyPage`を何度も呼び出すよりも効率的です。 包括的なPDF操作機能のために、分割と[マージ操作](https://ironpdf.com/how-to/merge-or-split-pdfs/)を組み合わせて、洗練されたドキュメントワークフローを作成することができます。 次に何ができるのかを見てみましょうか? こちらのチュートリアルページをご覧ください:[PDFを整理する](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はPDFドキュメントから個々のページを抽出するCopyPageメソッドを提供します。このメソッドは、指定されたページの完全な複製を新しいPdfDocumentインスタンスとして作成し、元のドキュメントからのすべての書式、注釈、インタラクティブ要素を保持します。

PDFを分割しても、元の書式や品質は維持されますか?

IronPDFのCopyPageメソッドを使ってPDFを分割した場合、すべてのビジュアル要素、テキストフォーマット、埋め込みリソース、インタラクティブ要素は保持されます。IronPDFのChromeレンダリングエンジンは分割されたページが元の書式、画像、テキストの品質を維持することを保証します。

一度に1ページではなく、複数のページを一度に分割することはできますか?

はい、IronPDFは単一ページ用のCopyPageと複数ページ用のCopyPagesの両方を提供しています。CopyPagesメソッドにより、一度に複数のページを新しいPdfDocumentインスタンスに抽出することができます。

PDF文書を分割する一般的な使用例とは?

IronPdfの分割機能は、個々のページを異なる受信者に配布したり、ページを別々に処理したり、単一ページの入力を必要とする文書管理システムと統合したり、文書の整合性が重要な法的文書や請求書、アーカイブされた記録を扱ったりするのに理想的です。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース