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 以上をサポートしています。
  • 一度に抽出できるページ数はどれくらいですか? 1 ページ、ページ範囲、または偶数・奇数の選択を 1 回の呼び出しで指定できます。

GroupDocs.Merger for .NET とは?

GroupDocs.Merger for .NET は、Microsoft Office や Adobe Acrobat を必要とせずに、30 以上の文書形式からのマージ、分割、回転、ページ抽出を可能にするサーバーサイド ライブラリです。ファイルはストリーミング方式で処理されるため、数百ページに及ぶ PDF でもメモリ使用量を低く抑えることができます。

なぜ特定ページの PDF を抽出するのか?

特定ページの PDF を抽出することで、帯域幅が削減され、コラボレーションが高速化し、機密部分が隠されたままになります。定量的なメリットとして、必要なページだけを共有することで、ドキュメントレビューサイクルが最大 40 % 速くなると報告する組織があります。また、ファイルが小さくなることでウェブビューアの読み込み時間が短縮され、ストレージコストも削減されます。

前提条件

  • Visual Studio 2022 または任意の .NET 対応 IDE。
  • .NET 6 SDK(または .NET Framework 4.7.2 以上)。
  • GroupDocs.Merger をインストールするための NuGet フィードへのアクセス。
  • 基本的な C# の知識とファイルシステムの権限。

特定ページの PDF を抽出する手順

ソース ファイルを読み込み、必要なページを定義し、結果を保存します—すべて数行のコードで実行できます。

直接的な回答

Merger はドキュメント操作を統括するコア クラスです。ExtractOptions は抽出するページとその処理方法を指定します。Extract は提供されたオプションに基づいて抽出を実行し、結果を新しいファイルに書き込みます。特定ページの PDF を抽出するには、ソース ファイルで Merger インスタンスを作成し、ページ範囲とモード(偶数、奇数、またはカスタム)を定義する ExtractOptions オブジェクトを構成してから Extract を呼び出し、出力ファイルを保存します。この全体のワークフローは、標準サーバー上で典型的な 100 ページの PDF でも 1 秒未満で完了します。

手順 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. Document review – レビュー担当者が必要とする条項だけを抽出し、残りは機密に保ちます。
  2. Education – 講義スライドや教科書の章を抽出してカスタム配布資料を作成します。
  3. Legal workflows – 訴訟提出用に展示ページを分離し、全体のケースファイルを公開しないようにします。

パフォーマンス上の考慮点

GroupDocs.Merger はストリーミング方式でドキュメントを処理するため、最大 2 GB のファイルを扱いながらピークメモリを 150 MB 未満に抑えることができます。最適な結果を得るには、Merger オブジェクトを using ステートメントでラップして確実に破棄し、同一ソースから複数の範囲を抽出する際は単一インスタンスを再利用してください。

結論

これで、GroupDocs.Merger for .NET を使用して PDF の特定ページを抽出する完全な本番対応の方法が手に入りました。ExtractOptions を設定し、ライブラリのストリーミングエンジンを活用することで、サポートされているすべての形式でドキュメントの分割を自動化し、コラボレーション速度を向上させ、機密情報を管理下に置くことができます。

Next steps – ライブラリの他の機能(ドキュメントのマージ、ページの回転、透かしの適用など)を調査し、完全に自動化されたドキュメント パイプラインを構築してください。

よくある質問

Q: どのファイル形式からページを抽出できますか?
A: GroupDocs.Merger は PDF、DOCX、XLSX、PPTX、HTML、PNG や JPEG などの画像形式を含む、30 以上の形式をサポートしています。

Q: 連続しないページ(例: 1, 3, 5)を抽出できますか?
A: はい、個別のページ番号のリストや複数の範囲を ExtractOptions に渡すことができます。

Q: パスワード保護された PDF を扱うにはどうすればよいですか?
A: Merger インスタンスを作成する際に LoadOptions でパスワードを指定してください。そうすれば抽出は通常通り実行されます。

Q: 1 回の呼び出しで抽出できるページ数に制限はありますか?
A: 厳密な上限はありません。唯一の実質的な制約は利用可能なメモリで、ストリーミングのおかげでメモリ使用は低く抑えられます。

Q: ライブラリは Microsoft Office や Adobe Acrobat のインストールが必要ですか?
A: 外部アプリケーションは不要です。すべての処理は .NET ランタイム内で行われます。

リソース


最終更新日: 2026-09-26
テスト環境: GroupDocs.Merger 23.11 for .NET
作者: GroupDocs

関連チュートリアル