Изображения обычно используются в документах PDF вместе с текстом, что делает содержимое более привлекательным и проработанным. При обработке и анализе PDF-документов вам также может понадобиться извлечь изображения. Поэтому в этой статье мы продемонстрируем, как программно обрабатывать PDF-файлы и извлекать изображения в Python. Пошаговое руководство и пример кода продемонстрируют весь процесс извлечения изображения.
- Библиотека 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 предлагает ряд других функций для работы с текстовыми документами. Вы можете посетить документацию, чтобы узнать больше о библиотеке. Если у вас возникнут вопросы, сообщите нам об этом через наш форум.