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>
目录
相关文章
|
Python
Python3,2行代码,多种方法,直接把网页内容转换成PDF文档和图片。
Python3,2行代码,多种方法,直接把网页内容转换成PDF文档和图片。
366 0
|
数据采集 存储 搜索推荐
用 Python 将 html 转为 pdf、word
在日常中有时需将 html 文件转换为 pdf、word 文件。网上免费的大多数不支持多个文件转换的情况,而且在转换几个后就开始收费了。
1469 0
用 Python 将 html 转为 pdf、word
|
5月前
|
存储 人工智能 Prometheus
剑指大规模 AI 可观测,阿里云 Prometheus 2.0 应运而生
本文介绍了阿里云Prometheus 2.0方案,针对大规模AI系统的可观测性挑战进行全面升级。内容涵盖数据采集、存储、计算、查询及生态整合等维度。 Prometheus 2.0引入自研LoongCollector实现多模态数据采集,采用全新时序存储引擎提升性能,并支持RecordingRule与ScheduleSQL预聚合计算。查询阶段提供跨区域、跨账号的统一查询能力,结合PromQL与SPL语言增强分析功能。此外,该方案已成功应用于阿里云内部AI系统,如百炼、通义千问等大模型全链路监控。未来,阿里云将发布云监控2.0产品,进一步完善智能观测技术栈。
550 42
|
10月前
|
机器学习/深度学习 人工智能 运维
智能运维:AI驱动的IT运维革命###
【10月更文挑战第21天】 随着数字化转型的深入,智能运维(AIOps)正逐步成为企业IT管理的核心。本文将探讨AI技术如何赋能运维领域,通过自动化、智能化手段提升系统稳定性和效率,降低运营成本,并分享实施智能运维的最佳实践与挑战应对策略。 ###
766 1
|
9月前
|
XML 安全 Java
Spring Boot 怎么接入 Stripe 支付?
本文介绍了如何在 Spring Boot 应用中接入 Stripe 支付,提供了一个基本框架,并展示了处理 Webhook 的代码示例。通过捕获异常返回错误信息,成功处理事件则返回确认消息。作者 JustinNeil 在文中还提到可根据需求扩展更多功能,如订阅管理和优惠券应用等。
425 0
|
JavaScript 前端开发 Java
html页面导出为pdf(jsPDF、iText、wkhtmltopdf)
html页面导出pdf,本来是一件很简单的事情,在浏览器直接打印(Mac快捷键为⌘+p;Windows快捷键为ctrl+p),就可以把页面另存为pdf文件,但对于要经常把页面导出为pdf的用户来说并不友好,一个合格程序员的标准就是:做出来的软件猪都要会用,否则你就是猪。 调研了几种html导出pdf的实现方式,这里把要点记录下来分享下。
html页面导出为pdf(jsPDF、iText、wkhtmltopdf)
如何用二维码高效收集信息?表单功能轻松实现
表单作为草料二维码的高级功能之一,可用于收集格式统一的数据。你可以通过组合姓名、图片、检查项等组件搭建出电子表单,关联到二维码中,扫码填写表单即可更快速、规范的收集数据。这篇文章为大家介绍下表单的制作教程。
406 2
|
SQL 关系型数据库 数据库
postgresql数据库|数据库实操----表复制详解
postgresql数据库|数据库实操----表复制详解
306 0
|
物联网 数据库 Android开发
RK3326 android10.0(Q) 系统精简瘦身
RK3326 android10.0(Q) 系统精简瘦身
661 0
RK3326 android10.0(Q) 系统精简瘦身
|
Ubuntu 前端开发 Linux
django(六)使用wkhtmltopdf将网页导出PDF
如题,我需要使用python 将 网页 转成PDF文件,这里会用到wkhtmltopdf 我这里使用的是centos服务器。(使用ubuntu事会少很多,别问我为什么不用,我的web项目使用的是PHP,相对来说,centos部署web项目要比ubuntu要好) Python需要用到扩展 pdfkit
383 0