[英]How to save an image list in PDF using PIL (pillow)?
我想使用 PIL .save()
方法将我的 PIL 图像列表导出为 pdf。
在PIL 文档中,保存部分说: => 我们可以对 pdf 格式使用append_images
选项。
在枕头的 github 页面中,这个问题说:将append_images 添加到 PDF 保存 #2526
我写了这段代码:
import PIL
im1 = PIL.Image.open("1.jpg").convert("RGB")
im2 = PIL.Image.open("2.jpg").convert("RGB")
im3 = PIL.Image.open("3.jpg").convert("RGB")
images = [im1,im2,im3]
images[0].save("out.pdf", save_all=True, append_images=images[1:])
但它不起作用!
这些错误引发:
Traceback (most recent call last):
File "sample.py", line 13, in <module>
gif.save("out.pdf", save_all=True, append_images=images)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/Image.py", line 1928, in save
save_handler(self, fp, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/PdfImagePlugin.py", line 55, in _save_all
_save(im, fp, filename, save_all=True)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/PdfImagePlugin.py", line 182, in _save
Image.SAVE["JPEG"](im, op, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/JpegImagePlugin.py", line 609, in _save
info = im.encoderinfo
AttributeError: 'Image' object has no attribute 'encoderinfo'
这个问题在 PIL ver 5.0.0 ( https://pillow.readthedocs.io/en/latest/ ) 中得到解决。
试试这个格式
from PIL import Image
im1 = PIL.Image.open("1.jpg").convert("RGB")
im2 = PIL.Image.open("2.jpg").convert("RGB")
im3 = PIL.Image.open("3.jpg").convert("RGB")
images = [im2,im3]
im1.save("out.pdf", save_all=True, append_images=images)
有点偏离主题,但如果您有大量图像要转换,则使用列表理解是可行的方法。
from PIL import Image
im1=Image.open('1.png').convert('RGB')
images = [Image.open(str(imgNumber)+'.png').convert('RGB') for imgNumber in range(2,100)]
im1.save("imgBook.PDF", save_all=True, append_images=images)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.