python reportlab 在 PDF 文件中写入特殊字符

python reportlab writing special chararacters in PDF file

我的代码是这样的

    from reportlab.lib.styles import getSampleStyleSheet
    from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate, Paragraph
    from reportlab.lib.styles import ParagraphStyle
    from reportlab.lib.colors import Color
    from reportlab.pdfbase import pdfmetrics
    from reportlab.pdfbase.ttfonts import TTFont
    pdfmetrics.registerFont(TTFont('Vera', 'Vera.ttf'))
    pdfmetrics.registerFont(TTFont('VeraBd', 'VeraBd.ttf'))
    canvas.setFont(font_name_from_dict , font_size)
    bodyStyle = ParagraphStyle('Body', fontName = "Vera", fontSize= 10, textColor= Color( 255,0,0,1)

    P = Paragraph("większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" , bodyStyle)
    P.drawOn(canvas, 0, 0)

但是我不能用这个字符写段落 "większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" ...我试过支持这个字符的字体 ...问题还是一样..我得到 [][] [][] pdf 中这些字母的空框

通过将 DejaVuSans 字体添加到我的应用程序解决了我的问题这是代码片段

pdfmetrics.registerFont(TTFont('DejaVuSans','DejaVuSans.ttf'))