最も一般的なファイル形式の 1 つである PDF は、ほぼすべてのビジネスや業界で使用されています。 PDF ドキュメントには、書式設定されたテキスト、画像、注釈など、さまざまなコンテンツを含めることができます。多くの場合、PDF ファイルからコンテンツを抽出する必要があります。この記事では、Java で PDF ドキュメントからプログラムによって画像を抽出する方法について説明します。

PDFファイルから画像を抽出するJava API

GroupDocs は、Java 開発者が PDF ファイルから画像を抽出するための GroupDocs.Parser を提供します。 PDF ファイルに加えて、同じ API が、ワード プロセッシング ドキュメント、スプレッドシート、電子書籍、プレゼンテーション、電子メール、ZIP アーカイブ、[その他の多くのドキュメント形式] など、さまざまなドキュメント形式からの画像の抽出と解析をサポートしています4。 .

ダウンロードまたは構成

ダウンロード セクション から JAR ファイルをダウンロードするか、Maven ベースの Java アプリケーションの pom.xml のリポジトリと依存関係の構成を取得します。

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

Java で PDF ドキュメントから画像を抽出する手順

以下は、数行の Java コードを使用して PDF ファイルから画像を取得する方法を段階的に示しています。

  1. 新しいプロジェクトを作成します。
  2. 上記のように API をダウンロードするか、最新の API バージョンに更新します。
  3. 次のクラスをインポートします。
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Parser クラスを使用して PDF ドキュメントを読み込みます。
// PDFファイルを読み込む
try (Parser parser = new Parser("path/document.pdf")) {
    // 画像抽出コードはここに入ります。
}
  1. getImages メソッドを使用して、ドキュメントからすべての画像を抽出します。
// 読み込んだファイルから画像を抽出する
Iterable<PageImageArea> images = parser.getImages();
  1. コレクションから各画像にアクセスし、save メソッドを使用して保存します。
// 拡張子を付けてファイルを保存します
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

画像は、PNG、JPG、BMP、WebP、GIF などのさまざまな画像形式で保存できます。

Java 完全コード – PDF からの画像抽出

以下は、提供された PDF ファイルからすべての画像を取得できる完全なソース コードです。

// JavaでPDFファイルから画像を抽出
try (Parser parser = new Parser("path/document.pdf")) 
{
    // 画像を取得する
    Iterable<PageImageArea> images = parser.getImages();
    
    // 画像抽出がサポートされているかどうかを確認する
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // 抽出された画像を繰り返す
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

結果

サンプル PDF ドキュメント

抽出する画像を含む PDF ドキュメント。

抽出された画像

PDFから画像を抽出しました。

必要に応じて、別の記事で Java で PDF 文書の特定のページから画像を抽出する 方法についても説明されています。

続きを読む

ドキュメント を使用して、データ抽出 Java API について詳しく調べることができます。 フォーラム から質問を共有できます。

関連項目