Ich habe ein Problem aufgrund cups-PDF erstellen PDF-Dokumente, wo Zeichen auf seltsame Symbole [auf Ubuntu Linux 14.04 und 16.04} zugeordnet werden. Ich denke, es ist eine Art Unicode, selbst wenn Python mir seinen String-Typ sagt. type(object)
"string"
remap verschlüsselte PDF-Zeichen in lesbaren Text
Kein Unterschied, wenn ich den Text aus der PDF via Mouse kopieren Einfügen von evince/Firefox oder über Python PDFminer Modul. So ist es wahr, das PDF hat Textinformationen gebrochen, die auf PDF-Dokument selbst korrekt wiedergegeben werden. Ich wusste das nicht, aber Text und Textgrafik im PDF-Dokument scheinen eng miteinander verbunden zu sein.
Wenn ich Text kopiere aus solchen erstellte PDF-Dokument mit gutem Beispiel den Namen „Raphael“ verwandelt sich in "✡✍✑✒✍☛✓"
so jedes einzelne Zeichen zuordnet "✡=R ✍=a ✑=p ✒=h ✍=a ☛=e ✓=l"
Ein weiteres Beispiel ist: "Devel"
verwandelt sich in "✭☛✮☛✓"
Wie kann ich eine Funktion in Python schreiben, die diese "falsche" Information in die richtige umwandelt? Auf dem PDF-Dokument ist alles perfekt lesbar.
Dies hat etwas todo mit cups-PDF mit Postscript zum Erstellen der PDF, aber nicht das Hinzufügen der richtigen Schriftart/Zeicheninformationen zum Dokument.
Wenn der Brief 'l'
ist immer das Symbol '✓'
, die dieses checkmark unicode character
ist Wie kann ich eine remap der Charaktere in dieser seltsamen Darstellung tun, um die korrekte Darstellung in Python? Wie kann ich also das Symbol '✓'
in den Buchstaben 'l'
verschieben oder neu zuordnen? Irgendeine Idee?
Warum brauche ich das? Ich muss in diesen Dokumenten nach einem Textwert suchen.
Ja, die PDF zu sein scheint mit einer speziellen Schriftart Kopieren zu verhindern. Der Text ist * verschlüsselt *, aber auch die Buchstaben in der Schriftart. Wenn also "a" einmal dem Unicode-Codepunkt U + 0061 zugeordnet wurde, hat die PDF-Datei stattdessen all diese a-Zeichen durch U + 270D ersetzt, und die spezielle Schriftart hat das normale Zeichen "WRITING HAND" durch den Buchstaben a ersetzt. Es ist eine Ersatz-Chiffre. –
Sie haben Recht Martijn Pieters a entspricht Unicode "U + 270D", wie kann ich diesen Text entschlüsseln? Wie ordne ich diese Buchstaben auf ihren ursprünglichen Wert zurück? a was ist jetzt "U + 270D" zurück zu "U + 0061"? Gibt es irgendeine Python-Funktion? –