Python reportlab генерирует большие файлы при добавлении JPEG - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь создать PDF-файл, заполненный изображениями в формате JPEG, но даже когда я добавляю только одно 176 кБ (1142 × 1713) изображение, я получаю 2,5 мБ PDF. Когда я открываю этот PDF в Photoshop, я вижу, что это тот же JPEG на холсте, с тем же размером. Похоже, reportlab не делает никакого сжатия для JPEG или что-то. Там нет никакой информации об этом в документации. Вот мой код:

...
from reportlab.pdfgen import canvas
from reportlab.lib.utils import ImageReader
from reportlab.lib.units import mm
from PIL import Image

img = Image.open('/Users/dimabogdan/Downloads/3edbc3086ccadcae8c59a702a4e03020.jpg')
# <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1142x1713 at 0x10A74BE48>
img = ImageReader(img)
c = canvas.Canvas('pdf.pdf', pagesize=(320*mm, 470*mm))
c.drawImage(img, x=0, y=0, height=152*mm, width=102*mm)
c.save()
...

Как я могу решить эту проблему?

...