Estoy tratando de agregar una fuente al informe de Python para que pueda usarlo para una función. La función es utilizar canvas.Canvas para dibujar un montón de texto en un PDF, nada complicado, pero tengo que agregar una fuente de ancho fijo para problemas de diseño.Agregando una fuente para usar en ReportLab
Cuando traté de registrar una fuente usando la poca información que pude encontrar, pareció funcionar. Pero cuando traté de llamar .addFont ('nombredetipo') de mi objeto Canvas me siguen dando
"instancia PDFDocument no tiene atributo 'AddFont'"
es la función de no implementarse? ¿Cómo obtengo acceso a fuentes que no sean los 10 por defecto que se enumeran en .getAvailableFonts? Gracias.
un código de ejemplo de lo que estoy tratando de hacer que suceda:
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()
Para registrar el tipo de letra, he intentado
from reportlab.lib.fonts import addMapping
from reportlab.pdfbase import pdfmetrics
pdfmetrics.registerFont(TTFont('TestFont', 'ghettomarquee.ttf'))
addMapping('TestFont', 0, 0, 'TestFont')
donde 'ghettomarquee.ttf' era apenas una fuente aleatoria I había tirado por ahí.
¿quisiste decir 'c.setFont ('TestFont')' en la primera línea? – drevicko