
Como gerar um relatório em PDF em Python
A geração de relatórios em formato PDF é uma necessidade comum para analistas de dados e cientistas de dados. IronPDF é uma biblioteca versátil que permite a criação de arquivos PDF com tabelas em aplicações Python, similar à biblioteca FPDF em PHP. Este tutorial irá guiá-lo no uso do IronPDF para criar e escrever relatórios em PDF a partir de modelos HTML ou URLs, um processo que pode ser demorado se não for feito corretamente.
IronPDF: Biblioteca PDF em Python
IronPDF é uma biblioteca abrangente projetada para aplicações Python que permite criar PDFs, editar e extrair conteúdo de arquivos PDF. É uma ferramenta poderosa que atende às necessidades de engenheiros de software que frequentemente enfrentam o desafio de gerar resultados finais para documentos PDF a partir de diversas fontes de dados ou modelos. Com o IronPDF, os usuários podem transformar facilmente conteúdo HTML ou URLs em arquivos PDF , manipular o conteúdo de PDFs e integrar essas funcionalidades em projetos de código Python, tornando-o uma biblioteca essencial para qualquer desenvolvedor Python que trabalhe com geração e manipulação de PDFs.
O IronPDF também permite criar formulários interativos , dividir e combinar arquivos PDF, extrair texto e imagens de arquivos PDF, pesquisar palavras específicas em um arquivo PDF, rasterizar páginas PDF em imagens , bem como imprimir arquivos PDF .
Pré-requisitos
O primeiro passo é garantir que você atenda aos seguintes pré-requisitos:
- Python 3.7 ou superior instalado em seu sistema.
- O ambiente de execução .NET 6.0 deve estar instalado, visto que a biblioteca IronPDF depende do .NET 6.0 como tecnologia subjacente.
Você pode instalar o runtime do .NET 6.0 na página oficial de downloads do .NET .
Instalação
Para usar o IronPDF, você precisa instalar o pacote via pip:
Instale o IronPDF
O IronPDF fará o download automático de dependências adicionais na sua primeira execução.
Criando um documento PDF simples
Aqui está um exemplo de código para gerar um documento PDF simples usando um modelo HTML:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render an HTML string as a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Save the rendered PDF to a file
pdf.SaveAs("hello_world.pdf")
Este trecho de código converte uma string HTML em um arquivo PDF e o salva na mesma pasta do seu script Python.
Gerar PDF a partir de URL
O IronPDF também pode criar um PDF a partir de um URL de página da web com o seguinte código de exemplo:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render a URL as a PDF document
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/python/")
# Save the rendered PDF to a file
pdf.SaveAs("website_snapshot.pdf")
Geração de relatórios em PDF com Data Frames
Criar relatórios em PDF com aparência profissional é muito fácil com IronPDF e Python. Veja como você pode gerar um relatório aprimorado usando quadros de dados detalhados e estilos HTML personalizados:
Etapa 1: Importando Bibliotecas
Primeiro, você precisa importar as bibliotecas necessárias. ChromePdfRenderer do IronPDF é essencial para o processo de geração de PDF. Esta biblioteca permite a conversão de conteúdo HTML em documentos PDF. Além disso, importe o pandas, uma poderosa biblioteca de manipulação de dados, para criar e gerenciar data frames. O Pandas será usado para estruturar os dados do seu relatório em formato tabular.
from ironpdf import ChromePdfRenderer
import pandas as pd
Etapa 2: Configuração da chave de licença
A ativação do IronPDF requer a configuração da sua chave de licença. Esta etapa é crucial, pois desbloqueia todos os recursos do IronPDF, permitindo gerar PDFs sem marcas d'água ou limitações. É um passo simples, porém vital, para o uso profissional da biblioteca.
License.LicenseKey = "Your-License-Key"
Etapa 3: Criando um DataFrame
Aqui, você criará um dataframe usando o Pandas. Este conjunto de dados serve como fonte de dados para o seu relatório. O exemplo fornecido inclui informações detalhadas sobre os funcionários, demonstrando a capacidade do Pandas em lidar com conjuntos de dados complexos e estruturá-los. O conjunto de dados pode ser personalizado com base nas especificidades do relatório que você pretende criar.
data = {
'Employee ID': [101, 102, 103, 104],
'Name': ['John Doe', 'Alice Smith', 'Bob Johnson', 'Emily Davis'],
'Age': [28, 34, 45, 29],
'Department': ['Sales', 'HR', 'IT', 'Marketing'],
'City': ['New York', 'London', 'San Francisco', 'Berlin']
}
df = pd.DataFrame(data)
Etapa 4: Criando o modelo HTML
Nesta etapa, você criará um modelo HTML com estilo CSS. Este modelo define a apresentação visual do seu relatório em PDF. A estilização em CSS melhora o apelo visual e a legibilidade dos dados apresentados no relatório. A inserção dinâmica do dataframe neste modelo HTML é feita através da formatação de strings do Python.
# HTML styling for the PDF report
html_style="""
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
padding: 5px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h2>Company Employee Report</h2>
{table}
</body>
</html>
"""
# Replace {table} with the HTML representation of the data frame
html_content = html_style.format(table=df.to_html(index=False, border=0))
Etapa 5: Renderizar e salvar o PDF
Por fim, utilize o ChromePdfRenderer do IronPDF para converter o conteúdo HTML em um documento PDF. O método RenderHtmlAsPdf processa o HTML e o CSS, convertendo-os em um arquivo PDF. A função SaveAs é então usada para salvar esse arquivo, resultando em um relatório em PDF bem formatado e visualmente atraente. Esta etapa engloba o processo de conversão, combinando os dados e o modelo em um documento final.
# Render the HTML string to a PDF document
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html_content)
# Save the rendered PDF to a file
pdf.SaveAs("enhanced_employee_report.pdf")
Saída
Segue o relatório de saída em PDF:
Relatório de Funcionários da Empresa
Criando um documento PDF simples
Aqui está um exemplo de código para gerar um documento PDF simples usando um modelo HTML:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render an HTML string as a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Save the rendered PDF to a file
pdf.SaveAs("hello_world.pdf")
Este trecho de código converte uma string HTML em um arquivo PDF e o salva na mesma pasta do seu script Python.
Gerar PDF a partir de URL
O IronPDF também pode criar um PDF a partir de um URL de página da web com o seguinte código de exemplo:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render a URL as a PDF document
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/python/")
# Save the rendered PDF to a file
pdf.SaveAs("website_snapshot.pdf")
Isso irá salvar uma captura de tela em PDF da página da web especificada.
Conclusão
IronPDF é uma ferramenta poderosa para desenvolvedores Python e cientistas de dados gerarem relatórios em PDF. Seguindo este guia, você poderá integrar facilmente a geração de PDFs em seus projetos Python, seja criando PDFs a partir de modelos HTML, URLs ou data frames. Lembre-se de explorar a extensa documentação e os exemplos do IronPDF para aproveitar ao máximo seus recursos em suas tarefas com PDFs, como adicionar um gráfico de pizza.
Continue experimentando os diferentes recursos e opções que o IronPDF oferece para criar relatórios em PDF que atendam às suas necessidades. Com a abordagem correta, o que parece uma tarefa demorada pode se tornar uma parte eficiente e automatizada do seu fluxo de trabalho.
O IronPDF oferece um período de teste gratuito , permitindo que os usuários explorem totalmente seus recursos antes de efetuar a compra. Além disso, é gratuito para fins de desenvolvimento, oferecendo uma solução econômica para desenvolvedores durante a fase de desenvolvimento. Para implantação comercial, o licenciamento para IronPDF começa em $999, atendendo às necessidades de nível profissional e empresarial.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.
Artigos relacionados


