[英]How to convert unicode string like u'\\u4f60\\u4f60' to u'\u4f60\u4f60' in Python?
[英]python FPDF unicode symbols 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 字体,然后将它们放在所需的“fonts”目录中,包括“unifont”子目录,文档说它将查找。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.