• python html(文件/url/html字符串)转pdf


    安装库

    pip install pdfkit
    
    • 1

    第二步
    下载程序wkhtmltopdf
    https://wkhtmltopdf.org/downloads.html

    下载7z压缩包 解压即可, 无需安装
    在这里插入图片描述
    解压后结构应该是这样, 我喜欢放在项目里, 相对路径引用(也可以使用绝对路径, 放其他地方)
    在这里插入图片描述

    
    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    最好每个都像string_to_pdf函数一样, 捕获一下错误, 可以使程序更健壮, 避免转换失败导致程序停止(其他没写因为我没用, 懒得写)

    参考: https://www.zhihu.com/tardis/zm/art/94608155?source_id=1005
    转换效果参考文章中有, 我觉得还不错, 就是有点慢。

  • 相关阅读:
    这些电脑小妙招还有谁不知道?
    Kafka3.x安装以及使用
    AlphaCode:程序员的另类“内卷”?
    Kubernetes CNI 插件之Fabric
    C++ STL --- vector的使用
    基于逃逸鸟搜索算法的函数寻优算法
    Dapr 远程调试之 Nocalhost
    【Linux】-- 初识操作系统
    JS之闭包
    妙啊!纯 CSS 实现拼图游戏
  • 原文地址:https://blog.csdn.net/qq_50969362/article/details/134046829