png's als PDF abspeichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Python_Test
User
Beiträge: 9
Registriert: Samstag 10. Februar 2018, 17:50

Hallo Python-Gemeinde,
weiß von euch jemand, wie man mehrere png's in einem PDF speichert.
Das öffnen der Bilder über die for-Schleife funktioniert ganz gut. Problem liegt am letzten Befehl in der for-Schleife zum abspeichern im PDF. Mir fehlt an der Stelle das wissen, wie man es anders programmieren kann.

Code: Alles auswählen

import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

dirname = (  ## hier steht der Pfad zum Ordner##  )
objects = os.listdir(dirname)
os.chdir(dirname)
objects.sort()
pp = PdfPages('multipage2.pdf')
    
for objectname in objects:
    print(objectname)
    fig = Image.open(objectname).show()
    fig=plt.savefig(pp, format='pdf', dpi=600)
pp.close() 

Ich freue mich auf hilfreiche Antworten.


viele Grüße und Danke
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

ungetestet:

Code: Alles auswählen

...
with PdfPages('multipage2.pdf') as pdf:
    for objectname in objects:
        print(objectname)
        fig = Image.open(objectname).show()
        plt.fig()
        pdf.savefig(pp, format='pdf', dpi=600)
        plt.close()
Siehe: https://matplotlib.org/gallery/misc/multipage_pdf.html

Gruß, noisefloor
Python_Test
User
Beiträge: 9
Registriert: Samstag 10. Februar 2018, 17:50

Hallo noisefloor,
danke für deine Antwort. Geht aber leider noch nicht. Fehlermeldung ist
AttributeError: module 'matplotlib.pyplot' has no attribute 'fig'

Was kann hier noch der Fehler sein?

viele Grüße
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

in dem verlinkten Beispiel steht doch, wie es geht, Dann musst du deinen Code halt komplett am Beispiel ausrichten.

Gruß, noisefloor
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Nachtrag: Wenn du nur Bilder einbaust und gar nichts plottest - warum nimmst du dann nicht ReportLab? Das ist eigentlich der de-facto Standard um mit Python PDFs zu bauen.

Gruß, noisefloor
Python_Test
User
Beiträge: 9
Registriert: Samstag 10. Februar 2018, 17:50

reportlab kannte ich ganz einfach noch nicht. da werde ich mich mal einlesen. danke nochmal für die tipps.
Antworten