Добавление шрифта для использования в ReportLab

Я пытаюсь добавить шрифт к python ReportLab так, чтобы я мог использовать его для функции. Функция использует холст. Холст для рисования набора текста в PDF, ничем сложном, но я должен добавить шрифт фиксированной ширины для проблем расположения.

Когда я пытался зарегистрировать использование шрифта, что мало информации я мог найти, это, казалось, работало. Но когда я пытался звонить, .addFont ('имя шрифта') от моего Холста возражают, что я продолжаю добираться

"Экземпляр PDFDocument не имеет никакого атрибута 'addFont'"

Разве функция просто не реализована? Как я получаю доступ к шрифтам приблизительно кроме 10 по умолчанию, которые перечислены в .getAvailableFonts?Спасибо.

Некоторый пример кода того, что я пытаюсь сделать, происходит:

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' был просто случайным шрифтом, у меня была ложь вокруг.

11
задан Jimmy McCarthy 16 April 2010 в 21:55
поделиться

1 ответ

c.setFont('TestFont')
c.drawString(1,1,'test data here')

setFont , чтобы задать имя шрифта, которое вы собираетесь использовать, и drawString .

ReportLab автоматически встраивает шрифт, если вы используете его в документе, вам не нужно вручную добавлять его после того, как вы зарегистрировали шрифт глобально под именем.

7
ответ дан 3 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: