Salvar HTML como PDF em Python
-
Use a API
wkhtmltopdf
com Pdfkit para salvar HTML como PDF usando Python -
Use o módulo
weasyprint
para salvar HTML como PDF usando Python -
Use o módulo
PyQT
para salvar HTML como PDF usando Python
HTML é a linguagem mais básica e popular para desenvolvimento web. Ele formou a base para muitos idiomas. Python tem suporte para criar conexões e trabalhar com sites.
Um PDF é um documento portátil que pode ser visualizado em diferentes dispositivos e é independente do software usado para criá-lo.
Neste tutorial, salvaremos uma página da web em HTML como PDF usando Python.
Use a API wkhtmltopdf
com Pdfkit para salvar HTML como PDF usando Python
O wkhtmltopdf é um conjunto de ferramentas de código aberto que pode converter uma página da web HTML em PDF. Usamos o módulo pdfkit para trabalhar com isso em Python. As funções deste módulo podem funcionar em uma ou várias páginas da web e salvá-las como um arquivo PDF.
Podemos ler o conteúdo diretamente do URL da página da Web ou de um arquivo HTML salvo no dispositivo. A função from_url () lê o conteúdo de uma URL, e a função from_file () lê de um arquivo.
O nome e o caminho do arquivo podem ser especificados na função.
Veja o código a seguir para ver seu uso
import pdfkit
pdfkit.from_url("https://www.delftstack.com/", "sample.pdf")
Também podemos armazenar esse conteúdo em uma variável mencionando False na função em vez do nome do PDF.
Lembre-se de instalar o wkhtmltopdf de seu site oficial antes de usar este método.
Use o módulo weasyprint
para salvar HTML como PDF usando Python
O módulo weasyprint é usado para renderizar páginas da web em formatos de documento. Usamos a função HTML para ler o URL e salvá-lo como PDF usando a função write_pdf ().
Por exemplo,
import weasyprint
doc_pdf = weasyprint.HTML("https://www.delftstack.com/").write_pdf("sample.pdf")
Muitos outros módulos e funcionalidades precisam ser instalados antes de usar o weasyprint, por isso é recomendado não usá-lo.
Além disso, o Python 2 removeu o suporte para este módulo.
Use o módulo PyQT
para salvar HTML como PDF usando Python
O módulo PyQT possui uma vasta gama de funcionalidades para desenvolvimento de GUI e outros recursos. Podemos ler manualmente o URL de uma página da Web em HTML e convertê-lo em PDF usando diferentes funções.
Veja o seguinte código.
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
w = QWebView()
w.load(QUrl("https://www.delftstack.com"))
p = Qp()
p.setPageSize(Qp.A4)
p.setOutputFormat(Qp.PdfFormat)
p.setOutputFileName("sample.pdf")
def convertIt():
w.print_(p)
QApplication.exit()
QObject.connect(w, SIGNAL("loadFinished(bool)"), convertIt)
sys.exit(app.exec_())
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn