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);
}
}
}
}