C++を使用してPDFドキュメントから画像を検索および取得する

Contents
[ ]

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

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

  1. PagesコレクションのAcceptメソッドを呼び出します。AcceptメソッドはImagePlacementAbsorberオブジェクトをパラメータとして取ります。これにより、ImagePlacementオブジェクトのコレクションが返されます。
  2. 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());
    }
}