Сохранить HTML как PDF в Python

  1. Используйте API wkhtmltopdf с Pdfkit для сохранения HTML как PDF с помощью Python
  2. Используйте модуль weasyprint для сохранения HTML как PDF с помощью Python
  3. Используйте модуль PyQT для сохранения HTML как PDF с помощью Python

HTML - самый простой и популярный язык для веб-разработки. Он лег в основу многих языков. Python поддерживает создание подключений и работу с веб-сайтами.

PDF - это переносимый документ, который можно просматривать на различных устройствах и который не зависит от программного обеспечения, использованного при его создании.

В этом руководстве мы сохраним веб-страницу HTML в формате PDF с помощью Python.

Используйте API wkhtmltopdf с Pdfkit для сохранения HTML как PDF с помощью Python

Wkhtmltopdf - это набор инструментов с открытым исходным кодом, которые могут преобразовывать веб-страницу HTML в PDF. Мы используем модуль pdfkit для работы с этим в Python. Функции этого модуля могут работать на одной или нескольких веб-страницах и сохранять их в виде файла PDF.

Мы можем читать контент прямо с URL-адреса веб-страницы или HTML-файла, сохраненного на устройстве. Функция from_url () читает контент из URL, а функция from_file () читает из файла.

Имя и путь к файлу можно указать в функции.

См. Следующий код, чтобы увидеть их использование

import pdfkit
pdfkit.from_url('https://www.delftstack.com/', 'sample.pdf')

Мы также можем сохранить это содержимое в переменной, указав в функции False вместо имени PDF.

Не забудьте установить wkhtmltopdf с официального сайта перед использованием этого метода.

Используйте модуль weasyprint для сохранения HTML как PDF с помощью Python

Модуль weasyprint используется для преобразования веб-страниц в форматы документов. Мы используем функцию HTML, чтобы прочитать URL-адрес и сохранить его в формате PDF с помощью функции write_pdf ().

Например,

import weasyprint
doc_pdf = weasyprint.HTML('https://www.delftstack.com/').write_pdf('sample.pdf')

Перед использованием weasyprint необходимо установить многие другие модули и функции, поэтому не рекомендуется его использовать. Кроме того, Python 2 удалил поддержку этого модуля.

Используйте модуль PyQT для сохранения HTML как PDF с помощью Python

Модуль PyQT имеет широкий спектр функций для разработки графического интерфейса и других функций. Мы можем вручную прочитать URL-адрес веб-страницы HTML и преобразовать его в PDF, используя различные функции.

См. Следующий код.

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_())