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


Posted in Python onMarch 04, 2013

前提:

安装xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/
下载字体:微软雅黑;给个地址:https://3water.com/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针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
Python enumerate函数功能与用法示例
Mar 01 Python
pyqt 实现在Widgets中显示图片和文字的方法
Jun 13 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
Python如何使用BeautifulSoup爬取网页信息
Nov 26 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
Jan 20 Python
python算的上脚本语言吗
Jun 22 Python
pycharm 实现调试窗口恢复
Feb 05 Python
pandas按条件筛选数据的实现
Feb 20 Python
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 #Python
python用ConfigObj读写配置文件的实现代码
Mar 04 #Python
Python编码时应该注意的几个情况
Mar 04 #Python
python中定义结构体的方法
Mar 04 #Python
Python语言技巧之三元运算符使用介绍
Mar 04 #Python
python解决字典中的值是列表问题的方法
Mar 04 #Python
python实现的各种排序算法代码
Mar 04 #Python
You might like
zf框架的registry(注册表)使用示例
2014/03/13 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
php实现头像上传预览功能
2017/04/27 PHP
jQuery中的val()示例应用
2014/02/26 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python生成不重复随机值的方法
2015/05/11 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python sys.argv[]用法实例详解
2018/05/25 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
详解Python正则表达式re模块
2019/03/19 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
八年级英语教学反思
2014/01/09 职场文书
工厂标语大全
2014/10/06 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
python如何查找列表中元素的位置
2022/05/30 Python