PDFから画像を抽出する
Contents
[
Hide
]
PDFドキュメントの各ページにはリソース(画像、フォーム、フォント)が含まれています。これらのリソースにはgetResourcesメソッドを呼び出すことでアクセスできます。ResourcesクラスにはXImageCollectionが含まれており、getImagesメソッドを呼び出すことで画像のリストを取得できます。
したがって、ページから画像を抽出するには、ページへの参照を取得し、次にページリソース、最後に画像コレクションへのアクセスが必要です。
特定の画像は、例えばインデックスを使用して抽出できます。
The image’s index returns an XImage object.
このオブジェクトは、抽出された画像を保存するために使用できる Save メソッドを提供します。次のコードスニペットは、PDFファイルから画像を抽出する方法を示しています。
public void extractImage () {
// ドキュメントを開く
try {
document=new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
com.aspose.pdf.Page page=document.getPages().get_Item(1);
com.aspose.pdf.XImageCollection xImageCollection=page.getResources().getImages();
// 特定の画像を抽出
com.aspose.pdf.XImage xImage=xImageCollection.get_Item(1);
File file=new File(fileStorage, "extracted-image.jpeg");
try {
java.io.FileOutputStream outputImage=new java.io.FileOutputStream(file.toString());
// 出力画像を保存
xImage.save(outputImage, ImageType.getJpeg());
outputImage.close();
} catch (java.io.IOException e) {
resultMessage.setText(e.getMessage());
return;
}
resultMessage.
}