2012-08-29 5 views
0

J'essaie de convertir un code HTML local en un fichier PDF, mais le document html contient des caractères non-ASCII qui se retrouvent cassés dans le fichier PDF. Pourquoi pisa ne fonctionne pas pour tous les caractères UTF-8?python pisa utf8 issue

with open('file.html') as m: 
    data = m.read() 
    m.close()   
    pisa.CreatePDF(data, file('final.pdf', 'w')) 
+0

Je n'ai aucune expérience avec 'pisa', mais as-tu veillé à ce que ton HTML ait le jeu de caractères approprié? – zigg

+0

il fait et tout affiche correctement dans le navigateur – user1442957

+0

À quoi ressemblent-ils réellement dans le PDF? Pouvez-vous fournir une capture d'écran et les octets réels produisant les problèmes? – geoffspear

Répondre

4

Vous l'avez. Cela doit être en haut de votre contenu généré par:

<meta http-equiv="content-type" content="text/html; charset=utf-8"> 
0

Pour moi, il a aidé en utilisant l'option d'encodage avec encoding = 'utf-8':

pisa.CreatePDF(html.content, dest=pdfFile, encoding='utf-8')