Extraer imágenes de un archivo PDF usando Python

Utilice esta página cuando necesite reutilizar gráficos incrustados, archivar recursos de imágenes o procesar contenido de imágenes fuera del PDF.

  1. Cargar el PDF de origen con ap.Document(infile).
  2. Seleccione la página objetivo y el índice del recurso de imagen.
  3. Guarde el objeto de imagen en un flujo de salida.
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)

Extraer imágenes de una región específica en PDF

Este ejemplo extrae imágenes ubicadas dentro de una región rectangular especificada en una página PDF y las guarda como archivos separados.

  1. Cargar el PDF de origen.
  2. Crear ImagePlacementAbsorber y aceptarlo en la página de destino.
  3. Define el rectángulo de destino.
  4. Itera a través de las colocaciones de imágenes y verifica si los límites de cada imagen encajan en la región.
  5. Guardar imágenes coincidentes en archivos de salida.
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

Temas de imágenes relacionadas