Должен ли я использовать PIL или ReportLab для преобразования изображений в PDF. Примеры кода приведены - PullRequest
0 голосов
/ 11 ноября 2018

Я видел решения, использующие PIL и ReportLab. Какой из этих двух будет лучшим путем? Мои изображения 1152 x 1565 при разрешении 150 dpi

from reportlab.pdfgen import canvas
import os

# page coordinates are in 1/72 nd of an inch
# width =  595 height = 841 ==> A4
# width =  553 height = 751 ==> Image size at 150 dpi

c = canvas.Canvas("sample.pdf")
os.chdir("Images")


for filename in os.listdir():
    c.drawImage(filename, 0, 0, width=595, height=841)
    c.showPage()

os.chdir("..")
c.save()

Или с помощью PIL я сделал

from PIL import Image
import os


os.chdir("Images")
im_list = []
for file in os.listdir():
    img = Image.open(file)
    im_list.append(img)

os.chdir("..")
img.save("image.pdf", "PDF", resolution=100.0, save_all=True, append_images=im_list)

Я знаю, что в приведенном выше коде есть небольшая проблема с последней страницей, которая также печатается как страница 1 (которую, я думаю, я могу исправить), но кроме этого есть предпочтительный модуль для записи нескольких изображений на несколько страниц PDF

Спасибо

...