2013-03-21 3 views
2

Я пытаюсь создать PDF-документ с использованием pisa, который включает в себя ввод пользователя. Пользовательский вход может быть в может быть на других языках. При попытке ввода китайского или японского символов символы отображаются как черные ящики. Как я могу правильно отобразить PDF, даже когда я не знаю, на каком языке пользователь ввел?Создание PDF с символами pisa и non-ascii

Вот пример того, что я пытаюсь:

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

Getting проблемы даже для акцентированных букв латинского алфавита. –

ответ

1

Шрифты по умолчанию Pisa использует не поддерживают китайские или японские иероглифы. Мне удалось отобразить символы, включив в них файл шрифта с поддержкой этих символов и используя его в css.

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

См Раздел 8 this documentation

+1

Я сделал это с покупкой code2000. Я вижу белые квадраты, где находятся японские символы, а остальная часть документа - с пользовательским шрифтом. Вы знаете, почему он не работает? Если я отображу его в браузере, появятся японские символы. – ccsakuweb

Смежные вопросы