很多时候,我们想实现自动化报表,但是一般都会需要用中文,而reportlab天然是不支持中文的,所以我们需要让他支持,而办法其实很简单。
1、下载字体
比如下载SimHei.TTF这个字体文件,百度就可以,然后把它放到reportlab安装包下面的font文件夹中。
比如,笔者的路径是这样的。
2、什么pdf使用的字体
pdfmetrics.registerFont(TTFont('SimHei', 'SimHei.TTF'))
比如:
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了。