2015-07-14 2 views
0

J'ai un problème avec mon ReportLab. Je veux créer des fichiers PDF avec des données provenant de mon code javascript avec des lettres chinoises ou d'autres lettres non-romaines. J'ai essayé d'utiliser différentes techniques dans unicode mais il apparaît toujours comme des boîtes noires dans le PDF. J'ai quelque chose dans mon js comme ceux-ci et je veux faire le texte "Warranty ....." au chinois ou quelque chose.A propos de reportlab

content.find('#wtc') 
        .html('<br/><span style="font-size:20px;color:rgb(9,79,163);"> Warranty General Terms and Conditions</span>'); 

Lorsqu'il est en caractères latins, c'est parfaitement bien. Cependant, si j'insère quelque chose comme [&] # 21512; il ne montre pas comme il se doit qui est comme ceci >> 合

Quelqu'un peut-il m'aider ici? Merci d'avance!

PS, s'il vous plaît ours avec moi. Je suis nouveau ici aussi bien que dans reportlab.

Répondre

0

Peut-être que vous avez besoin d'ajouter aux polices de reportlab qui supportent l'encodage que vous voulez? par exemple:

pdfmetrics.registerFont(TTFont('Times-Italic', 'timesi.ttf', 'UTF-8')) 
pdfmetrics.registerFont(TTFont('Times-BoldItalic', 'timesbi.ttf', 'UTF-8')) 
from reportlab.lib.fonts import addMapping 
addMapping('Times', 0, 0, 'Times') #normal 
addMapping('Times', 0, 1, 'Times-Italic') #italic 

Placez ce polices pour \ site-packages \ reportlab \ fonts