zoukankan      html  css  js  c++  java
  • pdfkit | python自动化生成PDF

    在用jupyter notebook写代码文档的时候,有时需要导出pdf版本,但jupyter会报错。我在想,除了网上的debug方法,还没有其他方案可以生成pdf。

    度娘搜了下,很多博客推荐Python的第三方库pdfkit,可以将网页、html文件以及字符串生成pdf文件。

    其实也有很多软件提供pdf生成服务,但这样太不python了,那下面就来试试pdfkit怎么用吧!

    三步实现自动生成pdf文档:

    1. 使用pip安装pdfkit

    python版本 3.x,在命令行输入:

    pip install pdfkit
    

    安装pdfkit
    安装过程基本不会有啥问题,出现上面的Successfully installed pdfkit-0.6.1提示,说明安装成功了。

    1. 安装wkhtmltopdf.exe文件

    注:pdfkit是基于wkhtmltopdf的python封装,所以需要安装wkhtmltopdf.exe。wkhtmltopdf是轻量级软件,非常很容易安装。

    下载地址:
    https://wkhtmltopdf.org/downloads.html

    下载wkhtmltopdf

    下载完成后,一路next,将wkhtmltopdf安装好。

    务必要记住安装地址,找到wkhtmltopdf.exe文件所在的绝对路径,后面要用到。

    我这里是默认路径""C:Program Fileswkhtmltopdfinwkhtmltopdf.exe""

    安装wkhtmltopdf

    1. 使用pdfkit库生成pdf文件

    前面说过pdfkit可以将网页、html文件、字符串生成pdf文件。

    • 网页url生成pdf【pdfkit.from_url()函数】
    # 导入库
    import pdfkit
    
    '''将网页url生成pdf文件'''
    def url_to_pdf(url, to_file):
        # 将wkhtmltopdf.exe程序绝对路径传入config对象
        path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
        config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
        # 生成pdf文件,to_file为文件路径
        pdfkit.from_url(url, to_file, configuration=config)
        print('完成')
    
    # 这里传入我知乎专栏文章url,转换为pdf
    url_to_pdf(r'https://zhuanlan.zhihu.com/p/69869004', 'out_1.pdf')
    
    • html文件生成pdf【pdfkit.from_file()函数】
    # 导入库
    import pdfkit
    
    '''将html文件生成pdf文件'''
    def html_to_pdf(html, to_file):
        # 将wkhtmltopdf.exe程序绝对路径传入config对象
        path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
        config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
        # 生成pdf文件,to_file为文件路径
        pdfkit.from_file(html, to_file, configuration=config)
        print('完成')
    
    html_to_pdf('sample.html','out_2.pdf')
    
    • 字符串生成pdf【pdfkit.from_string()函数】
    # 导入库
    import pdfkit
    
    '''将字符串生成pdf文件'''
    def str_to_pdf(string, to_file):
        # 将wkhtmltopdf.exe程序绝对路径传入config对象
        path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
        config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
        # 生成pdf文件,to_file为文件路径
        pdfkit.from_string(string, to_file, configuration=config)
        print('完成')
    
    str_to_pdf('This is test!','out_3.pdf')
    
    1. 结论

    本文讲了如何在Python中使用pdfkit库生成pdf文件,非常方便快捷,适合批量自动化操作。

    我们看看生成的pdf效果如何:

    pdf效果展示

    整体页面视觉不错呦,赶快用起来吧!

    获取文中代码和测试文件,在公众号后台留言:pdfkit

  • 相关阅读:
    python 获取Excel 的内容
    python 获取文件Excel 的行数与列数
    python 读取Excel 取出表头(列名)
    DRF的视图组件
    Redis
    Git的故事
    DRF的JWT用户认证
    DRF的三大认证组件
    DRF的序列化组件
    DRF的请求响应组件
  • 原文地址:https://www.cnblogs.com/zhuwjwh/p/12325719.html
Copyright © 2011-2022 走看看