.NET 用 GroupDocs.Merger で C# の docx からページを抽出する方法

大きな DOCX、PDF、またはその他のオフィス文書から数ページだけ抽出したい場合、GroupDocs.Merger for .NET を使用した extract pages from docx が最も信頼できる方法です。このチュートリアルでは、ライブラリのインストールからエッジケースの処理まで、全工程を順に解説し、任意の C# アプリケーションでページ単位の抽出を自動化できるようにします。

クイック回答

  • ページ抽出を処理するライブラリはどれですか? GroupDocs.Merger for .NET.
  • 非連続ページを抽出できますか? はい、配列で任意のページ番号を指定します。
  • サポートされている形式は? DOCX、PDF、PPTX、XLSX、画像など、70 以上の形式に対応しています。
  • 本番環境でライセンスが必要ですか? 商用利用には有効な GroupDocs.Merger ライセンスが必要です。
  • 実装にかかる目安の時間は? 基本的な抽出ルーチンで約 10〜15 分です。

extract pages from docx とは何ですか?

extract pages from docx は、DOCX(またはサポートされている任意の形式)から個々のページを選択し、新しい小さな文書として保存する操作です。GroupDocs.Merger はファイル全体をメモリに読み込むことなくこれを実行するため、数百ページのファイルでもメモリ使用量を低く抑えられます。

.NET 用 GroupDocs.Merger を使用する理由

GroupDocs.Merger は 70 以上の入力および出力形式 をサポートし、500 ページまでの文書を、典型的なサーバーで 100 MB 未満の RAM しか使用せずに処理できます。このライブラリは .NET Core、.NET 5/6/7、そしてフル .NET Framework 上で動作し、Microsoft Office をインストールせずにクロスプラットフォームの柔軟性を提供します。

前提条件

  • GroupDocs.Merger ライブラリ がプロジェクトにインストールされていること(下記インストール手順参照)。
  • .NET ランタイム: .NET 6 以降が推奨です。.NET Core 3.1 または .NET Framework 4.7.2 でも動作します。
  • C# の構文とファイルシステムパスに関する基本的な知識。

.NET 用 GroupDocs.Merger の設定

インストール手順

.NET CLI を使用:

dotnet add package GroupDocs.Merger

Visual Studio のパッケージ マネージャ コンソールを使用:

Install-Package GroupDocs.Merger

NuGet パッケージ マネージャ UI:

  • Visual Studio でプロジェクトを開きます。
  • Manage NuGet Packages に移動します。
  • GroupDocs.Merger を検索し、最新の安定版をインストールします。

ライセンス取得

GroupDocs は機能をテストできる無料トライアルを提供しています。本番環境で使用する場合は、GroupDocs の購入ページ から一時ライセンスまたはフルライセンスを取得してください。

パッケージを追加したら、API の使用を開始できます。

using GroupDocs.Merger;

ドキュメントから特定のページを抽出する方法?

特定のページを抽出するには、まず Merger クラスでソース文書をロードし、次に抽出したいページ番号を列挙した ExtractOptions オブジェクトを作成します。ExtractPages にオプションを渡して呼び出し、最後に結果の文書をターゲットパスに保存します。この手法はすべてのサポート形式で動作し、大きなファイルも効率的に処理できます。

手順 1: ファイルパスの設定

ソース文書の場所と抽出後のファイルを保存する場所を定義します。

string filePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "sample.docx");
string filePathOut = Path.Combine("YOUR_OUTPUT_DIRECTORY", "extracted_pages.docx");

説明: YOUR_DOCUMENT_DIRECTORYYOUR_OUTPUT_DIRECTORY を、実際のマシンまたはサーバー上のフォルダー パスに置き換えてください。

手順 2: 抽出するページを指定

ExtractOptions インスタンスを作成し、Merger に抽出するページを指示します。

ExtractOptions extractOptions = new ExtractOptions(new int[] { 1, 4 });

説明: Pages 配列には抽出したいページ番号を列挙します。使用ケースに合わせて値を変更してください(例: new[] {2, 5, 7})。

手順 3: Merger オブジェクトの作成

using ブロック内で Merger をインスタンス化し、リソースが自動的に解放されるようにします。

using (Merger merger = new Merger(filePath))
{
    // Code to extract pages will go here.
}

説明: using 文はファイルハンドルを確実に閉じ、マルチスレッド環境でのファイルロック問題を防止します。

手順 4: 抽出と保存

ExtractPages をオプションと共に呼び出し、Save で結果を永続化します。

// Extract specified pages from the document
merger.ExtractPages(extractOptions);

// Save the resultant document with extracted pages
merger.Save(filePathOut);

説明: Save メソッドは新しい文書を outputPath に書き込みます。ファイル拡張子を変更することで任意のサポート形式(例: .pdf)を選択できます。

よくある問題と解決策

  • ファイルパスエラー: ディレクトリが存在し、アプリケーションに読み書き権限があることを再確認してください。
  • サポート外形式: ソースファイルの種類が GroupDocs.Merger ドキュメント に記載されているか確認してください。
  • 暗号化された文書: 抽出前に LoadOptions.Password でパスワードを指定してください。

実用的な活用例

ページ抽出はさまざまな実務シーンで便利です:

  1. 法務ブリーフ: ケースレビューに必要な条項だけを抽出。
  2. 教育: 教科書からカスタム学習パケットを作成。
  3. ビジネスインテリジェンス: 長大な年次報告書の要点部分を共有。
  4. ヘルスケア: 大規模な医療記録から患者固有のページを分離し、他のデータは安全に保護。

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

  • リソース最適化: 常に Mergerusing ブロックでラップし、アンマネージドリソースを速やかに解放してください。
  • メモリ使用量: ライブラリはページをストリーミングするため、1,000 ページの文書でも RAM 使用量は 150 MB 未満に抑えられます。
  • 非同期処理: バッチジョブでは Task.RunParallel.ForEach を利用してページを並列抽出し、CPU コアを有効活用してください。

よくある質問

Q: 非連続ページを抽出できますか?
A: はい、ExtractOptionsPages 配列に任意のページ番号を列挙すれば、指定した順序で抽出されます。

Q: GroupDocs.Merger がサポートする文書形式は何ですか?
A: DOCX、PDF、PPTX、XLSX、HTML、SVG、PNG、JPEG など、70 以上の形式をサポートしています。

Q: 一度に抽出できるページ数に上限はありますか?
A: 明確な上限はありません。パフォーマンスはシステムのメモリと CPU に依存しますが、ライブラリは数百ページを効率的に処理できます。

Q: GroupDocs.Merger はパスワード保護されたファイルでも動作しますか?
A: はい。Merger インスタンス作成時に LoadOptions.Password でパスワードを指定してください。

Q: 抽出中に例外が発生した場合の対処方法は?
A: 抽出コードを try‑catch ブロックで囲み、MergerException の詳細をログに記録して、サポート外形式や I/O エラーなどの問題を診断してください。

追加リソース


最終更新日: 2026-08-31
テスト環境: GroupDocs.Merger 23.12 for .NET
作者: GroupDocs

関連チュートリアル