python将html转成PDF的实现代码(包含中文)

yipeiwu_com5年前Python基础

前提:

安装xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/
下载字体:微软雅黑;给个地址:https://www.jb51.net/fonts/8481.html

待转换的文件:1.htm

复制代码 代码如下:

<meta charset="utf8"/>
<style type='text/css'>
@font-face {
        font-family: "code2000";
        src: url("code2000.ttf")
}

html {
     font-family: code2000;
}
</style>
<html>
<body><table>
<tr>
<td>文字</td>
<td>123</td>
</tr>
<tr>
<td>图片</td>
<td><img src="1.jpg"></td>
</tr>
</table></body></html>

html_to_pdf.py程序

复制代码 代码如下:

# -*- coding: utf-8 -*-
import sx.pisa3 as pisa
data= open('1.htm').read()
result = file('test.pdf', 'wb')
pdf = pisa.CreatePDF(data, result)
result.close()
pisa.startViewer('test.pdf')

说明:xhtml2pdf不能识别汉字,需要在html文件中通过CSS的方式嵌入code2000字体,貌似只能用code2000,原因不明。

相关文章

Python利用Beautiful Soup模块创建对象详解

安装 通过 pip 安装 Beautiful Soup 模块:pip install beautifulsoup4 。 还可以使用 PyCharm IDE 来写代码,在 PyChar...

八大排序算法的Python实现

Python实现八大排序算法,具体内容如下 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排...

Django单元测试工具test client使用详解

The test client test client是一个python类,来模拟一个简单的“哑”浏览器,允许你来测试你的view函数.你可以使用test client完成下列事情: 1...

使用Python的Turtle库绘制森林的实例

使用Python的Turtle库绘制森林的实例

这是由一个小作业引发的对Python的Turtle库的学习 下面是官方手册: Turtle官方手册 1.配置编程环境 由于现在的笔记本是临时借的,编程环境不是熟悉的环境,又由于种种原因...

Python&&GDAL实现NDVI的计算方式

Python&&GDAL实现NDVI的计算方式

很短的几句代码,可是我却花了很长的时间才写出来,因为array那里的除法运算结果老是不对,正常在-1-1之间的。从别的资料摘来处理NDVI计算的array代码处,出现了很多问题,可能它用...