C#を使用してPDFを複数のファイルに分割する

PDFは、最も一般的に使用されているファイル形式の1つであり、移植性が高くなっています。開発者として、プログラムで大きなPDFファイルを分割するシナリオに直面したことがあるかもしれません。記事の1つで、JavaでPDFファイルを分割することを学びました。今日、この記事では、** .NETアプリケーションでC#を使用してPDFファイルを分割する方法**のさまざまな方法について説明します。

PDFファイルを分割するための.NETAPI

PDFファイルを分割するには、GroupDocs.Merger for.NETを使用します。これは、非常に少ないコード行で機能を統合するための迅速な開発を可能にするAPIです。分割に加えて、異なるファイル形式のドキュメントのマージ、スワッピング、またはトリミングをサポートします。

ダウンロードセクションからDLLまたはMSIインストーラーをダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Merger

C#を使用してPDFファイルをマルチページファイルに分割する

次の手順は、C#を使用してPDFファイルを複数ページのファイルに分割する方法を示しています。

  • 出力ファイルの形式を定義します。
  • SplitOptionsを使用してページ間隔を定義します。
  • Mergerクラスを使用してPDFファイルをロードします。
  • Split() メソッドを使用して、定義された間隔に従ってロードされたPDFを分割します。

次のコードサンプルは、PDFファイルを複数ページのファイルに分割する方法を示しています。

/*
 * C#を使用してPDFファイルを複数ページのファイルに分割する
 */
// 出力ファイルの形式を定義する
string filePathOut = "path/splitPDF_{0}.{1}";

// 分割間隔と分割モードを定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);

// PDFファイルをロードし、分割オプションに従ってPDFを分割します
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
} 

範囲ごとにPDFファイルからページを抽出する

次の手順は、指定された範囲に従って分割することにより、C#を使用してPDFからページを抽出する方法を示しています。

  • 出力ファイルの形式を定義します。
  • SplitOptionsを使用してページ範囲を指定します。
  • Mergerクラスを使用してPDFファイルをロードします。
  • Split() メソッドを使用して、ロードされたPDFを定義された範囲に従って分割します。

次のコードスニペットは、範囲を指定してPDFを分割し、ページを抽出する方法を示しています。

/*
 * C#を使用して、指定された範囲でPDFファイルを単一ページファイルに分割します
 */
// 出力ファイルの形式を定義する
string filePathOut = "path/splitPDF_{0}.{1}";

// 単一ページのドキュメントとして抽出する範囲を定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// PDFファイルをロードし、分割オプションに従ってPDFを分割します
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

C#を使用してPDFファイルから偶数/奇数ページを抽出する

次の手順は、C#でフィルターを適用するだけで、指定された範囲内で分割することにより、PDFファイルから偶数/奇数ページを抽出する方法を示しています。

  • 出力ファイルの形式を定義します。
  • SplitOptionsを使用してページ範囲を指定します。
  • RangeModeを使用して、偶数、奇数、またはすべてのページにフィルターを適用します。
  • Mergerクラスを使用してPDFファイルをロードします。
  • Split() メソッドを使用して、定義されたフィルターに従ってロードされたPDFを分離します。

次のコードスニペットは、PDFファイルの定義された範囲内のすべての奇数/偶数ページを抽出する方法を示しています。

/*
 * 与えられた範囲とフィルター(偶数/奇数ページ) でPDFファイルをC#を使用して単一ページファイルに分割します
 */
// 出力ファイルの形式を定義する
string filePathOut = "path/splitPDF_{0}.{1}";

// 範囲とフィルターを定義して、指定された範囲内のすべてのODDページを単一ページのドキュメントとして抽出します
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, RangeMode.OddPages);

// PDFファイルをロードし、分割オプションに従ってPDFを分割します
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

PDFファイルを複数の単一ページファイルに分割

次の手順は、PDFを分割してC#で複数の単一ページファイルとしてページを抽出する方法を示しています。

  • 出力ファイルの形式を定義します。
  • SplitOptionsを使用して正確なページ番号を定義します。
  • Mergerクラスを使用してPDFファイルをロードします。
  • Split() メソッドを使用して、定義されたページに従ってロードされたPDFを分割します。

次のコードサンプルは、PDFファイルを複数の単一ページファイルに分割する方法を示しています。

/*
 * C#を使用してPDFファイルを単一ページファイルに分割する
 */
// 出力ファイルの形式を定義する
string filePathOut = "path/splitPDF_{0}.{1}";

// 単一ページのドキュメントとして抽出されるページを定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// PDFファイルをロードし、分割オプションに従ってPDFを分割します
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

コード変更の概要

すべてのシナリオで変更されるのは、SplitOptionsを定義する方法です。各シナリオの各コードスニペットの変更の概要は次のとおりです。コード内の要件に従って、次の設定を使用できます。ここでは、10ページのPDFファイルを使用しました。

  • マルチページファイルの場合-間隔を使用:\ [1,2 ]、\ [3,4,5 ]、\ [6,7 ]、[8,9,10]。
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • 範囲内のページを抽出:\ [3 ]、\ [4 ]、\ [5 ]、\ [6 ]
new SplitOptions(outputFile, 3, 6);
  • フィルター付きの範囲:\ [3 ]、\ [5 ]、\ [7 ]
new SplitOptions(outputFile, 3, 8, (Integer)RangeMode.OddPages);
  • 個々のページ:\ [3 ]、\ [4 ]、\ [9 ]
new SplitOptions(outputFile, new int[] { 3, 4, 9 });

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。

結論

結論として、C#を使用してPDFファイルを分割する方法について説明しました。まず、PDFファイルを複数ページと単一ページのドキュメントに分割します。また、PDFファイルからページを抽出しました。最初にすべてのページを抽出し、次に指定された範囲内の偶数/奇数ページを抽出しました。 GroupDocs.Merger APIを使用して、独自のPDF分割.NETアプリを作成してみることができます。

APIの詳細については、ドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目