python FPDF unicode symbol u "u2611" or u'\U0001F5F9'



我有一个txt文件,其中包含一个勾号列表,因此

Done List
☑ grocery
☑ electronics

上面的列表是使用类似Python的方法创建的:

chkbx = u"u2611"   #u'U0001F5F9'
for ...
with open('List.txt','a',encoding='utf-8') as f:
f.write(f"{chkbx} {activity}n")

我想使用python的FPDF库将txt文件转换为PDF。我使用以下命令保存

pdf.output('list.pdf').encode('utf-8')

并得到以下错误:

UnicodeEncodeError: 'latin-1' codec can't encode character 'u2611' in position 516: ordinal not in range(256)

根据https://pyfpdf.readthedocs.io/en/latest/Unicode/index.html它应该起作用(?(我在这里缺了什么?

是否可以在编写之前设置pdf字体的编码?https://pyfpdf.readthedocs.io/en/latest/Unicode/index.html

pdf.add_page()
pdf.add_font('DejaVu', '',FPDF_FONTPATH+'/DejaVuSansCondensed.ttf', uni=True)
pdf.set_font('DejaVu', '', 12)

FPDF_FONTPATH是计算机本地字体的路径。

我下载了文档推荐的一组unicode字体,然后将它们放在所需的"字体"目录中,包括文档所说的"unifont"子目录。

相关内容

  • 没有找到相关文章

最新更新