我应该使用PIL还是ReportLab将图像转换为PDF。给出的代码示例

时间:2018-11-11 14:59:14

标签: python pdf-generation python-imaging-library reportlab

我已经看到了使用PIL和ReportLab的解决方案。这两个中的哪一个是更好的方法。我的图像在150 dpi时为1152 x 1565

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?

谢谢

0 个答案:

没有答案