Python编程:使用wkhtmltopdf将html网页转成pdf文件
2023-09-14 09:07:15 时间
官网: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 pdfkit
pdfkit.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-Xvfb
mv /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 $*
参考
- https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
- 使用python把html网页转成pdf文件
- html转pdf工具wkhtmltopdf
- Centos7安装使用wkhtmltopdf实现html页面转换成pdf文档的具体操作
- https://github.com/JazzCore/python-pdfkit/wiki/Using-wkhtmltopdf-without-X-server
- https://stackoverflow.com/questions/9604625/wkhtmltopdf-cannot-connect-to-x-server
- https://stackoverflow.com/questions/30504274/xvfb-run-line-171-kill-25939-no-such-process
相关文章
- pycharm和idle语法区别_python文件无法用idle打开
- xps 转 pdf android版,OakDoc XPS to PDF Converter(XPS文件转PDF格式工具)V2.2 正式版
- excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- 怎么用浏览器在线打开pdf文件_PDF文件怎么编辑
- 用Python玩转PDF | 批量加密文件
- 【说站】如何检查文件是否有Python的符号链接?
- Python文件名后缀_python获取目录下所有文件的文件名
- pdf文件用什么方式打开-电脑上的PDF怎么都变成Edge浏览器打开了?怎么更改PDF文件打开方式?
- 学python:使用python的pyRanges模块中的read_gtf函数读取gtf文件报错的解决办法
- python通过openpyxl生成Excel文件详解编程语言
- Linux创建Python文件的步骤(linux新建python文件)
- 文件在Linux中使用命令行操作PDF文件(linux命令pdf)
- 文件Linux下查看PDF文件的技巧(linux查看pdf)
- 手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)
- Linux下高效管理PDF文件(linux管理pdf)
- Linux工具:使用PDF文件管理和编辑功能(linux工具pdf)
- Python实现MySQL数据库的读取(python读取mysql)
- python用Redis与Python实现大数据收集与分析(redis 联合)
- Python创建文件和追加文件内容实例