0
2

More than 1 year has passed since last update.

Java: PDFドキュメントからイメージを抽出する方法

Last updated at Posted at 2022-08-24

PDFドキュメントは、イメージやテキストなどの様々な形式のコンテンツを含むことができ、非常に実用的な文書フォーマットです。PDFドキュメント内の価値のあるイメージを自分の資料に使用したい場合は、Free Spire.Pdf for Javaでイメージを抽出し、指定したフォルダに保存することができます。以下は具体的なチュートリアルです。

Spire.PDF.Jarのインストール

方法1:
mavenを使用している場合は、次のコードをプロジェクトのpom.xmlファイルに追加することで、JARファイルをアプリケーションにインポートできます。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf.free</artifactId>
        <version>5.1.0</version>
</dependency>
</dependencies>

方法2:
mavenを使用していない場合は、このリンクからFree Spire.Pdf for Javaをダウンロードできます。ダウンロードが完了したら、ダウンロードパッケージを解凍します。次にIDEAで新しいプロジェクトを作成し、「File」、「Project Structure」、「Modules」、「Dependencies」を順にクリックし、右側の緑の「+」の下の最初のオプション「JARs or Directories」をクリックして、前に解凍したファイルを見つけ、その中のlibフォルダの下にあるSpire.Pdf.jarファイルをプロジェクトにインポートします。

PDFドキュメントからイメージを抽出する
詳細な手順を以下に示す。

  • PDFDocumentインスタンスを作成し、PdfDocument.loadFromFile()メソッドを使用してPDFサンプルドキュメントロードします。
  • ドキュメントのすべてのページをループし、PdfPageBase.extractImages()メソッドを使用して指定されたページからイメージを抽出します。
  • 出力ファイルのパスと名前を指定します。
  • イメージを.png形式のファイルに保存します。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ExtractImage {
    public static void main(String[] args) throws IOException {
        // PDFDocumentインスタンスを作成する
        PdfDocument doc = new PdfDocument();

        // PDFサンプルドキュメントロードする
        doc.loadFromFile("sample.pdf");

        // int変数を宣言する
        int index = 0;

        //ドキュメントのすべてのページをループする
        for (PdfPageBase page : (Iterable<PdfPageBase>) doc.getPages()) {

            //指定されたページから画像を抽出する
            for (BufferedImage image : page.extractImages()) {

                //出力ドキュメントのパスと名前を指定する
                File output = new File("C:\\Users\\Administrator\\Desktop\\ExtractedImages\\" + String.format("Image_%d.png", index++));

                //.pngファイルとして画像を保存する
                ImageIO.write(image, "PNG", output);
            }
        }
    }
}

pdf提取图片.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2