ReportLab生成PDF时仅部分Latin-2字符编码正常的问题求助
ReportLab生成PDF时仅部分Latin-2字符编码正常的问题求助
各位大佬好,我现在在用Python的ReportLab库生成PDF发票,遇到了一个编码相关的问题,想请教下大家:
我要生成的PDF里的文本是斯洛文尼亚语,包含像č、š、ž这类属于Latin-2字母表的特殊字符。目前我的代码大致是这样的:
pdf = canvas.Canvas(...) pdf.setFont("Helvetica", 3) for line in receipt_lines: textobject.textLine(line.rstrip()) pdf.drawText(textobject)
这段代码能正常生成PDF,但奇怪的是,部分Latin-2字符(主要是'č')会被替换成黑色方块。比如原句:
"Račun je bil uspešno nastisnjen"
在最终PDF里会显示成:
"Ra□un je bil uspešno natisnjen"
(注:□代表实际显示的纯黑方块)
我知道ReportLab在编码处理上有点棘手,但实在搞不懂为什么只有部分特殊字符显示异常,其他像š这类却能正常显示。有没有大佬能帮我分析下原因,或者给个解决思路呀?
备注:内容来源于stack exchange,提问作者Jurij Plaskan
相关产品推荐
相关产品推荐

