Extraire des images d'un fichier PDF à l'aide de Python
Contents
[
Hide
]
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.
- Chargez le PDF source avec
ap.Document(infile). - Sélectionnez la page cible et l’index de la ressource d’image.
- 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.
- Chargez le PDF source.
- Créer
ImagePlacementAbsorberet l’accepter sur la page cible. - Définissez le rectangle cible.
- Itérez à travers les placements d’images et vérifiez si les limites de chaque image s’insèrent dans la région.
- 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