PDFから画像を抽出する

Contents
[ ]

PDFドキュメントの各ページにはリソース(画像、フォーム、フォント)が含まれています。これらのリソースには、getResources メソッドを呼び出すことでアクセスできます。Resources クラスには XImageCollection が含まれており、getImages メソッドを呼び出すことで画像のリストを取得できます。

したがって、ページから画像を抽出するには、ページへの参照を取得し、次にページリソース、最後に画像コレクションへのアクセスが必要です。 特定の画像は、例えばインデックスで抽出できます。

画像のインデックスは、XImage オブジェクトを返します。 This object provides a save method which can be used to save the extracted image. The following code snippet shows how to extract images from a PDF file.


   // PDFドキュメントを読み込む
   $document = new Document($inputFile);

   // ドキュメントの最初のページを取得する
   $page = $document->getPages()->get_Item(1);

   // ページ上の画像のコレクションを取得する
   $xImageCollection = $page->getResources()->getImages();

   // コレクションから最初の画像を取得する
   $xImage = $xImageCollection->get_Item(1);

   // 画像を保存するための新しいFileOutputStreamオブジェクトを作成する
   $outputImage = new java("java.io.FileOutputStream", $outputFile);

   // 画像を出力ファイルに保存する
   $xImage->save($outputImage);

   // 出力画像ファイルを閉じる
   $outputImage->close();