首页 > 技术文章 > csv html jpg pdf 格式转换

yuejunasia 2021-12-05 00:04 原文

wkhtmltopdf 工具说明

平时总会有各种各样的需求需要对文档的格式进行转换,

目前一个比较好用的软件就是:wkhtmltopdf

官方地址:http://wkhtmltopdf.org/downloads.html

python 开发中常用的pdfkit + wkhtmltopdf

php中的 shell_exec()函数调用 wkhtmltopdf 

实际还是通过抵用 wkhtmltopdf 来实现的,目前可以支持到Windwos、Linux、macOS

另外还有wkhtmltoimage 可以将html直接转成图片。

html文件转pdf: wkhtmltopdf

html文件转图片: wkhtmltoimage

 

工具安装成功后可直接通过命令行进行转换,命令行转换示例如下:

# 转换https://www.baidu.com 页面为pdf 
wkhtmltopdf https://www.baidu.com baidu.pdf
# 转换https://www.baidu.com 页面为图片
wkhtmltoimage  https://www.baidu.com baidu.jpg

# 转换本地自己的html页面为pdf 
wkhtmltopdf index.html baidu.pdf
# 转换本地自己的html 页面为图片
wkhtmltoimage  index.html baidu.jpg

 

Python  HTML 转换 PDF 示例 

使用Python 转换 HTML --> PDF 示例如下:

python 需要用pdfkit + wkhtmltopdf

1. 这里pdfkit 可以通过python的方式安装

pip install pdfkit

2. pdfkit 只是是基于wkhtmltopdf 的python库,底层还是调用:wkhtmltopdf
Centos 安装方式如下,其他安装方式可参考wkhtmltopdf官网:
yum install wkhtmltopdf

3. pdfkit  python实现简单示例如下:

import pdfkit
# 转换百度首页为pdf文件
pdfkit.from_url('https://baidu.com', 'baidu.pdf')
# 转换本地index.html文件为pdf文件
pdfkit.from_file('index.html', 'index.pdf')
# 转换字符串hello world 为pdf文件
pdfkit.from_string('hello world!', 'hello.pdf')

4. 更多用法参考pdfkit库说明:https://pypi.python.org/pypi/pdfkit

 

转换中文乱码问题

wkhtmltopdf 使用中,中文经常遇到乱吗问题

中文乱码说明:

首先,在系统中打开html 确认原文件显示中文正常;

其次,Linux系统可以执行 fc-list 查看是否支持中文;

如果不支持安装步骤如下:

Centos安装中文字体:

1. 查看支持字体情况
fc-list
2. 从windows系统的C盘windows下拷贝msyh.ttf
3. 上传msyh.ttf 到 /usr/share/fonts/zh_CN
4. 执行fc-cache -fv
5. 再次执行fc-list,查看是否安装成功

 

推荐阅读