J'ai un problème avec cups-PDF en créant des documents PDF où les caractères sont mappés sur des symboles étranges [sur Ubuntu Linux 14.04 et 16.04}. Je pense que c'est une sorte d'Unicode même si Python me dit son type de chaîne. type(object)
python renvoie "string"
remappage des caractères PDF en texte lisible
Pas de différence si je récupère le texte du PDF via le copier-coller de la souris à partir de evince/Firefox ou via le module Python PDFminer. Donc, c'est vrai, le PDF a brisé les informations de texte qui est rendu correct sur le document PDF lui-même. Je ne le savais pas, mais le texte et le texte sur un document PDF ne semblent pas très liés.
Quand je fais copier du texte de ce document PDF créé par exemple le nom de « Raphaël » se transforme en "✡✍✑✒✍☛✓"
de sorte que chaque caractère cartes pour "✡=R ✍=a ✑=p ✒=h ✍=a ☛=e ✓=l"
Un autre exemple est la suivante: "Devel"
se transforme en "✭☛✮☛✓"
Comment puis-je écrire une fonction en Python qui déplace cette "mauvaise" information vers la bonne? Sur le document PDF, tout est parfaitement lisible.
Cela a quelque chose à faire avec cups-PDF en utilisant postscript pour créer le PDF, mais ne pas ajouter les informations de police/caractère correct au document.
Si la lettre 'l'
est toujours le symbole '✓'
qui est ce checkmark unicode character
Comment puis-je faire remap des personnages dans cette étrange représentation pour corriger la représentation en Python? Alors, comment puis-je changer ou remapper le symbole '✓'
à la lettre 'l'
? Une idée?
Pourquoi j'en ai besoin? Je dois rechercher une valeur de texte dans ce document.
Oui, le PDF semble utiliser une police spécialisée pour empêcher la copie. Le texte est * brouillé *, tout comme les lettres de la police. Donc si 'a' une fois a été mappé au code de code Unicode U + 0061, le PDF a remplacé tous ces a avec U + 270D à la place, et la police spéciale a remplacé le glyphe normal" WRITING HAND "par la lettre a. C'est un chiffrage de substitution. –
Vous avez raison Martijn Pieters est unicode "U + 270D", comment puis-je désembrouiller ce texte? Comment puis-je mapper ces lettres à leur valeur d'origine? a qui est maintenant "U + 270D" à "U + 0061"? Y at-il une fonction Python? –