官网:https://wkhtmltopdf.org/
github: https://github.com/wkhtmltopdf/wkhtmltopdf

Mac环境:

brew install Caskroom/cask/wkhtmltopdf

linux环境(CentOS)

cat /proc/version  #  查看系统版本信息
yum install wkhtmltopdf

测试

$ wkhtmltopdf www.baidu.com 1.pdf

效果还行,不过部分内容没有被保存

Python接口包

pdfkit: https://github.com/JazzCore/python-pdfkit

pip install pdfkit

使用

import pdfkitpdfkit.from_url('http://google.com', 'out.pdf')
pdfkit.from_file('test.html', 'out.pdf')
pdfkit.from_string('Hello!', 'out.pdf')

报错及解决

问题一

报错信息

You will need to run wkhtmltopdf within a "virtual" X server或者wkhtmltopdf: cannot connect to X server

解决:
(1)安装 xvfb 重命名 wkhtmltopdf

yum install xorg-x11-server-Xvfbmv /usr/bin/wkhtmltopdf /usr/bin/wkhtmltopdf_bin

(2)新建/usr/bin/wkhtmltopdf.sh 文件

#! /usr/bin/bash
xvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf_bin $*

(3)赋予权限创建链接

chmod a+x /usr/bin/wkhtmltopdf.sh
ln -s /usr/bin/wkhtmltopdf.sh /usr/bin/wkhtmltopdf

(4)测试效果

wkhtmltopdf https://www.baidu.com 1.pdf

问题二

报错信息

/usr/bin/xvfb-run: 第 186 行:kill: (7772) - 没有那个进程

解决:
在/usr/bin/wkhtmltopdf.sh 文件中 加入 -a 参数

#! /usr/bin/bash
xvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf_bin $*

参考

  1. https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
  2. 使用python把html网页转成pdf文件
  3. html转pdf工具wkhtmltopdf
  4. Centos7安装使用wkhtmltopdf实现html页面转换成pdf文档的具体操作
  5. https://github.com/JazzCore/python-pdfkit/wiki/Using-wkhtmltopdf-without-X-server
  6. https://stackoverflow.com/questions/9604625/wkhtmltopdf-cannot-connect-to-x-server
  7. https://stackoverflow.com/questions/30504274/xvfb-run-line-171-kill-25939-no-such-process

Python编程:使用wkhtmltopdf将html网页转成pdf文件相关推荐

  1. mac网页转换pdf教程,在Mac系统中如何将html网页转成PDF文件?

    Mac系统中怎么将html网页转成PDF格式?mac系统中把网页格式的文件想转换成pdf格式的文件,方便打印,该怎么转换呢?下面我们就来看看详细的教程,需要的朋友可以参考下. 用途:把网页html转成 ...

  2. 【python知识】win10下如何用python将网页转成pdf文件

    一.说明 本篇记录一个自己享用的简单工具.在大量阅读网上文章中,常常遇到一个专题对应多篇文章,用浏览器的收藏根本不够.能否见到一篇文章具有搜藏价值,就转到线下,以备日后慢慢消化吸收.这里终于找到一个办 ...

  3. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存

    pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...

  4. python 循环播放音乐_pyaudio:基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件...

    基于pyaudio利用Python编程实现播放音频mp3.wav等格式文件 T1.while循环输出数据流的方法def play(): chunk=1024 #2014kb wf=wave.open( ...

  5. pyaudio:基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件

    基于pyaudio利用Python编程实现播放音频mp3.wav等格式文件 目录 输出结果 实现代码 输出结果 实现代码 T1.while循环输出数据流的方法 def play():chunk=102 ...

  6. python爬虫教程书-Python 爬虫:把廖雪峰教程转换成 PDF 电子书

    声明:本文仅供学习参考,切忌用于其它用途,爬的过程中注意控制请求速度,以免给服务器带来过多的压力 写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来 ...

  7. 在 Linux 中把一个网页转换成 PDF的技巧介绍

    你如何在 Linux 中把一个网页转换成 PDF?你可以选择使用每个 Linux 发行版上的网页浏览器(GUI),或者使用终端将网页变成 PDF 文件. 在这里,我将提到这两种方法来帮助你完成工作. ...

  8. keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...

    背景 做自媒体的人,尤其是做了一年甚至更久的自媒体人,尤其是通过自媒体还有一些小收入的人,他们最怕自己的公众号内容因为各种原因而丢失,那就太可怕了! 在做自媒体内容上花了太多心血,如果突然一下就没了, ...

  9. 1604_linux环境下使用命令行把网页转换成pdf

    全部学习汇总: GreyZhang/toolbox: 常用的工具使用查询,非教程,仅作为自我参考! (github.com) 使用的工具很容易在彼此之间产生隔离性障碍,比如我最近使用的墨水屏阅读的最合 ...

最新文章

  1. 一文读懂工业物联网 全面起底核心玩家和技术体系
  2. 解决 Windows Docker 安装 Gitlab Volume 权限问题
  3. oracle 10g搭建dg,oracle 10g dg环境的搭建
  4. Windows 2008 VS2008 IIS7 中调试Asp.net 2.0 两个问题
  5. Gosper 的序列 循环检测
  6. easyUI的引用顺序
  7. HMM——前向算法与后向算法
  8. Python自动化--语言基础5--面向对象、迭代器、range和切片的区分
  9. scandall pro找不到扫描仪_吉林机箱风扇灯条找哪家
  10. php表单验证内容不能为空,php校验表单检测字段是否为空的方法_PHP教程
  11. Centos7离线安装redis
  12. 简单实用的网游服务器架构
  13. (个人)AR电子书系统创新实训第三周(1)
  14. 雨听|Vs Code中使用markdown语法实现mac风格的代码块
  15. 详述白盒测试的逻辑覆盖法的条件组合覆盖及其优缺点
  16. 中国法定节假日调整内容公布 总天数增加1天
  17. Unity 数据统计SDK TalkingData
  18. 滴滴拉屎之后是什么?
  19. SSL2893 谷仓的安保
  20. C语言报错:a label can only be part of a statement and a declaration is not a statement

热门文章

  1. 及其他公共信息网络的计算机上存储,不得在未采取防护措施的情况下将互联网及其他公共信息网络上的数据复制到涉密计算机及网络,确...
  2. 双向联想记忆网络的原理与python简单实现
  3. 《东周列国志》第七十九回 归女乐黎弥阻孔子 栖会稽文种通宰嚭
  4. 石油大学计算机第二阶段在线作业答案,中国石油大学计算机应用基础第二阶段在线作业答案2018年.docx...
  5. iOS-Mac下安装CocoaPods
  6. 大数据工程师、BI工程师、数据库工程师什么区别?
  7. 国产分布式数据库在证券行业的应用及实践
  8. 怎样远程控制另一台电脑
  9. redit mysql_样式
  10. 企微有客户流失提醒功能吗?如何设置?