Como criar arquivos PDF em Python
Crie arquivos PDF em Python usando IronPDF convertendo strings HTML, arquivos HTML ou URLs para documentos PDF com apenas algumas linhas de código. O IronPDF lida automaticamente com a renderização, a formatação e os recursos de segurança.
Início rápido: Crie um PDF em Python
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/quickstart.py
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
Como Criar um Arquivo PDF em Python
- Instale a biblioteca IronPDF for Python
- Use o método
RenderHtmlAsPdfpara converter uma string HTML em um documento PDF - Use o método
RenderHtmlFileAsPdfpara gerar um arquivo PDF a partir de um arquivo HTML local - Use o método
RenderUrlAsPdfpara criar um PDF a partir de uma URL da web - Aplique proteção por senha e salve o PDF no diretório desejado
Automatizar a criação de PDFs em Python permite que os desenvolvedores gerem documentos programaticamente: faturas, relatórios, contratos e certificados, sem sair da aplicação. Tradicionalmente, isso exigia manuseio de motores de layout e especificações de formato, mas a abordagem HTML-primeira do IronPDF significa que qualquer documento HTML/CSS torna-se um PDF preciso no pixel em uma única chamada de método.
Este Guia de Como-Fazer cobre os quatro principais fluxos de trabalho de criação de PDF no IronPDF for Python: convertendo uma string HTML, convertendo um arquivo HTML local, convertendo uma URL e aplicando proteção por senha antes da exportação.
Qual Biblioteca Python Devo Usar para Criação de PDF?
IronPDF é uma biblioteca Python desenvolvida especificamente para criar documentos PDF a partir de HTML. Sua API é simples: basta fornecer a marcação HTML (ou o caminho de um arquivo, ou uma URL) e receber um objeto PdfDocument que você pode salvar, carimbar, mesclar ou criptografar.
A biblioteca envolve o motor de renderização robusto do IronPDF for .NET, o mesmo motor usado em projetos .NET, Java e Node.js, de modo que a saída HTML-para-PDF é consistente em todas as plataformas. Suporta padrões web modernos, incluindo CSS3, HTML5, execução de JavaScript, fontes web e layouts responsivos.
Além da geração de PDF, o IronPDF cobre o ciclo de vida completo do PDF:
- Extração de texto e dados de PDFs existentes
- Conversão de formato de arquivo (HTML, DOCX, imagens para PDF)
- Junção de múltiplos PDFs
- Compressão de arquivos PDF
- Criptografia por senha e gerenciamento de direitos digitais
- Preenchimento programático de formulários PDF
Quais Pré-Requisitos Eu Preciso Antes de Criar PDFs?
Para usar o IronPDF for Python, o seguinte software deve estar instalado:
.NET 6.0 SDK: IronPDF for Python funciona sobre a biblioteca IronPDF .NET . Baixe-o da página de download oficial do Microsoft .NET 6.0.Python 3.x: Baixe e instale o Python a partir do site oficial do Python . Selecione a opção para adicionar o Python ao PATH durante a instalação.pip: Incluído no Python 3.4+. Verifique a instalação executandopip --versionno seu terminal.IronPDF: Instale a biblioteca usando o pip:
pip install ironpdf
pip3 em vez de pip para instalar o pacote Python 3. Se você encontrar erros de instalação, consulte nosso guia de solução de problemas para questões de OSError.Que configuração de código é necessária antes de criar PDFs?
Adicione a seguinte declaração de importação ao início do seu script Python:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/import.py
# Import statement for IronPDF for Python
from ironpdf import *
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
# Import statement for IronPDF for Python
from ironpdf import *
Antes de qualquer outra chamada do IronPDF , configure uma chave de licença válida atribuindo-a ao atributo LicenseKey de License. Isso remove a marca d'água de teste dos PDFs gerados. Para instruções detalhadas sobre como implementar chaves de licença, visite o guia de configuração de chaves de licença.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/license.py
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Como Converter uma String HTML em um Documento PDF?
O método RenderHtmlAsPdf converte uma string HTML diretamente em um objeto PdfDocument. Passe qualquer marcação HTML válida como argumento do método, e o IronPDF a renderiza usando seu motor Chromium embutido, executando JavaScript e aplicando CSS antes de produzir o PDF.
Essa abordagem é a mais flexível para conteúdo gerado dinamicamente: construa a string HTML em Python (usando motores de template como Jinja2 ou formatação simples de strings), e então passe-a diretamente para o renderizador. Gerar uma fatura, por exemplo, significa preencher um modelo HTML com os dados do pedido e chamar RenderHtmlAsPdf em uma única etapa.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-string-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()
# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()
# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
Como faço para salvar o PDF gerado?
Após a string HTML ser convertida em uma instância de PdfDocument, chame SaveAs com um caminho de arquivo de destino:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/save-html-string.py
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
O arquivo htmlstring_to_pdf.pdf é gravado no diretório de trabalho atual, preservando o conteúdo HTML com todos os estilos CSS. Para técnicas avançadas de renderização de HTML, incluindo frameworks CSS, frameworks JavaScript e layouts complexos, veja o tutorial de HTML para PDF for Python.
Como Gerar um PDF a partir de um Arquivo HTML Local?
Quando o conteúdo HTML reside em um arquivo no sistema de arquivos local, RenderHtmlFileAsPdf é o método correto. Forneça o caminho do arquivo como argumento:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-file-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
O IronPDF resolve caminhos relativos para arquivos CSS, imagens e scripts vinculados em relação à localização do arquivo HTML. O renderizador carrega todos os ativos associados antes de gerar o PDF, assim o resultado corresponde ao que um navegador exibiria. Isso o torna uma opção confiável para documentos modelados onde o HTML e os ativos são mantidos como arquivos em disco.
Como Criar um PDF de uma URL em Python?
Use RenderUrlAsPdf para converter uma página da web em PDF. Forneça a URL completa como argumento:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/url-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Save the output PDF
pdf.SaveAs("url.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Save the output PDF
pdf.SaveAs("url.pdf")
A funcionalidade de renderização de URL suporta tecnologias web modernas, incluindo conteúdo JavaScript dinâmico, chamadas AJAX e layouts responsivos. O IronPDF espera que a página carregue completamente, incluindo a execução de JavaScript, antes de capturar o PDF, de modo que todo o conteúdo dinâmico seja capturado com precisão.
Onde posso encontrar mais exemplos de conversão de URL?
Exemplos adicionais para conversão de páginas da web para PDFs estão disponíveis na página de exemplos de código de URL para PDF. Para páginas web que requerem autenticação, veja o guia sobre logins de sites e sistema.
Como posso personalizar as opções de formatação de PDF?
A propriedade RenderingOptions de ChromePdfRenderer controla a formatação e o layout do PDF de saída. Configurações comuns incluem tamanho de página, orientação de página, tamanho das margens e nível de zoom.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/rendering-options.py
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25
# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25
# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
Quais Configurações de Formatação Estão Disponíveis?
A propriedade RenderingOptions expõe configurações para tamanho do papel, orientação da página, margens e Zoom. A tabela abaixo lista as propriedades mais comumente usadas:
| Propriedade | Tipo | Descrição |
|---|---|---|
TamanhoDoPapel |
TamanhoDePapelPdf |
Tamanhos de página padrão (A4, Carta, Legal) ou tamanhos personalizados |
OrientacaoDoPapel |
OrientacaoDePapelPdf |
Orientação de página retrato ou paisagem |
MargemSuperior / MargemInferior |
int (mm) |
Margens superior e inferior da página em milímetros |
MargemEsquerda / MargemDireita |
int (mm) |
Margens esquerda e direita da página em milímetros |
CabecalhoHtml / RodapeHtml |
CabecalhoRodapeHtml |
Cabeçalhos e rodapés HTML em execução com suporte a número de página |
Para uma referência completa com configurações adicionais, veja o exemplo de código de configurações de geração de PDF.
HtmlHeader e HtmlFooter em RenderingOptions. O exemplo de cabeçalhos e rodapés demonstra a sintaxe completa.Como proteger arquivos PDF com senhas?
Para proteger um PDF com senha, defina a propriedade UserPassword no atributo SecuritySettings do objeto PdfDocument. Uma senha de proprietário também pode ser definida para restringir permissões de edição separadamente do acesso de leitura.
Considere proteger o PDF criado no exemplo de URL:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/password-protect.py
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"
# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"
# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"
# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"
# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
Como funciona a proteção por senha na prática?
Ao abrir o documento protected.pdf em qualquer visualizador de PDF, será solicitada a senha do usuário antes de exibir o conteúdo do documento. A senha do proprietário proporciona acesso administrativo para modificar as configurações de segurança. A configuração AllowUserCopyPasteContent = False impede que os leitores copiem texto do PDF, mas ainda permite a impressão.
Para maior controle sobre as permissões de documentos, veja o exemplo de configurações de segurança e metadados e o guia de criptografia e descriptografia de PDF.
Qual é o código-fonte completo?
O exemplo combinado abaixo demonstra os quatro fluxos de trabalho de criação de PDF em um único script Python:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/complete-example.py
from ironpdf import *
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")
# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")
# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")
# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
from ironpdf import *
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")
# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")
# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")
# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
O IronPDF renderiza todas as imagens e texto com precisão enquanto preserva a formatação. Elementos interativos, como botões, permanecem funcionais, e caixas de texto mantêm sua editabilidade dentro do PDF gerado.
Quais São os Próximos Passos para Criar PDFs em Python?
Este guia abordou os três principais métodos de criação de PDFs no IronPDF for Python — string HTML, arquivo HTML local e URL — juntamente com a proteção por senha para proteger os arquivos de saída. Cada método produz um objeto PdfDocument que pode ser processado posteriormente: carimbado, mesclado, dividido ou criptografado antes de ser salvo.
Pronto para estender esses fluxos de trabalho? Os seguintes recursos demonstram os próximos passos práticos:
- Tutorial de HTML para PDF em Python — renderização avançada com frameworks CSS e JavaScript
- Mesclar PDFs em Python — combinar vários documentos em um único arquivo
- Comprimir PDFs em Python — reduzir o tamanho do arquivo para armazenamento e e-mail
- Preencher Formulários PDF em Python — preencher campos de formulários PDF existentes
IronPDF requer uma licença válida para uso em produção. O licenciamento começa a partir de $999. Start a free 30-day trial to evaluate the library without restrictions, or view licensing options for the full product suite.
Perguntas frequentes
Como instalo o IronPDF for Python?
Execute pip install ironpdf no seu terminal. Você também precisa ter Python 3.x e o SDK .NET 6.0 instalados, já que o IronPDF for Python roda em cima do motor .NET do IronPDF.
Qual é a maneira mais simples de converter HTML para PDF em Python?
Crie uma instância de ChromePdfRenderer, em seguida, chame renderer.RenderHtmlAsPdf('. O método aceita qualquer string HTML válida e retorna um objeto Hello
')PdfDocument que você pode salvar com pdf.SaveAs('output.pdf').
Posso gerar um PDF a partir de um arquivo HTML local?
Sim. Use renderer.RenderHtmlFileAsPdf('caminho/para/arquivo.html'). O IronPDF resolve CSS, imagens e scripts vinculados relativos à localização do arquivo HTML antes da renderização.
Como faço para converter a URL de uma página da web ao vivo em PDF?
Chame renderer.RenderUrlAsPdf('https://exemplo.com'). O IronPDF espera o carregamento completo da página, incluindo a execução de JavaScript, antes de capturar o PDF.
Como faço para proteger com senha um PDF gerado?
Defina pdf.SecuritySettings.UserPassword para exigir uma senha para abrir o arquivo, e pdf.SecuritySettings.OwnerPassword para restringir permissões de edição. Chame pdf.SaveAs posteriormente para gravar o arquivo protegido.
Posso controlar o tamanho da página e as margens dos PDFs gerados?
Sim. Configure renderer.RenderingOptions.PaperSize (por exemplo, PdfPaperSize.A4) e defina MarginTop, MarginBottom, MarginLeft e MarginRight em milímetros antes de chamar um método de renderização.
O IronPDF suporta execução de JavaScript na conversão de HTML para PDF?
Sim. O IronPDF usa um mecanismo de renderização baseado em Chromium que executa JavaScript, processa chamadas AJAX e aplica CSS antes de gerar o PDF, de modo que o conteúdo dinâmico é capturado com precisão.
Posso mesclar ou comprimir PDFs após criá-los?
Sim. O IronPDF fornece métodos separados para mesclar múltiplos objetos PdfDocument em um único arquivo e para comprimir PDFs existentes para reduzir o tamanho do arquivo. Ambas as operações funcionam no objeto PdfDocument retornado por qualquer método de renderização.

