Criando um PDF de Múltiplas Páginas com Matplotlib

Beginner

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

Introdução

Neste laboratório, você aprenderá como criar um arquivo PDF de várias páginas com Python Matplotlib. O arquivo PDF conterá várias páginas com diferentes gráficos e metadados. Você também aprenderá como anexar anotações ao arquivo PDF.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar Bibliotecas

Primeiramente, você precisa importar as bibliotecas necessárias para criar o arquivo PDF. Neste laboratório, usaremos as bibliotecas Matplotlib e datetime.

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

Criar o Objeto PdfPages

Em seguida, você precisa criar um objeto PdfPages no qual salvará as páginas do arquivo PDF. Você pode usar a instrução 'with' para garantir que o objeto PdfPages seja fechado corretamente no final do bloco, mesmo que ocorra uma exceção.

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

Criar a Primeira Página

Nesta etapa, você criará a primeira página do arquivo PDF. A página conterá um gráfico de um gráfico simples.

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()

Criar a Segunda Página

Nesta etapa, você criará a segunda página do arquivo PDF. A página conterá um gráfico de uma onda senoidal.

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()

Criar a Terceira Página

Nesta etapa, você criará a terceira página do arquivo PDF. A página conterá um gráfico de uma 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)  ## or you can pass a Figure object to pdf.savefig
plt.close()

Definir os Metadados do Arquivo PDF

Nesta etapa, você definirá os metadados do arquivo PDF. Você pode definir o título, autor, assunto, palavras-chave e data de criação/modificação do arquivo 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()

Resumo

Neste laboratório, você aprendeu como criar um arquivo PDF de várias páginas com Python Matplotlib. Você também aprendeu como anexar metadados e anotações ao arquivo PDF. Você pode usar essas técnicas para criar relatórios profissionais com múltiplos gráficos e anotações.