python将html转成PDF,包含中文

本文介绍如何利用xhtml2pdf将包含特定字体的HTML文件转换为PDF格式,重点介绍了如何解决xhtml2pdf无法识别汉字的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:

安装xhtml2pdf

下载字体:code2000.ttf;给个地址:http://ishare.iask.sina.com.cn/f/22120225.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,原因不明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值