使用 Python reportlab 将非 ASCII 字符插入 pdf
Inserting non-ASCII characters into pdf with Python reportlab
我的代码应该将文本插入到 pdf 模板中。变量文本是
text = u"Gęślą JaźńZażółć"
首先,我创建了一个空的 pdf,然后创建了一个 Canvas 以文件作为参数的实例,然后将文本与
canvas_instance.drawString(10, 10, text.decode('utf-8')
并保存。
我的原始 pdf 文件确实包含正确位置的文本 - 但我得到 ASCII 字符 + 整洁的黑色方块而不是非 ASCII 字母。
我试过将字体设置为 'Times-Bold' 和 'Helvetica' 但它们似乎也不起作用。
我的 python 文件中也有编码声明:
# -*- coding: utf-8 -*-
我怎样才能将文本插入 pdf 模板?
Python: 2.7
库:reportlab,pyPdf
ubuntu14
好的,一个支持波兰语的ttf解决了这个问题:
name = u"{} {}".format(unicode(mydata['firstname']), unicode(mydata['lastname']))
pdfmetrics.registerFont(TTFont('Theano', '<path>/TheanoOldStyle-Regular.ttf'))
can.setFont('Theano', 16)
can.drawString(175, 400, name.decode('utf-8'))
我的代码应该将文本插入到 pdf 模板中。变量文本是
text = u"Gęślą JaźńZażółć"
首先,我创建了一个空的 pdf,然后创建了一个 Canvas 以文件作为参数的实例,然后将文本与
canvas_instance.drawString(10, 10, text.decode('utf-8')
并保存。
我的原始 pdf 文件确实包含正确位置的文本 - 但我得到 ASCII 字符 + 整洁的黑色方块而不是非 ASCII 字母。
我试过将字体设置为 'Times-Bold' 和 'Helvetica' 但它们似乎也不起作用。
我的 python 文件中也有编码声明:
# -*- coding: utf-8 -*-
我怎样才能将文本插入 pdf 模板?
Python: 2.7 库:reportlab,pyPdf ubuntu14
好的,一个支持波兰语的ttf解决了这个问题:
name = u"{} {}".format(unicode(mydata['firstname']), unicode(mydata['lastname']))
pdfmetrics.registerFont(TTFont('Theano', '<path>/TheanoOldStyle-Regular.ttf'))
can.setFont('Theano', 16)
can.drawString(175, 400, name.decode('utf-8'))