Erstellen einer mehrseitigen PDF mit Matplotlib

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du mit Python Matplotlib eine mehrseitige PDF-Datei erstellen kannst. Die PDF-Datei wird mehrere Seiten mit verschiedenen Diagrammen und Metadaten enthalten. Du wirst auch lernen, wie du Anmerkungen an die PDF-Datei anhängen kannst.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn du bei der Lernphase Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Bibliotheken importieren

Zunächst musst du die erforderlichen Bibliotheken für das Erstellen der PDF-Datei importieren. In diesem Lab werden wir die Matplotlib- und datetime-Bibliotheken verwenden.

import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages

Erstellen des PdfPages-Objekts

Als nächstes musst du ein PdfPages-Objekt erstellen, in das du die Seiten der PDF-Datei speichern wirst. Du kannst die with-Anweisung verwenden, um sicherzustellen, dass das PdfPages-Objekt am Ende des Blocks richtig geschlossen wird, auch wenn eine Ausnahme auftritt.

with PdfPages('multipage_pdf.pdf') as pdf:

Erstellen der ersten Seite

In diesem Schritt wirst du die erste Seite der PDF-Datei erstellen. Die Seite wird einen Plot eines einfachen Graphen enthalten.

plt.figure(figsize=(3, 3))
plt.plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o')
plt.title('Page One')
pdf.savefig()
plt.close()

Erstellen der zweiten Seite

In diesem Schritt wirst du die zweite Seite der PDF-Datei erstellen. Die Seite wird einen Plot einer Sinuswelle enthalten.

plt.rcParams['text.usetex'] = True
plt.figure(figsize=(8, 6))
x = np.arange(0, 5, 0.1)
plt.plot(x, np.sin(x), 'b-')
plt.title('Page Two')
pdf.attach_note("plot of sin(x)")  ## attach metadata (as pdf note) to page
pdf.savefig()
plt.close()

Erstellen der dritten Seite

In diesem Schritt wirst du die dritte Seite der PDF-Datei erstellen. Die Seite wird einen Plot einer Parabel enthalten.

plt.rcParams['text.usetex'] = False
fig = plt.figure(figsize=(4, 5))
plt.plot(x, x ** 2, 'ko')
plt.title('Page Three')
pdf.savefig(fig)  ## or you can pass a Figure object to pdf.savefig
plt.close()

Festlegen der Metadaten der PDF-Datei

In diesem Schritt wirst du die Metadaten der PDF-Datei festlegen. Du kannst den Titel, den Autor, das Thema, die Schlüsselwörter sowie das Erstellungs- und Änderungsdatum der PDF-Datei festlegen.

d = pdf.infodict()
d['Title'] = 'Multipage PDF Example'
d['Author'] = 'Jouni K. Sepp\xe4nen'
d['Subject'] = 'How to create a multipage pdf file and set its metadata'
d['Keywords'] = 'PdfPages multipage keywords author title subject'
d['CreationDate'] = datetime.datetime(2009, 11, 13)
d['ModDate'] = datetime.datetime.today()

Zusammenfassung

In diesem Lab hast du gelernt, wie man mit Python Matplotlib eine mehrseitige PDF-Datei erstellt. Du hast auch gelernt, wie man Metadaten und Anmerkungen an die PDF-Datei anhängt. Du kannst diese Techniken verwenden, um professionelle Berichte mit mehreren Plots und Anmerkungen zu erstellen.