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

简介: Python编程:使用wkhtmltopdf将html网页转成pdf文件

官网: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

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

11.png

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 $*


参考

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


            </div>
目录
相关文章
|
2月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
123 0
|
13天前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
212 0
|
2月前
|
程序员 数据安全/隐私保护 Python
1行Python代码,实现PDF的加密、解密
程序员晚枫分享使用python-office库实现PDF批量加密与解密的新方法。只需一行代码,即可完成单个或多个PDF文件的加密、解密操作,支持文件路径与正则筛选,适合自动化办公需求。更新至最新版,适配性更佳,操作更简单。
1行Python代码,实现PDF的加密、解密
|
3月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
2月前
|
监控 Linux 数据安全/隐私保护
Python实现Word转PDF全攻略:从入门到实战
在数字化办公中,Python实现Word转PDF自动化,可大幅提升处理效率,解决格式兼容问题。本文详解五种主流方案,包括跨平台的docx2pdf、Windows原生的pywin32、服务器部署首选的LibreOffice命令行、企业级的Aspose.Words,以及轻量级的python-docx+pdfkit组合。每种方案均提供核心代码与适用场景,并涵盖中文字体处理、表格优化、批量进度监控等实用技巧,助力高效办公自动化。
386 0
|
3月前
|
前端开发 安全 Java
办公自动化必修课:用Python打造PDF全能处理工具
在职场中,PDF处理常令人崩溃:拆分、合并、加密等问题严重影响效率。本文教你用Python打造一个包含拆分、合并、加密、水印四大功能的PDF工具箱,通过实战代码提升办公自动化水平,让文档操作像拼乐高一样简单高效。
127 0
|
4月前
|
数据采集 存储 API
Python爬虫结合API接口批量获取PDF文件
Python爬虫结合API接口批量获取PDF文件
|
6月前
|
文字识别 程序员 UED
Python + 腾讯云,多页PDF发票识别一键搞定!
程序员晚枫团队推出了基于Python和腾讯云的多页PDF发票识别功能!通过一行代码即可实现整本PDF发票的高效识别,并直接导出为Excel文件,极大提升工作效率。此次更新修复了仅识别第一页的bug,支持多页PDF完整识别。未来还将拓展更多票据类型、优化速度并加强平台合作。欢迎用户体验并提出建议,共同推动开源项目poocr的成长与进化!
170 7
|
12月前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
214 3
|
12月前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
221 1

推荐镜像

更多