2014-12-03 10 views
5

Ich habe ein JPG/PNG/PDF-Bild, und ich möchte es auf einer A4-Seite, zentriert, als PDF (Fyi: so dass Es ist einfach für meine Endbenutzer, es anzuzeigen/zu drucken).Python PIL/Kissen - Pad Bild auf die gewünschte Größe (zB A4)

in beliebiger Reihenfolge:

  • Pad das Bild eine A4 (mit Weiß)
  • Transformation PDF

I im.save('filename.pdf', 'PDF', resolution=100.0) ein Image Objekt zu PDF speichern tun können, füllen, aber Ich weiß nicht, wie ich die andere Aufgabe machen soll.

Ich würde wirklich Kissen bevorzugen, aber andere Antworten sind willkommen.

+0

Ich denke, Sie müssen die DPI erhalten, dann berechnen gewünschte Auflösung für diese Größe mit der DPI – Kroltan

Antwort

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) 

Dies wird als Hypothese, dass unter my_image_file die gleiche Auflösung hat, 72 dpi.