reportlab教程2--中文的显示

2019-08-29 10:47:43 浏览数 (1)

很多时候,我们想实现自动化报表,但是一般都会需要用中文,而reportlab天然是不支持中文的,所以我们需要让他支持,而办法其实很简单。

1、下载字体

比如下载SimHei.TTF这个字体文件,百度就可以,然后把它放到reportlab安装包下面的font文件夹中。

比如,笔者的路径是这样的。

2、什么pdf使用的字体

代码语言:javascript复制
pdfmetrics.registerFont(TTFont('SimHei', 'SimHei.TTF'))

比如:

代码语言:javascript复制
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
pdfmetrics.registerFont(TTFont('SimHei', 'SimHei.TTF'))
def hello(c):
    c.drawString(100,100,"世界你好")
c = canvas.Canvas("hello.pdf")
c.setFont('SimHei',12)
hello(c)
c.showPage()
c.save()

这样运行之后就会生成一个有中文的pdf了。

0 人点赞