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

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

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

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

1.使用pip安装pdfkit

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

pip install pdfkit

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

2.安装wkhtmltopdf.exe文件

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

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

下载wkhtmltopdf

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

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

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

安装wkhtmltopdf

3.使用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 Fileswkhtmltopdfbinwkhtmltopdf.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 Fileswkhtmltopdfbinwkhtmltopdf.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 Fileswkhtmltopdfbinwkhtmltopdf.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')

4.结论

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

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

pdf效果展示

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

c++11 string转ing_pdfkit | 利用python实现html文件转pdf相关推荐

  1. python 网页生成pdf_pdfkit | 利用python实现html文件转pdf

    在用jupyter notebook写代码文档的时候,有时需要导出pdf版本,但jupyter会报错.我在想,除了网上的debug方法,还没有其他方案可以生成pdf. 度娘搜了下,很多博客推荐Pyth ...

  2. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  3. [转载] 利用python对csv文件进行简单的数据分析

    参考链接: Python中的探索性数据分析 利用python对csv文件进行简单的数据分析 在通过爬虫爬取数据后,将数据放到csv文件里,为了方便观察,可以对数据进行简单的分析.下面我将对爬取的51j ...

  4. python 利用python处理excel文件

    python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...

  5. 给知网没有书签的pdf文件添加书签(利用python解析txt文件内容并为pdf添加目录)

    今天利用tampermonkey的知网下载助手脚本下载pdf格式论文时,发现论文缺少书签,而脚本可以下载一个txt格式的书签(目录),因此打算利用python将txt格式的目录添加到pdf中. txt ...

  6. 利用python保存txt文件的指定行/前n行

    ** 利用python保存txt文件的指定行/前n行-等 1.txt文件,每隔n行保存 originPath='open.txt' savePath='save.txt' # 每隔多少行保存一次 l= ...

  7. 利用Python读取fasta文件并进行一系列操作(上)

    利用Python读取fasta文件并进行一系列操作(上) 概述 语言:python3.8 模块:pysam collections 可选:jupyter 整体思路:将fasta格式的基因原始数据处理为 ...

  8. Word处理控件Aspose.Words功能演示:在 Python 中将 TXT 文件转换为 PDF

    各种人使用记事本以TXT格式记下重点或快速创建笔记.此外,TXT 文件用于在各种应用程序中存储纯文本.但是,由于记事本不提供高级功能,因此 TXT 文件通常会转换为PDF.为了以编程方式自动将 TXT ...

  9. 利用python 提取log 文件里的关键句子,并进行统计分析

    利用python开发了一个提取sim.log 中的各个关键步骤中的时间并进行统计的程序: #!/usr/bin/python2.6 import re,datetime file_name='/hom ...

最新文章

  1. 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码
  2. apache日志分析简介
  3. AndroidStudio-4-如何导入项目
  4. python下timer定时器常用的两种实现方法
  5. 什么是算法,什么是数据结构
  6. nib、xib与故事板的关系
  7. 关于Android方向传感器的终极解释
  8. 国家集训队论文分类整理(转)
  9. python pandas 讲解ppt_Python数据分析之Pandas入门
  10. 北京理工大学计算机考研资料汇总
  11. 设计模式(三):“花瓶+鲜花”中的装饰者模式(Decorator Pattern)
  12. 微信公众平台开发案例
  13. 稳健经营,龙光集团成为“中国地产上市公司财务稳健奖”获得者之一
  14. 5.3.4 图像颜色映射 (二)
  15. android 逐字动画,Android实现文本逐字显示View(类似rpg游戏人物对话,文本逐字显示)...
  16. java G711 编码
  17. 龙卷风网络收音机v2.6绿色版
  18. 爬虫-金采网数据(2018-11-19)
  19. 使用Acorn for Mac制作漫画文字
  20. Artisteer2--《全自动傻瓜式网站模板制作软件》

热门文章

  1. syslog-ng按源ip保存记录
  2. Flash 与 JavaScript的交互总结
  3. Huntor中国CRM评估报告连载(一)
  4. 基于AJAX的自动完成
  5. js 控制 Windows Media Player
  6. MySQL基础——DML语言学习\插入数据\删除数据\更新数据
  7. 搞不定的C语言--extern的作用
  8. 7-32 中位数 (10 分)
  9. 4006基于邻接矩阵的顶点的删除(C++,附思路)
  10. 什么是散列表(哈希表)?