因此,我制作了一个Python程序,将文本添加到PDF模板中,但我在显示诸如č、ć、š、ž、đ等字符时遇到了问题
该文本首先放在画布上:
packet = io.BytesIO()
can = canvas.Canvas(packet, pagesize=A4)
然后将数据包放入新的PDF:
can.drawString(100, 100, "Kopačka")
can.save()
packet.seek(0)
new_pdf = PdfFileReader(packet)
在那之后,我将空PDF模板和新PDF与关键文本合并
问题是特殊的变音字符显示为如下黑匣子:⬛
我尝试将UTF-8编码添加到定义函数:
def __init__(self, e='utf-8')
在drawString函数中,如下所示:
can.drawString(100, 100, "Kopačka".encode('utf-8'))
但它仍然没有正确显示
有没有其他方法来展示这些特殊的角色
所以我找到了解决办法:
我以@Aleksey的方式添加了这个评论:
# -*- coding: utf-8 -*-
我将字体从Arial改为Calibri,正如@usr2564301建议的那样:
首先,导入的模块:
然后我在文件夹中下载了Calibri Regualr.ttf并在应用程序中注册:
然后更改画布中的字体:
除此之外,我在definition函数和drawString函数中保留了UTF-8编码
谢谢大家的帮助
使用UTF-8编码的脚本应以以下注释开头:
您还可以通过以下方式设置utf-8的使用:
在脚本中,可以使用“u”前缀定义unicode字符串
相关问题 更多 >
编程相关推荐