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

时间:2016-02-19 04:58:12

标签: python special-characters reportlab

我的代码就是这个

    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łasięΈΉΌΎΑΑΒΓΕΕΥÊΘΚ”......我尝试使用支持这些字符的字体。 。问题仍然相同..我在[pdf]这些字母的[] [] [] []空框中

1 个答案:

答案 0 :(得分:0)

通过在我的应用程序中添加DejaVuSans字体解决了我的问题以下是代码片段

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