首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向pyfpdf添加新字体

如何向pyfpdf添加新字体
EN

Stack Overflow用户
提问于 2012-04-05 20:13:08
回答 2查看 2.7K关注 0票数 1

我曾尝试将dejavucondensed.ttf复制到pyfpdf/font/,但没有成功

代码语言:javascript
复制
>>> from pyfpdf import *
>>> p = FPDF()
>>> p.add_font('dejavucondensed')
SyntaxError: Non-ASCII character '\xfd' in file pyfpdf/font/dejavucondensed.font 
on line 2, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
EN

回答 2

Stack Overflow用户

发布于 2021-09-30 22:11:28

对于后来一直在研究这一点的任何人来说,可以试试这个。我在Ubuntu Linux中使用Python 3.8。转到您的fpdf安装,对我来说,它是在/usr/local/lib/python3.8/dist-packages/fpdf中。

如果没有名为fonts的文件夹,请执行mkdir fonts。从任意数量的源中获取适用于您的字体的ttf文件,并将其放置在fonts文件夹中。我想要Calibri Regular,并将我的文件命名为calibri_regular.ttf

然后在你的解释器或脚本中:

代码语言:javascript
复制
from fpdf import FPDF
pdf = FPDF()

pdf.add_font('Calibri Regular', '', 'calibri_regular.ttf', uni=True)
pdf.set_font('Calibri Regular', '', 12)

此时,您已准备好以该字体写入PDF。

票数 1
EN

Stack Overflow用户

发布于 2012-09-28 13:47:05

这可能是Unicode/编码问题(请参阅PEP linked in the message)。我没有在这里安装uni,但是根据pypdf,您需要使用pypdf参数:

代码语言:javascript
复制
pdf.add_font('DejaVu', '', 'DejaVuSansCondensed.ttf', uni=True)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10028375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档