Pesquisar e Obter Imagens de Documento PDF usando C++

Contents
[ ]

O ImagePlacementAbsorber permite que você pesquise entre imagens em todas as páginas de um documento PDF.

Para pesquisar imagens em um documento inteiro:

  1. Chame o método Accept da coleção Pages. O método Accept leva um objeto ImagePlacementAbsorber como parâmetro. Isso retorna uma coleção de objetos ImagePlacement.
  2. Percorra os objetos ImagePlacements e obtenha suas propriedades (Imagem, dimensões, resolução e assim por diante).

O trecho de código a seguir mostra como pesquisar um documento por todas as suas imagens.

using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Text;

void SearchAndGetImagesFromPDFDocument() {

    String _dataDir("C:\\Samples\\");

    // Abrir documento
    auto document = MakeObject<Document>(_dataDir + u"SearchAndGetImages.pdf");

    // Criar objeto ImagePlacementAbsorber para realizar a busca de colocação de imagem
    auto abs = MakeObject<ImagePlacementAbsorber>();

    // Aceitar o absorvedor para todas as páginas
    document->get_Pages()->Accept(abs);

    // Percorrer todos os ImagePlacements, obter imagem e Propriedades de ImagePlacement
    for(auto imagePlacement : abs->get_ImagePlacements())
    {
        // Obter a imagem usando o objeto ImagePlacement
        auto image = imagePlacement->get_Image();

        // Exibir propriedades de colocação de imagem para todas as colocações
        Console::WriteLine(u"largura da imagem: {0}", imagePlacement->get_Rectangle()->get_Width());
        Console::WriteLine(u"altura da imagem:{0}", imagePlacement->get_Rectangle()->get_Height());
        Console::WriteLine(u"imagem LLX:{0}", imagePlacement->get_Rectangle()->get_LLX());
        Console::WriteLine(u"imagem LLY:{0}", imagePlacement->get_Rectangle()->get_LLY());
        Console::WriteLine(u"resolução horizontal da imagem:{0}", imagePlacement->get_Resolution()->get_X());
        Console::WriteLine(u"resolução vertical da imagem:{0}", imagePlacement->get_Resolution()->get_Y());
    }
}