Salva HTML come PDF in Python
-
Usa l’API
wkhtmltopdf
con Pdfkit per salvare HTML come PDF usando Python -
Usa il modulo
weasyprint
per salvare HTML come PDF usando Python -
Usa il modulo
PyQT
per salvare HTML come PDF usando Python
L’HTML è il linguaggio più basilare e popolare per lo sviluppo web. Ha costituito la base per molte lingue. Python ha il supporto per creare connessioni e lavorare con i siti web.
Un PDF è un documento portatile che può essere visualizzato su diversi dispositivi ed è indipendente dal software utilizzato per crearlo.
In questo tutorial, salveremo una pagina web HTML come PDF usando Python.
Usa l’API wkhtmltopdf
con Pdfkit per salvare HTML come PDF usando Python
Il wkhtmltopdf è un insieme di strumenti open source in grado di convertire una pagina Web HTML in un PDF. Usiamo il modulo pdfkit per lavorare con questo in Python. Le funzioni di questo modulo possono funzionare su pagine Web singole o multiple e salvarle come file PDF.
Possiamo leggere il contenuto direttamente dall’URL della pagina web o da un file HTML salvato sul dispositivo. La funzione from_url() legge il contenuto da un URL e la funzione from_file() legge da un file.
Il nome e il percorso del file possono essere specificati all’interno della funzione.
Vedere il seguente codice per vedere il loro utilizzo
import pdfkit
pdfkit.from_url("https://www.delftstack.com/", "sample.pdf")
Possiamo anche memorizzare questo contenuto in una variabile menzionando False nella funzione invece del nome PDF.
Ricorda di installare wkhtmltopdf dal suo sito Web ufficiale prima di utilizzare questo metodo.
Usa il modulo weasyprint
per salvare HTML come PDF usando Python
Il modulo weasyprint viene utilizzato per rendere le pagine web in formati di documenti. Usiamo la funzione HTML per leggere l’URL e salvarlo come PDF usando la funzione write_pdf().
Per esempio,
import weasyprint
doc_pdf = weasyprint.HTML("https://www.delftstack.com/").write_pdf("sample.pdf")
Molti altri moduli e funzionalità devono essere installati prima di utilizzare weasyprint, quindi si consiglia di non utilizzarlo.
Inoltre, Python 2 ha rimosso il supporto per questo modulo.
Usa il modulo PyQT
per salvare HTML come PDF usando Python
Il modulo PyQT ha una vasta gamma di funzionalità per lo sviluppo della GUI e altre caratteristiche. Possiamo leggere manualmente l’URL di una pagina Web HTML e convertirlo in un PDF utilizzando diverse funzioni.
Vedere il seguente codice.
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