Django reportlab latin2编码

lis*_*sek 6 python django encoding reportlab iso-8859-2

有没有选择以正确的方式转换拉丁文字母?我需要波兰信给我的学校项目.以下是我生成pdf的一些代码

#!/usr/bin/python
# -*- utf-8 -*-

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, A4



def 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()
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

Za??cznik nr 2 do Regulaminu
Run Code Online (Sandbox Code Playgroud)

我尝试了几种没有结果的编码技巧.

Pau*_* Bu 11

我认为主要的问题是你使用的字体没有那些抛光字符.这段代码对我有用,并显示了你想要的字符:

#!/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()
Run Code Online (Sandbox Code Playgroud)

如果你想使用其他字体,你必须找到你想要的字体,包括抛光字符.

我希望这有帮助!