2014-12-03 433 views
5

我有一个JPG/PNG/PDF图像,我希望将它放在A4页面上,居中显示为PDF(仅供参考:我的最终用户很容易显示/打印它)。Python PIL/Pillow - 将图片打印到希望的大小(例如A4)

以任意次序:

  • 垫的图像,以填补A4(白色)
  • 转换为PDF

我可以做im.save('filename.pdf', 'PDF', resolution=100.0)保存一个Image对象为PDF格式,但我不知道如何去做其他任务。

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

+0

我认为你需要获得DPI,然后使用DPI计算出该尺寸的所需分辨率 – Kroltan 2014-12-03 11:56:28

回答

6
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。