C++を使用してPDFドキュメントから画像を検索および取得する
Contents
[
Hide
]
ImagePlacementAbsorberを使用すると、PDFドキュメント内のすべてのページの画像を検索できます。
ドキュメント全体を画像で検索するには:
- PagesコレクションのAcceptメソッドを呼び出します。AcceptメソッドはImagePlacementAbsorberオブジェクトをパラメータとして取ります。これにより、ImagePlacementオブジェクトのコレクションが返されます。
- ImagePlacementsオブジェクトをループして、そのプロパティ(画像、寸法、解像度など)を取得します。
次のコードスニペットは、ドキュメント内のすべての画像を検索する方法を示しています。
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Text;
void SearchAndGetImagesFromPDFDocument() {
String _dataDir("C:\\Samples\\");
// ドキュメントを開く
auto document = MakeObject<Document>(_dataDir + u"SearchAndGetImages.pdf");
// 画像配置検索を実行するためのImagePlacementAbsorberオブジェクトを作成
auto abs = MakeObject<ImagePlacementAbsorber>();
// すべてのページに対してアブソーバを受け入れる
document->get_Pages()->Accept(abs);
// すべてのImagePlacementsをループし、画像とImagePlacementのプロパティを取得
for(auto imagePlacement : abs->get_ImagePlacements())
{
// ImagePlacementオブジェクトを使用して画像を取得
auto image = imagePlacement->get_Image();
// すべての配置について画像配置プロパティを表示
Console::WriteLine(u"画像の幅: {0}", imagePlacement->get_Rectangle()->get_Width());
Console::WriteLine(u"画像の高さ:{0}", imagePlacement->get_Rectangle()->get_Height());
Console::WriteLine(u"画像のLLX:{0}", imagePlacement->get_Rectangle()->get_LLX());
Console::WriteLine(u"画像のLLY:{0}", imagePlacement->get_Rectangle()->get_LLY());
Console::WriteLine(u"画像の水平解像度:{0}", imagePlacement->get_Resolution()->get_X());
Console::WriteLine(u"画像の垂直解像度:{0}", imagePlacement->get_Resolution()->get_Y());
}
}