Introducción
En este laboratorio, aprenderá a crear un archivo PDF multipágina con Python Matplotlib. El archivo PDF contendrá varias páginas con diferentes gráficos y metadatos. También aprenderá a adjuntar anotaciones al archivo PDF.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar bibliotecas
En primer lugar, debe importar las bibliotecas necesarias para crear el archivo PDF. En este laboratorio, usaremos las bibliotecas Matplotlib y datetime.
import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
Crear el objeto PdfPages
A continuación, debe crear un objeto PdfPages al que guardará las páginas del archivo PDF. Puede usar la instrucción 'with' para asegurarse de que el objeto PdfPages se cierre correctamente al final del bloque, incluso si se produce una excepción.
with PdfPages('multipage_pdf.pdf') as pdf:
Crear la primera página
En este paso, creará la primera página del archivo PDF. La página contendrá un gráfico de una gráfica simple.
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()
Crear la segunda página
En este paso, creará la segunda página del archivo PDF. La página contendrá un gráfico de una onda sinusoidal.
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)") ## adjuntar metadatos (como nota de pdf) a la página
pdf.savefig()
plt.close()
Crear la tercera página
En este paso, creará la tercera página del archivo PDF. La página contendrá un gráfico de una parábola.
plt.rcParams['text.usetex'] = False
fig = plt.figure(figsize=(4, 5))
plt.plot(x, x ** 2, 'ko')
plt.title('Page Three')
pdf.savefig(fig) ## o puede pasar un objeto Figure a pdf.savefig
plt.close()
Establecer los metadatos del archivo PDF
En este paso, establecerá los metadatos del archivo PDF. Puede establecer el título, el autor, el asunto, las palabras clave y la fecha de creación/modificación del archivo PDF.
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()
Resumen
En este laboratorio, aprendiste cómo crear un archivo PDF multipágina con Matplotlib de Python. También aprendiste cómo adjuntar metadatos y anotaciones al archivo PDF. Puedes utilizar estas técnicas para crear informes profesionales con múltiples gráficos y anotaciones.