Como converter HTML para PDF usando o IronPDF for Python

HTML para PDF: Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

Este guia fornece aos desenvolvedores Python instruções passo a passo sobre como utilizar a biblioteca IronPDF para converter conteúdo HTML em arquivos PDF (formato de documento portátil) de alta qualidade.

IronPDF é uma biblioteca abrangente de conversão e processamento de PDF que suporta várias linguagens de programação, incluindo .NET , Java e Python . Este tutorial foca especificamente no uso do IronPDF em scripts Python para converter conteúdo HTML, seja ele na forma de arquivos ou marcação.

Um tutorial separado para conversão de HTML em PDF em aplicações .NET também está disponível.


Visão geral


Começando

1. Instalando a biblioteca IronPDF para PDF em Python

Para instalar a biblioteca IronPDF for Python, você pode usar o popular gerenciador de pacotes, pip. Basta executar o seguinte comando:

pip install ironpdf

PontasPara instalar uma versão específica do IronPDF, use a seguinte sintaxe: ==2023.x.x. Por exemplo, você pode executar o comando:

pip install ironpdf==2023.x.x
pip install ironpdf==2023.x.x
SHELL

ObserveO IronPDF for Python depende da biblioteca IronPDF .NET , especificamente do .NET 6.0, como sua tecnologia subjacente. Portanto, é necessário ter o SDK do .NET 6.0 instalado em sua máquina para usar o IronPDF for Python.


Guia prático e exemplos de código

2. Converter HTML para PDF

Na seção seguinte, vamos explorar as impressionantes capacidades de renderização do IronPDF para converter HTML em PDF.

O componente principal para renderização de documentos PDF é a classe ChromePdfRenderer. Além disso, a classe PdfDocument oferece uma variedade de recursos de manipulação. O IronPDF oferece métodos confiáveis ​​para converter conteúdo HTML em documentos PDF, atendendo a three key scenarios:

  • Converter strings/marcação HTML em PDF
  • Converter arquivos HTML/zip para PDF
  • Converter URLs para PDF

Esta seção fornecerá uma visão geral concisa de cada caso de uso, acompanhada de recursos suplementares para mais detalhes.

2.1 Importar o pacote IronPDF

Para importar o IronPDF, inclua a seguinte declaração de importação no início dos arquivos de origem onde o IronPDF será utilizado:

# Import statement for IronPDF for Python
from ironpdf import *
# Import statement for IronPDF for Python
from ironpdf import *
PYTHON

2.2 Definir a chave de licença (opcional)

O IronPDF for Python é gratuito, mas adiciona uma marca d'água de fundo em mosaico aos PDFs para usuários da versão gratuita.

Visite a página de licenciamento para obter sua chave de licença e desfrutar de PDFs sem marca d'água.

Para gerar PDFs sem marcas d'água usando o IronPDF, é necessário fornecer uma chave de licença válida à biblioteca. O trecho de código a seguir demonstra como configurar a biblioteca com uma chave de licença:

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

Certifique-se de que a chave de licença esteja configurada antes de gerar arquivos PDF ou modificar seu conteúdo. Recomenda-se chamar o método LicenseKey antes de qualquer outra linha de código. Você pode adquirir uma chave de licença em nossa página de licenciamento ou entrar em contato conosco para obter uma chave de licença de avaliação gratuita .

2.3 Defina o local do arquivo de log (opcional)

O IronPDF pode gerar mensagens de log em um arquivo de texto chamado Default.log no mesmo diretório do seu script Python.

Se você deseja personalizar o nome e o local do arquivo de log, pode definir a propriedade LogFilePath usando o trecho de código abaixo:

# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
PYTHON

Logger.LogFilePath deve ser chamado antes de usar quaisquer métodos de conversão e manipulação de PDF.

2.4 Criando um PDF a partir de uma string HTML

O método RenderHtmlAsPdf converte uma string HTML em um documento no formato PDF.

O trecho de código abaixo demonstra como gerar um arquivo PDF a partir de uma string HTML com um único elemento de cabeçalho:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
PYTHON
Html To Pdf 5 related to 2.4 Criando um PDF a partir de uma string HTML

O método `RenderHtmlAsPdf` é capaz de renderizar vários tipos de conteúdo HTML. Se o conteúdo puder ser exibido no Chrome, `RenderHtmlAsPdf` o renderizará!

O método RenderHtmlAsPdf processa HTML, CSS e JavaScript da mesma forma que os navegadores modernos, garantindo a renderização precisa do conteúdo. Esse recurso permite que os engenheiros de software criem PDFs muito semelhantes aos exibidos em navegadores da web.

Além disso, o método RenderHtmlAsPdf pode lidar com recursos externos, como imagens, folhas de estilo e scripts localizados em pastas locais ou de rede. O exemplo a seguir demonstra a criação de um documento PDF a partir de HTML que referencia um arquivo CSS e uma imagem armazenada em uma pasta assets:

from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
PYTHON
Html To Pdf Html String To Pdf related to 2.4 Criando um PDF a partir de uma string HTML

O método `RenderHtmlAsPdf` é capaz de renderizar vários tipos de conteúdo HTML. Se o conteúdo puder ser exibido no Chrome, `RenderHtmlAsPdf` o renderizará!

Além disso, os desenvolvedores têm a opção de fornecer um segundo argumento para o método RenderHtmlAsPdf , permitindo que especifiquem um caminho base para referenciar os recursos da web. Esse caminho pode apontar para um diretório local no sistema de arquivos ou até mesmo para um caminho de URL.

