Как извлечь изображения и изображения BBox координат с помощью Python?

Я пытаюсь извлечь изображения в PDF с помощью координат BBox изображения.

Я попытался использовать библиотеку pdfrw, она идентифицирует объекты изображения, и у нее есть атрибут с именем media box, который имеет некоторые координаты, я не уверен, что это правильные координаты bbox, поскольку для некоторых PDF-файлов он показывает что-то вроде этого ['0', '0', '684', '864'], но изображение не начинается в начале страницы, поэтому я не думаю, что это bbox

Я попытался с помощью следующего кода, используя pdfrw

import pdfrw, os
from pdfrw import PdfReader, PdfWriter
from pdfrw.findobjs import page_per_xobj
outfn = 'extract.' + os.path.basename(path)
pages = list(page_per_xobj(PdfReader(path).pages, margin=0.5*72))
writer = PdfWriter(outfn)
writer.addpages(pages)
writer.write()

Как получить изображение вместе с его координатами bbox?

образец pdf: https://drive.google.com/open?id=1IVbj1b3JfmSv_BJvGUqYvAPVl3FwC2A-

0 ответов

Я нашел способ сделать это через библиотеку под названием pdfplumber. Он построен на основе pdfminer и стабильно работает в моем случае использования. Более того, у него есть лицензия Массачусетского технологического института, поэтому он помогает мне в офисной работе.

    import pdfplumber

    pdf_obj = pdfplumber.open(doc_path)
    page = pdf_obj.pages[page_no]
    images_in_page = page.images
    page_height = page.height
    image_bbox = (image['x0'], page_height - image['y1'], image['x1'], page_height - image['y0'])
    cropped_page = page.crop(image_bbox)
    image_obj = cropped_page.to_image(resolution=400)
    image_obj.save(path_to_save_image)



В моем случае хорошо работал для таблиц и изображений.

Другие вопросы по тегам