我已经看到了使用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?
谢谢