使用pisa和非ascii字符创建PDF

时间:2013-03-21 00:26:56

标签: python pisa

我正在尝试使用包含用户输入的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')

1 个答案:

答案 0 :(得分:1)

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

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

参见this documentation

的第8节