PDF内の画像を取得および検索する

Contents
[ ]

ImagePlacementAbsorberを使用して、PDFドキュメントのすべてのページにある画像を検索できます。

次のコードスニペットもAspose.PDF.Drawingライブラリで動作します。

ドキュメント全体で画像を検索するには:

  1. PagesコレクションのAcceptメソッドを呼び出します。AcceptメソッドはImagePlacementAbsorberオブジェクトをパラメータとして取ります。これにより、ImagePlacementオブジェクトのコレクションが返されます。
  2. ImagePlacementsオブジェクトをループして、そのプロパティ(画像、寸法、解像度など)を取得します。

次のコードスニペットは、ドキュメントのすべての画像を検索する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NET をご覧ください
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

// ドキュメントを開く
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "SearchAndGetImages.pdf");

// 画像配置検索を実行するImagePlacementAbsorberオブジェクトを作成
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();

// すべてのページで吸収器を受け入れる
doc.Pages.Accept(abs);

// すべてのImagePlacementsをループし、画像とImagePlacementプロパティを取得
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
    // ImagePlacementオブジェクトを使用して画像を取得
    XImage image = imagePlacement.Image;

    // すべての配置の画像配置プロパティを表示
    Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width);
    Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height);
    Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX);
    Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY);
    Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X);
    Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y);
}

個別のページから画像を取得するには、次のコードを使用します:

// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NET をご覧ください
doc.Pages[1].Accept(abs);