【问题标题】:Creating a PDF with pisa and non-ascii characters使用 pisa 和非 ascii 字符创建 PDF
【发布时间】:2013-03-10 08:39:56
【问题描述】:

我正在尝试使用包含用户输入的 pisa 创建 PDF 文档。 用户输入可以是其他语言。尝试输入中文或日文时,字符显示为黑框。即使我不知道用户输入了什么语言,如何让 PDF 正确显示?

这是我正在尝试的示例:

import ho.pisa as pisa
import StringIO
import sys

data = """
<html>
    <head>
        <title>Testing</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </head>
    <body>
        <p>%s</p>
    </body>
</html>
"""

text = ""
for line in sys.stdin:
    text += line

pisa.pisaDocument(StringIO.StringIO(data % text), file('final.pdf', 'w'), encoding='UTF-8')

【问题讨论】:

  • 即使是带重音的拉丁字母也会出现问题。

标签: python pisa


【解决方案1】:

pisa 使用的默认字体不支持中文或日文字符。我能够通过包含支持这些字符的字体文件并在 css 中使用它来显示要显示的字符。

@font-face {
   font-family: OtherFont;
   src: url(font/OtherFont.ttf);
}
body {
   font-family: OtherFont;
}

参见this documentation 的第 8 节

【讨论】:

  • 我用 code2000 购买了我看到日文字符所在的白色方块,文档的其余部分使用自定义字体。你知道为什么它不工作吗?如果我在浏览器中渲染它,就会出现日文符号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 2017-04-09
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多