JavaでPDFから画像を抽出する

PDFファイルを解析しているときに、ドキュメントからテキストとともに画像を抽出する必要がある場合があります。この操作をプログラムで実行するために、この記事では、JavaでPDFドキュメントから画像を抽出する方法について説明します。ステップバイステップガイドとAPIリファレンスおよびコードサンプルは、完全な画像抽出手順を示しています。

PDFから画像を抽出するJavaAPI-無料ダウンロード

PDFから画像を抽出するには、Aspose.PDF for Javaを使用します。これは、PDFファイルを作成および処理するための幅広い機能を提供する強力なPDF操作APIです。 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>21.5</version>
</dependency>

JavaでPDFから画像を抽出する

以下は、Javaを使用してPDFドキュメントから画像を抽出する手順です。

  • Documentクラスを使用してPDFドキュメントをロードします。
  • Document.getPages()メソッドによって返されたドキュメントのページコレクションを繰り返し処理します。
  • Pageごとに、Page.getResources().getImages()メソッドを使用して、XImageのコレクションをループします。
  • FileOutputStreamのオブジェクトを作成して、各画像を保存します。

次のコードサンプルは、PDFドキュメントから画像を抽出する方法を示しています。

// PDFドキュメントをロード
Document pdfDocument = new Document("ImagetoPDF.pdf");

// ページをループする
for (Page page : pdfDocument.getPages()) {

	int imageCounter = 1;

	// 画像をループする
	for (XImage xImage : page.getResources().getImages()) {
		try {
			
			// ファイルストリームを作成する 
			java.io.FileOutputStream outputImage = new java.io.FileOutputStream(
					page.getNumber() + "_" + imageCounter + ".jpg");
			
			// 出力画像を保存する
			xImage.save(outputImage);
			
			// ストリームを閉じる
			outputImage.close();
		} catch (java.io.FileNotFoundException e) {
			// TODO:例外を処理する
			e.printStackTrace();
		} catch (java.io.IOException e) {
			// TODO:例外を処理する
			e.printStackTrace();
		}
		
		imageCounter++;
	}
	
	// カウンターをリセット
	imageCounter=1;
}

Java PDFImageExtractor-無料ライセンスを取得

一時ライセンスを使用すると、評価の制限なしにAspose.PDFforJavaを使用できます。

結論

場合によっては、PDFドキュメントから画像を抽出する必要があります。これを実現するために、この記事では、JavaでPDFファイルから画像を抽出する方法を学びました。 ドキュメントを使用して、JavaPDFAPIの詳細を調べることができます。また、フォーラムに質問を投稿することもできます。

関連項目