FPDF编码无法在Python中正常工作

时间:2019-02-02 18:36:54

标签: python fpdf

我试图创建一个使用Python和FPDF PDF文件。我读过该项目的有关Unicode页面,我已经tryed来按照他们的指示,但每次我跑我的程序,我receave错误:

  

文件 “eventsmanager.py”,第8行语法错误:非ASCII字符   “\ XC3”在第8行文件eventsmanager.py,但没有编码声明;   有关详情,请参见http://python.org/dev/peps/pep-0263/

这是我的程序:

from fpdf import FPDF

pdf = FPDF()
pdf.add_page()

pdf.add_font('gargi', '', 'gargi.ttf', uni=True) 
pdf.set_font('gargi', '', 14)
pdf.write(8, 'Olá!!')
pdf.ln(20)

pdf.output('tuto3.pdf', 'F')

您能帮助我了解我在做什么吗?

2 个答案:

答案 0 :(得分:0)

您需要声明文件编码为UTF8,因为Python 2默认为Latin-1。 UTF8在Python 3中成为默认设置。链接的PEP包含必须在文件开头添加的必需行:

# coding: utf8

这必须是#!行之后的第一行

和EMACS VIM格式也被支持。

可悲的是,错误消息未包含解决方案。

答案 1 :(得分:0)

如果您使用的是Python 3.x,则必须使用:

pdf.output(dest='S').encode('latin-1','ignore')

text=text.encode('latin-1', 'ignore').decode('latin-1')

以获取输出。