Extraire des images d'un fichier PDF à l'aide de Python

Utilisez cette page lorsque vous devez réutiliser des graphiques incorporés, archiver des ressources d’images, ou traiter le contenu d’images en dehors du PDF.

  1. Chargez le PDF source avec ap.Document(infile).
  2. Sélectionnez la page cible et l’index de la ressource d’image.
  3. Enregistrez l’objet image dans un flux de sortie.
import aspose.pdf as ap
from io import FileIO


def extract_image(infile, outfile):
    document = ap.Document(infile)
    x_image = document.pages[1].resources.images[1]
    with FileIO(outfile, "wb") as output_image:
        x_image.save(output_image)

Extraire des images d’une région spécifique du PDF

Cet exemple extrait les images situées dans une région rectangulaire spécifiée sur une page PDF et les enregistre en fichiers séparés.

  1. Chargez le PDF source.
  2. Créer ImagePlacementAbsorber et l’accepter sur la page cible.
  3. Définissez le rectangle cible.
  4. Itérez à travers les placements d’images et vérifiez si les limites de chaque image s’insèrent dans la région.
  5. Enregistrez les images correspondantes dans les fichiers de sortie.
import aspose.pdf as ap
from io import FileIO


def extract_image_from_specific_region(infile, outfile):
    document = ap.Document(infile)
    rectangle = ap.Rectangle(0, 0, 590, 590, True)
    absorber = ap.ImagePlacementAbsorber()
    document.pages[1].accept(absorber)

    index = 1
    for image_placement in absorber.image_placements:
        point1 = ap.Point(image_placement.rectangle.llx, image_placement.rectangle.lly)
        point2 = ap.Point(image_placement.rectangle.urx, image_placement.rectangle.ury)

        if rectangle.contains(point1, True) and rectangle.contains(point2, True):
            with FileIO(outfile.replace("index", str(index)), "wb") as output_image:
                image_placement.image.save(output_image)
            index += 1

Sujets liés aux images