Извлечение изображений из PDF-файла с помощью Python

Используйте эту страницу, когда вам нужно повторно использовать встроенную графику, архивировать графические ресурсы или обрабатывать содержимое изображений вне PDF.

  1. Загрузите исходный PDF с ap.Document(infile).
  2. Выберите целевую страницу и индекс ресурса изображения.
  3. Сохраните объект изображения в выходной поток.
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)

Извлечение изображений из конкретного региона в PDF

Этот пример извлекает изображения, расположенные в заданной прямоугольной области на странице PDF, и сохраняет их в отдельные файлы.

  1. Загрузите исходный PDF.
  2. Создайте ImagePlacementAbsorber и примите его на целевой странице.
  3. Определите целевой прямоугольник.
  4. Итерируйте размещения изображений и проверьте, помещаются ли границы каждого изображения в область.
  5. Сохраните найденные изображения в выходные файлы.
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

Связанные темы по изображениям