2013-03-21 38 views
2

我正在尝试使用包含用户输入的比萨创建PDF文档。 用户输入可以在其他语言中。当试图输入中文或日文时,字符显示为黑色框。即使我不知道用户输入了什么语言,我如何才能正确显示PDF?使用比萨和非ASCII字符创建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') 
+0

获取问题

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

见第8条。 – 2016-01-27 14:50:48

回答

1

默认字体比萨用途不支持中国或日文字符。我能够通过包含支持这些字符的字体文件并在css中使用它来获取要显示的字符。甚至重音符号的拉丁字母this documentation

+1

我用code2000购买了我看到日文字符是白色方块,文件的其余部分是自定义字体。你知道它为什么不起作用吗?如果我在浏览器中显示日文符号。 – ccsakuweb 2016-07-03 13:29:40