Reportlab和Fontawesome fon

2024-10-03 19:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将FontawesomeReportlab一起使用? 我有些错误,找不到解决办法

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfgen import canvas

pdffile = 'test.pdf'
ttffile = '/somepath/fonts/fontawesome-webfont.ttf'

c = canvas.Canvas(pdffile)
pdfmetrics.registerFont(TTFont('fontawesome', ttffile))
c.setFont('fontawesome', 32)
c.drawString(10, 150, "test")
c.showPage()
c.save()

一。在

^{pr2}$

报告实验室=3.0

Python=3.3.2


Tags: fromtestimport错误canvasreportlabfontawesome解决办法
2条回答

不要从站点使用fontawesome-webfont.ttf。使用everythingfonts.comFontAwesome.otf转换为{}

我希望你找到了问题的答案,或者用不同的方式解决了这个问题。但我认为这个答案对其他人是有用的。 你几乎什么都做对了。但FontAwesome是一种标志性字体。有了它,你就不能打印文本了。为了使用FontAwesome图标,必须编写Unicode代码。 下面是一个示例代码。 在

# !usr/bin/python
# -*- coding: utf-8 -*-

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfgen.canvas import Canvas

pdfmetrics.registerFont(
    TTFont("FontAwesome", "fontawesome-webfont.ttf"))
canvas = Canvas("pdffile.pdf", pagesize=letter)
canvas.setFont("FontAwesome", 30)
icon = u"\uf1e3" # fa-futbol-o
canvas.drawString(100,100,icon)
canvas.save()

Unicode代码在所需图标或on this table的页面上指定。在

相关问题 更多 >