Transformer un texte chinois en pdf
lun. 25 novembre 2013 Python
Nous sommes tous confrontés un jour au problème de l'encodage, aka "c'est quoi tous ces hiéroglyphes bizarres dans mon document au lieu de mon beau texte en chinois (ou en suédois, en russe, en arabe, ou même en français....)?"
Bon, je ne vais pas faire un cours sur l'encodage, sachez juste que si vous avez des hiéroglyphes, que vous êtes sur Mac ou Linux, il y a des fortes chances que votre document ne soit pas en unicode mais dans un encodage régional, comme par exemple pour un texte chinois GB2312 (chinois simplifié) ou BIG5 (chinois traditionnel).
Qu'à cela ne tienne, nous allons convertir notre texte dans un format unicode universel, dans sa version UTF8. Et puis, pour pouvoir lire le texte en toute circonstance et sur toute plateforme, nous allons en faire un pdf
Pour cela, nous allons utiliser deux bibliothèques tierces de Python, chardet qui permet de deviner l'encodage de notre fichier texte de départ (très pratique si nous ne le connaissons pas) et pyfpdf qui permet de créer un fichier pdf (plus simple à utiliser que reportlab). Les deux bibliothèques s'installent avec pip. la documentation pyfpdf est ici.
Allez, le programme python. Les commentaires sont dans le code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
Voilà, il n'y a plus qu'à lancer le programme par un beau
$ ./txt2pdf.py montexte.txt
Evidemment, pour tout être normalement constitué, lancer un décodage de cette manière, en ligne de commande, ce n'est pas très pratique, un clic droit sur un ou plusieurs fichiers serait le bienvenue. C'est que nous allons faire tout de suite dans ce billet