Biblioteca de conversão de HTML para PDF de código aberto em Python
Experimente esta API Python gratuita e de código aberto como uma biblioteca de conversão de HTML para PDF.
O que é WeasyPrint?
WeasyPrint é uma biblioteca Python de código aberto e ferramenta de linha de comando que converte arquivos HTML e CSS em documentos PDF com renderização de alta qualidade, tornando-a uma ferramenta versátil para gerar PDFs a partir de conteúdo da web. WeasyPrint permite converter código HTML inline, arquivos HTML locais e URLs da web em documentos PDF com uma única linha de código.
Uma breve lista de recursos suportados pelo WeasyPrint está listada abaixo:
- O WeasyPrint suporta muitas das especificações CSS escritas pelo W3C.
- Ele fornece suporte abrangente para URLs, HTML e tags HTML suportadas.
- O WeasyPrint pode manipular recursos externos, como imagens ou folhas de estilo CSS, por meio de um buscador de URL.
- O buscador padrão pode abrir arquivos e URLs HTTP.
- Ele suporta vários recursos relacionados à geração de PDF, incluindo fontes, CSS, CSS Nível 2 Revisão 1, Seletores Nível 3/4 e Texto CSS.
Introdução ao WeasyPrint
Você precisa do Python versão 3.7.0 ou superior para instalar e usar o WeasyPrint. Então, primeiro instale o Python e então use os comandos abaixo para instalar o WeasyPrint na sua máquina usando pip e ambiente virtual:
Instalar no Linux
python3 -m venv venv
source venv/bin/activate
pip install weasyprint
weasyprint --info
Instalar no Ubuntu 20.04 ou superior
apt install python3-pip libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0 libffi-dev libjpeg-dev libopenjp2-7-dev
Instalar no MacOS usando Homebrew
brew install weasyprint
Instalar no Windows 11 de 64 bits
python3 -m venv venv
venv\Scripts\activate.bat
python3 -m pip install weasyprint
python3 -m weasyprint --info
Observação: para instalação no Windows, instale o GTK3 antes de executar os comandos acima.
Converter HTML em PDF via URL da Web
Podemos converter qualquer página da web HTML para PDF com uma única linha de código usando a biblioteca Python WeasyPrint. Precisamos apenas importar a classe HTML da biblioteca, criar um objeto da classe HTML com uma URL de site e chamar o método write_pdf para convertê-lo em um documento PDF com um nome desejado.
Converter HTML em PDF via URL da Web com CSS embutido
Também podemos converter a URL de um site em PDF com folha de estilo embutida usando a biblioteca WeasyPrint.
Conclusão
WeasyPrint é uma biblioteca Python de código aberto e gratuita, simples de usar, que converte HTML e CSS em documentos PDF. Você pode criar modelos baseados em HTML para documentos necessários e, em seguida, exportá-los rapidamente para PDF. WeasyPrint oferece opções de conversão flexíveis para desenvolvedores, permitindo que eles convertam HTML em PDF a partir de uma URL de site, arquivo HTML local, string contendo código HTML e objeto de arquivo, etc.
Mesmo o WeasyPrint é uma ótima opção gratuita para converter documentos HTML em PDF para desenvolvedores Python, embora no caso de estruturas HTML e CSS complexas, os documentos PDF gerados podem não ser renderizados com alta fidelidade, o que pode criar problemas para usuários com requisitos rigorosos.