Я пытаюсь извлечь изображения из PDF с помощью PyPDF2, но когда мой код получает его, изображение сильно отличается от того, как оно должно выглядеть на самом деле, посмотрите на пример ниже:
Но вот как это должно выглядеть на самом деле:
Вот PDF-файл, который я использую:
https://www.hbp.com/resources/SAMPLE%20PDF.pdf
Вотмой код:
pdf_filename = "SAMPLE.pdf"
pdf_file = open(pdf_filename, 'rb')
cond_scan_reader = PyPDF2.PdfFileReader(pdf_file)
page = cond_scan_reader.getPage(0)
xObject = page['/Resources']['/XObject'].getObject()
i = 0
for obj in xObject:
# print(xObject[obj])
if xObject[obj]['/Subtype'] == '/Image':
if xObject[obj]['/Filter'] == '/DCTDecode':
data = xObject[obj]._data
img = open("{}".format(i) + ".jpg", "wb")
img.write(data)
img.close()
i += 1
И так как мне нужно сохранить изображение в цветном режиме, я не могу просто преобразовать его в RBG, если это был CMYK, потому что мне нужна эта информация. Кроме того, я пытаюсь получить dpi из изображений, которые я получаю из PDF, всегда ли эта информация хранится в изображении? Заранее спасибо