PDFは、テキスト、グラフィック、およびその他の多くの要素をサポートする最も有名なファイル形式の1つです。その人気の理由の1つは、その携帯性です。場合によっては、大きなPDFファイルを複数のファイルに分割する必要があります。これにプログラムで対処するために、この記事では、JavaでPDFファイルを分割する方法のさまざまな方法について説明します。
- PDFファイルを分割するJavaAPI
- PDFを複数ページのファイルに分割
- PDFを複数の単一ページファイルに分割
- Javaの範囲でPDFファイルからページを抽出
- Javaで偶数または奇数フィルターを使用してPDFファイルからページを抽出
PDFファイルを分割するJavaAPI
GroupDocs.Mergerは、さまざまなファイル形式のファイルをマージおよび分割するためのソリューションを提供します。そのJavaAPIを使用して、さまざまな方法でPDFファイルを分割します。 ダウンロードセクションからJARファイルをダウンロードするか、Javaアプリケーション内で最新のリポジトリと依存関係Maven構成を使用します。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>21.9</version>
</dependency>
PDFファイルをJavaでマルチページファイルに分割
次の手順は、PDFファイルを複数ページのファイルに分割する方法を示しています。
- Mergerクラスを使用してPDFファイルをロードします。
- 出力ファイルの形式を定義します。
- SplitOptionsを使用してページ間隔を定義します。
- split() メソッドを使用して、定義された間隔に従ってロードされたPDFを分割します。
次のコードサンプルは、JavaでPDFファイルを複数ページのファイルに分割する方法を示しています。
/*
* PDFファイルをJavaで複数のページファイルに分割する
*/
// PDFファイルをロードします
Merger merger = new Merger("path/document.pdf");
// 出力ファイルの形式を定義する
String filePathOut = "path/splitPDF_{0}.{1}";
// 分割間隔と分割モードを定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);
// 与えられた間隔に従ってPDFを分割する
merger.split(splitOptions);
PDFファイルをJavaで複数の単一ページファイルに分割
次の手順は、PDFを分割してページを複数の単一ページファイルに抽出する方法を示しています。
- Mergerクラスを使用してPDFファイルをロードします。
- 出力ファイルの形式を定義します。
- SplitOptionsを使用して正確なページ番号を定義します。
- split() メソッドを使用して、定義されたページに従ってロードされたPDFを分割します。
次のコードサンプルは、JavaでPDFファイルを複数の単一ページファイルに分割する方法を示しています。
/*
* PDFファイルをJavaで単一ページファイルに分割
*/
// PDFファイルをロードします
Merger merger = new Merger("path/document.pdf");
// 出力ファイルの形式を定義する
String filePathOut = "path/splitPDF_{0}.{1}";
// 単一ページのドキュメントとして抽出されるページを定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });
// 分割オプションに従ってPDFを分割する
merger.split(splitOptions);
Javaの範囲ごとにPDFファイルからページを抽出する
次の手順は、指定された範囲に従って分割してPDFからページを抽出する方法を示しています。
- Mergerクラスを使用してPDFファイルをロードします。
- 出力ファイルの形式を定義します。
- SplitOptionsを使用してページ範囲を指定します。
- split() メソッドを使用して、ロードされたPDFを定義された範囲に従って分割します。
次のコードスニペットは、Javaで範囲を指定してPDFを分割し、ページを抽出する方法を示しています。
/*
* 与えられた範囲でPDFファイルをJavaの単一ページファイルに分割
*/
// PDFファイルをロードします
Merger merger = new Merger("path/document.pdf");
// 出力ファイルの形式を定義する
String filePathOut = "path/splitPDF_{0}.{1}";
// 単一ページのドキュメントとして抽出する範囲を定義する
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);
// 分割オプションに従ってPDFを分割する
merger.split(splitOptions);
Javaの偶数/奇数フィルターを使用してPDFファイルからページを抽出する
次の手順は、分割によってPDFファイルから指定された範囲の偶数/奇数ページを抽出する方法を示しています。
- Mergerクラスを使用してPDFファイルをロードします。
- 出力ファイルの形式を定義します。
- SplitOptionsを使用してページ範囲を指定します。
- RangeModeを使用して、偶数、奇数、またはすべてのページのフィルターを適用します。
- split() メソッドを使用して、ロードされたPDFを定義されたフィルターに従って分割します。
次のコードスニペットは、Javaを使用してPDFファイルの定義された範囲内のすべての奇数/偶数ページを抽出する方法を示しています。
/*
* 与えられた範囲とフィルター(偶数/奇数ページ) でPDFファイルをJavaの単一ページファイルに分割
*/
// PDFファイルをロードします
Merger merger = new Merger("path/document.pdf");
// 出力ファイルの形式を定義する
String filePathOut = "path/splitPDF_{0}.{1}";
// 範囲とフィルターを定義して、指定された範囲内のすべてのODDページを単一ページのドキュメントとして抽出します
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);
// 分割オプションに従ってPDFを分割する
merger.split(splitOptions);
コード変更の概要
上記のシナリオで異なるのは、SplitOptionsを作成する方法だけです。コード内の要件に従って、次の構成を使用できます。
- マルチページファイルの場合-間隔を使用:\ [1,2 ]、\ [3,4,5 ]、\ [6,7 ]、[8,9,10]。
new SplitOptions(outputFile, new int[] { 3, 6, 8 }, SplitMode.Interval)
- 個々のページ:\ [3 ]、\ [6 ]、\ [8 ]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
- 範囲内のページを抽出するには:\ [3 ]、\ [4 ]、\ [5 ]
new SplitOptions(outputFile, 3, 5);
- フィルター付きの範囲:\ [3 ]、\ [5 ]、\ [7 ]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);
無料のAPIライセンスを取得する
評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。
結論
要約すると、JavaでPDFファイルを分割するさまざまな方法を学びました。まず、PDFファイルを複数ページのドキュメントといくつかの単一ページのドキュメントに分割します。次に、すべてのページと、指定された範囲内のPDFファイルの偶数/奇数ページを1つずつ抽出しました。これで、GroupDocs.MergerAPIを使用して独自のPDFスプリッターJavaアプリを作成できるようになります。
APIの詳細については、ドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。