JavaでPDFファイルを分割

PDFを複数のPDFファイルに分割する必要がある場合はさまざまです。たとえば、請求書/領収書を含むPDFの各ページを分割し、それらを個別のファイルとして保存する必要がある場合があります。一方、PDFファイルから特定のページのコレクションを分割したい場合があります。上記のシナリオに対処するために、この記事では、Javaを使用してPDFファイルを複数のPDFに分割する方法について説明します。

PDFファイルを分割するJavaAPI–無料ダウンロード

PDFファイルを分割するために、Aspose.PDF for JavaのPDF操作機能を活用します。 APIを使用すると、数ステップでPDF分割操作を実行できます。次の構成を使用して、APIをダウンロードするか、Mavenベースのアプリケーションにインストールすることができます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

Javaを使用してPDFファイルを分割する

PDFの分割基準は、要件に応じてシナリオごとに異なる場合があります。まず、PDFファイルをページごとに分割し、各ページを個別のPDFとして保存する方法を確認しましょう。この操作を実行する手順は次のとおりです。

  • Documentクラスを使用してPDFドキュメントをロードします。
  • Document.getPages()メソッドを使用してページをループします。
  • 各ページにアクセスしてPageオブジェクトにアクセスします。
  • すべての反復で、新しいDocumentを作成し、現在のページをドキュメントに追加し、Document.save(String)メソッドを使用してPDFファイルとして保存します。

次のコードサンプルは、Javaを使用してPDFファイルを分割する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("input.pdf");

// ページカウンター用
int pageCount = 1;

// すべてのページをループする
for (Page pdfPage : pdfDocument.getPages()) {
	// 新しいドキュメントを作成する
	Document newDocument = new Document();

	// ドキュメントにページを追加
	newDocument.getPages().add(pdfPage);

	// PDFとして保存
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

Javaを使用してページコレクションごとにPDFファイルを分割する

デモンストレーションのために、別のPDF分割シナリオを見てみましょう。この例では、偶数と奇数のページ番号に基づいてPDFを分割します。この操作を実行する手順は次のとおりです。

  • Documentクラスを使用してPDFドキュメントをロードします。
  • Document.getPages()メソッドを使用してページをループします。
  • 偶数ページと奇数ページをArrayListオブジェクトに分割します。
  • 新しいDocumentオブジェクトを作成し、ドキュメントにページを追加して、Document.save(String)メソッドを使用してPDFファイルとして保存します。

次のコードサンプルは、Javaを使用してPDFファイルの偶数ページと奇数ページを分割する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("input.pdf");

// 偶数ページと奇数ページの配列リストを作成する
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// すべてのページをループする
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// ページもPDFとして保存
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// 奇数ページをPDFとして保存
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

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

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

結論

この記事では、Javaを使用してPDFファイルを分割する方法を学習しました。さらに、要件に応じてPDF分割基準をカスタマイズする方法を見てきました。 ドキュメントを使用して、APIの詳細を調べることができます。

関連項目