извлечь изображения из pdf в python

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

Библиотека Python для извлечения изображений из PDF

Чтобы извлечь изображения из файла PDF, мы будем использовать Aspose.Words for Python. Это мощная и многофункциональная библиотека для создания и управления текстовыми документами, включая PDF и DOCX. Вы можете установить библиотеку из PyPI с помощью следующей команды pip.

> pip install aspose-words

Шаги по извлечению изображений из PDF

Aspose.Words for Python позволяет извлекать изображения из PDF-файла за несколько простых шагов. Ниже приведен рабочий процесс извлечения изображений из PDF-файла с помощью Aspose.Words for Python.

  • Загрузите файл PDF из нужного места.
  • Преобразование PDF в формат DOCX.
  • Обработка версии PDF в формате DOCX и извлечение изображений
  • Сохраните каждое изображение в виде файла в нужном месте.

В следующем разделе показано, как преобразовать вышеупомянутые шаги в код Python и извлечь изображения из PDF.

Извлечение изображений из PDF в Python

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

Ниже приведены шаги для извлечения изображений из PDF-файла в Python.

  • Сначала загрузите файл PDF с помощью класса Document.
  • Затем сохраните PDF в формате DOCX и загрузите версию PDF-файла в формате DOCX.
  • Извлеките все фигуры в объект, используя метод Document.getchildnodes(NodeType.SHAPE, True).
  • Переберите фигуры и выполните следующие операции для каждого узла формы:
    • Приведите форму к типу Shape, используя метод asshape().
    • Используйте метод Shape.hasimage(), чтобы проверить, есть ли у фигуры изображение.
    • Извлеките изображение из фигуры и сохраните его с помощью метода Shape.imagedata.save(string).

В следующем примере кода показано извлечение изображения из документа PDF в Python.

# Импорт Aspose.Words для модуля Python
import aspose.words as aw

# загрузить файл PDF и преобразовать в формат Word DOCX
pdf = aw.Document("document.pdf")
pdf.save("pdf.docx")

# загрузить версию PDF в формате DOCX
doc = aw.Document("pdf.docx")

# получить все формы
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0

# цикл по фигурам
for shape in shapes :
    shape = shape.as_shape()
    if (shape.has_image) :

        # установить имя файла изображения
        imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"

        # сохранить изображение
        shape.image_data.save(imageFileName)
        imageIndex += 1

Библиотека извлечения изображений Python PDF — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию для извлечения изображений из PDF без ограничений на оценку.

Вывод

При анализе PDF-документов изображения также необходимо извлекать вместе с текстом. В этой статье вы узнали, как извлекать изображения из PDF в Python. Вы можете просто установить Aspose.Words for Python и интегрировать извлечение изображений в свои приложения.

Исследуйте библиотеку извлечения изображений PDF Aspose

Aspose.Words for Python предлагает ряд других функций для работы с текстовыми документами. Вы можете посетить документацию, чтобы узнать больше о библиотеке. Если у вас возникнут вопросы, сообщите нам об этом через наш форум.

Смотрите также