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

yipeiwu_com6年前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实现在目录中查找指定文件的方法

本文实例讲述了python实现在目录中查找指定文件的方法。分享给大家供大家参考。具体实现方法如下: 1. 模糊查找 复制代码 代码如下:import os from glob impor...

python编程开发之类型转换convert实例分析

本文实例讲述了python编程开发之类型转换convert。分享给大家供大家参考,具体如下: 在python的开发过程中,难免会遇到类型转换,这里给出常见的类型转换demo:  ...

浅析python中的迭代与迭代对象

什么是python的迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 (在Python中,迭代是...

python opencv实现切变换 不裁减图片

python opencv实现切变换 不裁减图片

本文实例为大家分享了python opencv实现切变换的具体代码,供大家参考,具体内容如下 # -*- coding:gb2312 -*- import cv2 from math...

python hbase读取数据发送kafka的方法

本例子实现从hbase获取数据,并发送kafka。 使用 #!/usr/bin/env python #coding=utf-8 import sys import time i...