【问题标题】:Reportlab pdf encodingReportlab pdf 编码
【发布时间】:2013-01-19 22:35:29
【问题描述】:

我想用reportlab 将一些土耳其语字符写入pdf。 我使用休闲代码来做到这一点。

c = Canvas("test.pdf")  
data="ğçİöşü"
p = Paragraph(data.decode('utf-8'), style=styNormal)

但它没有以 pdf 格式显示我的数据。

输出: ■ç■ö■ü

【问题讨论】:

    标签: python-2.7 reportlab linux-mint


    【解决方案1】:

    this answer to a similar question 中所述,您需要使用支持您的字符的字体。

    简而言之,试试这个:

    pdfmetrics.registerFont(TTFont('Verdana', 'Verdana.ttf'))
    c.setFont("Verdana", 8)
    

    【讨论】:

      【解决方案2】:

      确保您的文件是 UTF-8 编码的,我还建议您通过这样做来确保数据变量是 UTF-8

      data = u"ğçİöşü"
      

      【讨论】:

      • 感谢 Gordon 的回答,但我已经尝试将 utf-8 转换为文本。我不明白你制作文件 utf-8 是什么意思(是关于文件/另存为>with(utf-8))。
      • 是的,请确保文件以 utf8 格式保存。或者,如果您愿意为所有非 ASCII 字符使用转义码(如 \u0123),则可以使用低 7 位与 ASCII 匹配的任何编码
      猜你喜欢
      • 2020-09-05
      • 2013-07-21
      • 1970-01-01
      • 2011-04-06
      • 2012-04-16
      • 2013-10-17
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多