PDF内の画像を取得および検索する
Contents
[
Hide
]
ImagePlacementAbsorberを使用して、PDFドキュメントのすべてのページにある画像を検索できます。
次のコードスニペットもAspose.PDF.Drawingライブラリで動作します。
ドキュメント全体で画像を検索するには:
- PagesコレクションのAcceptメソッドを呼び出します。AcceptメソッドはImagePlacementAbsorberオブジェクトをパラメータとして取ります。これにより、ImagePlacementオブジェクトのコレクションが返されます。
- 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);