Python-HTML (Datei/URL/HTML-Zeichenfolge) in PDF umwandeln

Installationsbibliothek

pip install pdfkit

Zweiter Schritt
Download-Schrittewkhtmltopdf
https://wkhtmltopdf.org/downloads.html

Laden Sie das komprimierte 7z-Paket herunter und dekomprimieren Sie es. Es ist keine Installation erforderlich.
Fügen Sie hier eine Bildbeschreibung ein
Die Struktur nach der Dekomprimierung sollte so aussehen. Ich füge sie gerne mit relativen Pfadverweisen in das Projekt ein ( Sie können auch absolute Pfade verwenden und andere Orte angeben)
Fügen Sie hier eine Bildbeschreibung ein


import pdfkit

# 将 wkhtmltopdf.exe程序 路径
path_wkthmltopdf = './wkhtmltox/bin/wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)


def url_to_pdf(url, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_url(url, to_file, configuration=config, options={
    
    'encoding': 'utf-8'})
    print('完成')


# 这里传入我知乎专栏文章url,转换为pdf
# url_to_pdf(r'https://m.zhijiao.cn/newsmini/detail/102201', './招生简章/102201.pdf')

# html文件转pdf
def file_to_pdf(path, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_file(path, to_file, configuration=config, options={
    
    'encoding': 'utf-8'})
    print('完成')


# file_to_pdf('./123.html', './xxx/123.pdf')
pdf_err_counts = 0
# html字符串转pdf
def string_to_pdf(string, to_file):
    global pdf_err_counts
    # 生成pdf文件,to_file为文件路径
    try:
        pdfkit.from_string(string, to_file, configuration=config, options={
    
    'encoding': 'utf-8'})
    except Exception as e:
        pdf_err_counts += 1
        print('生成pdf失败', pdf_err_counts, e)

Es ist am besten, jede Funktion wiestring_to_pdf zu verwenden, um Fehler abzufangen, was das Programm robuster machen und Programmstopps aufgrund von Konvertierungsfehlern vermeiden kann (andere werden nicht geschrieben, da ich keine habe). benutze und bin zu faul, sie zu schreiben) )

Referenz: https://www.zhihu.com/tardis/zm/art/94608155?source_id=1005
Es gibt einen Referenzartikel zum Konvertierungseffekt, ich finde ihn hübsch gut, das ist etwas langsam.

Guess you like

Origin blog.csdn.net/qq_50969362/article/details/134046829