Python PIL/Pillow-Pad图像至所需大小(例如,A4)

问题描述

我有一张JPG/PNG/PDF图像,我想将其放在A4页面上,居中显示为PDF格式(仅供参考:以便我的最终用户可以轻松地显示/打印它)。

按任一顺序:

  • 填充图像以填充A4(白色)
  • 转换为PDF

我可以执行im.save('filename.pdf', 'PDF', resolution=100.0)Image对象保存到PDF,但我不知道如何执行其他任务。

我真的更喜欢使用枕头,但欢迎使用其他答案。


解决方案

from PIL import Image

im = Image.open(my_image_file)
a4im = Image.new('RGB',
                 (595, 842),   # A4 at 72dpi
                 (255, 255, 255))  # White
a4im.paste(im, im.getbbox())  # Not centered, top-left corner
a4im.save(outputfile, 'PDF', quality=100)

这是假设my_image_file具有相同的分辨率72dpi。

相关文章