Python PIL/Pillow - 将图像填充到所需大小(例如A4)

laj*_*rre 5 python image python-imaging-library pillow

我有一个JPG/PNG/PDF图像,我想把它放在一个A4页面上,以PDF为中心(FYI:这样我的最终用户很容易显示/打印它).

无论是哪种顺序:

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

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

我真的更喜欢使用Pillow,但欢迎其他答案.

laj*_*rre 10

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)
Run Code Online (Sandbox Code Playgroud)

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