我正在尝试使用包含用户输入的 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')
请您参考如下方法:
pisa 使用的默认字体不支持中文或日文字符。我能够通过包含支持这些字符的字体文件并在 css 中使用它来显示字符。
@font-face {
font-family: OtherFont;
src: url(font/OtherFont.ttf);
}
body {
font-family: OtherFont;
}
参见 this documentation 的第 8 节