Para entender melhor como usar o método RenderHtmlAsPdf, você pode consultar este exemplo de código ou as páginas de referência da API para obter informações mais detalhadas.

2.5 Criando um PDF a partir de uma URL

Para converter um URL de site em documentos PDF, os desenvolvedores podem utilizar o método RenderUrlAsPdf fornecido pelo IronPDF.

Aqui está um exemplo que demonstra como converter um artigo da Wikipédia em conteúdo PDF.

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON
Html To Pdf 7 related to 2.5 Criando um PDF a partir de uma URL

Para obter mais informações, você pode consultar um exemplo de código que demonstra como converter uma página da web em um PDF.

2.6 Criando um PDF a partir de um arquivo HTML

O IronPDF oferece a capacidade de converter arquivos HTML em PDF e armazená-los em um sistema de arquivos local. Ele converte diretamente o conteúdo HTML em seu formato PDF equivalente.

For a real-world demonstration of this functionality, the following code example showcases the conversion of an invoice HTML file. You can access the HTML markup of the invoice.

Este código HTML é fornecido para sua conveniência:

<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
HTML

Suponha que temos um arquivo HTML local, juntamente com seus arquivos CSS e JavaScript associados, salvos em uma pasta chamada "invoices". Podemos usar o IronPDF para converter o arquivo HTML de exemplo em PDF com o seguinte código Python:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
PYTHON

Semelhante à conversão de strings HTML para PDF, o IronPDF resolve automaticamente URLs relativas no arquivo HTML de exemplo, garantindo que quaisquer folhas de estilo e scripts referenciados sejam aplicados corretamente ao documento PDF resultante. Isso garante que a aparência visual da página da web seja capturada com precisão no arquivo PDF.

3. Leitura complementar

Explore as amplas funcionalidades de renderização de HTML para PDF do IronPDF, consultando nossa seção de exemplos de código .

  1. Leia este exemplo de código para descobrir como personalizar a aparência de documentos PDF durante o processo de conversão.
  2. Aprenda como gerar arquivos PDF com cabeçalhos e rodapés personalizados, ajustar margens e dimensões de página , adicionar marcas d'água e muito mais.
  3. Além disso, explore técnicas para extrair texto , otimizar tamanhos de arquivos e imprimir PDFs programaticamente.

Faça o download do software.

Perguntas frequentes

Como posso converter HTML para PDF usando Python?

Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em documentos PDF em Python. Esse método garante que o HTML, incluindo CSS e JavaScript, seja renderizado com precisão em um PDF de alta qualidade.

Qual biblioteca em Python oferece suporte à conversão de HTML para PDF?

IronPDF é uma biblioteca poderosa que oferece suporte à conversão de HTML para PDF em Python. Ela fornece vários métodos para converter strings HTML, URLs e arquivos em documentos PDF, preservando a formatação.

Como instalo o IronPDF para conversão de HTML para PDF em Python?

Para instalar o IronPDF for Python, use o comando pip install ironpdf no seu terminal. Observe que você precisa ter o SDK do .NET 6.0 instalado, pois o IronPDF depende dele.

É possível converter um URL de página web em PDF usando Python?

Sim, você pode usar o método RenderUrlAsPdf do IronPDF para converter um URL de página da web em um documento PDF. Esse recurso permite capturar e converter o conteúdo de páginas da web em tempo real diretamente.

Como o IronPDF lida com recursos externos durante a conversão?

O IronPDF consegue processar arquivos HTML que incluem recursos externos, como imagens, folhas de estilo e scripts. Ele resolve URLs relativas para garantir que esses recursos sejam incorporados corretamente ao PDF.

É possível personalizar cabeçalhos e rodapés de PDFs usando Python?

Sim, o IronPDF permite adicionar cabeçalhos e rodapés personalizados aos seus documentos PDF. Isso pode ser feito ajustando as propriedades PdfDocument para atender às suas necessidades específicas de formatação.

Como posso remover marcas d'água de PDFs criados com o IronPDF?

Para remover marcas d'água de PDFs gerados pelo IronPDF, você precisa definir uma chave de licença válida antes de processar o PDF. Isso garante que os PDFs sejam criados sem marcas d'água padrão.

Quais são alguns recursos avançados do IronPDF para conversão de HTML para PDF?

O IronPDF oferece recursos avançados, como definir margens de página personalizadas, ajustar dimensões, adicionar marcas d'água, otimizar tamanhos de arquivo e extrair texto. Esses recursos aumentam a flexibilidade e a utilidade da biblioteca.

Onde posso encontrar exemplos de uso do IronPDF para conversão de HTML para PDF?

Você pode encontrar diversos exemplos e trechos de código detalhados na seção 'Exemplos de Código' do site do IronPDF, que oferece informações sobre como usar os recursos do IronPDF de forma eficaz.

Qual é a classe principal usada no IronPDF para renderizar PDFs?

A classe ChromePdfRenderer é a classe principal usada no IronPDF para renderizar PDFs. Ela fornece métodos confiáveis para converter HTML, lidar com recursos externos e garantir uma renderização precisa, semelhante à dos navegadores modernos.

O IronPDF é compatível com o .NET 10?

Sim — o IronPDF é totalmente compatível com o .NET 10, assim como com versões anteriores como .NET 6, 7, 8 e 9. Ele funciona imediatamente com projetos .NET 10, independentemente da plataforma (Windows, Linux etc.), e suporta a pilha de APIs mais recente sem a necessidade de soluções alternativas.

Curtis Chau
Redator Técnico

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 ...

Leia mais
Pronto para começar?
Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu HTML se transformar em um PDF.