11
我想添加一個字體到python ReportLab,以便我可以使用它作爲函數。該函數使用canvas.Canvas在PDF中繪製一堆文本,沒有什麼複雜的,但我需要爲佈局問題添加固定寬度的字體。添加一個字體在ReportLab中使用
當我嘗試使用我可以找到的小信息註冊字體時,這看起來很奏效。但是,當我試圖從我的Canvas對象調用.addFont(「字體名」)我不斷收到
「PDFDocument實例已沒有屬性‘addFont’」
是功能只是沒有執行?如何訪問除.getAvailableFonts中列出的10個左右默認字體以外的字體?謝謝。
的什麼,我試圖讓一些示例代碼發生:
from reportlab.pdfgen import canvas
c = canvas.Canvas('label.pdf')
c.addFont('TestFont') #This throws the error listed above, regardless of what argument I use (whether it refers to a font or not).
c.drawString(1,1,'test data here')
c.showPage()
c.save()
要註冊的字體,我試着
from reportlab.lib.fonts import addMapping
from reportlab.pdfbase import pdfmetrics
pdfmetrics.registerFont(TTFont('TestFont', 'ghettomarquee.ttf'))
addMapping('TestFont', 0, 0, 'TestFont')
其中「ghettomarquee.ttf」只是一個隨機的字體我躺在身邊。
你的意思是'c.setFont('TestFont')'在第一行嗎? – drevicko 2014-02-25 05:35:11