如何在python的reportlab画布中设置任何字体?

我正在使用reportlab创建pdf。当我尝试使用以下方法设置字体时,出现了KeyError

pdf = Canvas('test.pdf')

pdf.setFont('Tahoma', 16)

但是,如果我使用'Courier'而不是'Tahoma'没有问题。如何使用Tahoma?

回答:

Perhabs Tahoma是TrueType字体,您需要首先注册它。根据ReportLab的用户指南,您需要执行以下操作:

from reportlab.pdfbase import pdfmetrics

from reportlab.pdfbase.ttfonts import TTFont

pdfmetrics.registerFont(TTFont('Vera', 'Vera.ttf'))

pdfmetrics.registerFont(TTFont('VeraBd', 'VeraBd.ttf'))

pdfmetrics.registerFont(TTFont('VeraIt', 'VeraIt.ttf'))

pdfmetrics.registerFont(TTFont('VeraBI', 'VeraBI.ttf'))

canvas.setFont('Vera', 32)

canvas.drawString(10, 150, "Some text encoded in UTF-8")

canvas.drawString(10, 100, "In the Vera TT Font!")

canvas对象具有getAvailableFonts应返回所有当前已注册(因此可用)的字体的方法。

以上是 如何在python的reportlab画布中设置任何字体? 的全部内容, 来源链接: utcz.com/qa/417535.html

回到顶部