Rechercher et Obtenir des Images à partir d'un Document PDF en C++

Contents
[ ]

L’ImagePlacementAbsorber vous permet de rechercher parmi les images sur toutes les pages d’un document PDF.

Pour rechercher des images dans un document entier :

  1. Appelez la méthode Accept de la collection Pages. La méthode Accept prend un objet ImagePlacementAbsorber comme paramètre. Cela renvoie une collection d’objets ImagePlacement.
  2. Parcourez les objets ImagePlacements et obtenez leurs propriétés (Image, dimensions, résolution, etc.).

Le fragment de code suivant montre comment rechercher un document pour toutes ses images.

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

void SearchAndGetImagesFromPDFDocument() {

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

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

    // Créer un objet ImagePlacementAbsorber pour effectuer une recherche de placement d'image
    auto abs = MakeObject<ImagePlacementAbsorber>();

    // Accepter l'absorbeur pour toutes les pages
    document->get_Pages()->Accept(abs);

    // Boucler à travers tous les ImagePlacements, obtenir l'image et les propriétés de ImagePlacement
    for(auto imagePlacement : abs->get_ImagePlacements())
    {
        // Obtenir l'image en utilisant l'objet ImagePlacement
        auto image = imagePlacement->get_Image();

        // Afficher les propriétés de placement d'image pour tous les placements
        Console::WriteLine(u"largeur de l'image: {0}", imagePlacement->get_Rectangle()->get_Width());
        Console::WriteLine(u"hauteur de l'image:{0}", imagePlacement->get_Rectangle()->get_Height());
        Console::WriteLine(u"image LLX:{0}", imagePlacement->get_Rectangle()->get_LLX());
        Console::WriteLine(u"image LLY:{0}", imagePlacement->get_Rectangle()->get_LLY());
        Console::WriteLine(u"résolution horizontale de l'image:{0}", imagePlacement->get_Resolution()->get_X());
        Console::WriteLine(u"résolution verticale de l'image:{0}", imagePlacement->get_Resolution()->get_Y());
    }
}