Извлечение изображений из PDF-файла с помощью Python
Contents
[
Hide
]
Используйте эту страницу, когда вам нужно повторно использовать встроенную графику, архивировать графические ресурсы или обрабатывать содержимое изображений вне PDF.
- Загрузите исходный PDF с
ap.Document(infile). - Выберите целевую страницу и индекс ресурса изображения.
- Сохраните объект изображения в выходной поток.
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, и сохраняет их в отдельные файлы.
- Загрузите исходный PDF.
- Создайте
ImagePlacementAbsorberи примите его на целевой странице. - Определите целевой прямоугольник.
- Итерируйте размещения изображений и проверьте, помещаются ли границы каждого изображения в область.
- Сохраните найденные изображения в выходные файлы.
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