是否有以正确方式转换latin2字母的选项?我需要给我学校项目的波兰信。这是我如何生成pdf的一些代码#!/usr/bin/python# -*- utf-8 -*-from reportlab.pdfgen import canvasfrom reportlab.lib.pagesizes import letter, A4def GenerujPustyArkusz(c): c.setFont("Times-Roman", 8) c.drawString(450,750, u"Załącznik nr 2 do Regulaminu")def test(): c = canvas.Canvas("test.pdf", pagesize=letter) GenerujPustyArkusz(c) c.showPage() c.save()test()我得到这个:Za■■cznik nr 2 do Regulaminu我尝试了几种编码技巧,但没有结果。
2 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
我认为主要的问题是您使用的字体没有那些波兰字符。这段代码对我有用,并显示了您想要的字符:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, A4
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
def GenerujPustyArkusz(c):
pdfmetrics.registerFont(TTFont('Verdana', 'Verdana.ttf'))
c.setFont("Verdana", 8)
s = u"Załącznik nr 2 do Regulaminu"
c.drawString(450,750, s)
def test():
c = canvas.Canvas("test.pdf", pagesize=letter)
GenerujPustyArkusz(c)
c.showPage()
c.save()
test()
如果要使用其他字体,则必须找到想要的字体,包括抛光字符。
添加回答
举报
0/150
提交
取消