Seite 1 von 1

pyPdf, extractText, Coding

Verfasst: Donnerstag 8. November 2012, 09:38
von Kle
Liebes Forum

Nach dem Lesen eine PDF-Datei mit pyPdf, page1 = input1.getPage(i).extractText(),
habe ich in page1 zwar den Text, die Umlaute sind aber falsch.
Beispielsweise wird das "ü" als "Dagger" ( = utf8 e280a0) ausgegeben.
Wie kann ich das hinbiegen?

TIA Kle

Re: pyPdf, extractText, Coding

Verfasst: Freitag 9. November 2012, 17:36
von darktrym
Ich habs gerade ausprobiert, bei mir funktionierts(unter Python 2.7.3@Windows7 ein \xfc).

Re: pyPdf, extractText, Coding

Verfasst: Freitag 9. November 2012, 17:59
von Sirius3
Hallo Kle,
wie wurden die pdf-Dateien erzeugt?
Bei pdf ist das Encoding nicht unbedingt angegeben.
Funktioniert das Kopieren aus Acrobat?

Grüße
Sirius

Re: pyPdf, extractText, Coding

Verfasst: Montag 12. November 2012, 09:23
von Kle
Sirius3 hat geschrieben: wie wurden die pdf-Dateien erzeugt?
Bei pdf ist das Encoding nicht unbedingt angegeben.
Funktioniert das Kopieren aus Acrobat?
Die Dateien kommen aus den unterschiedlichsten Quellen, vom Encoding weiß ich nichts und einen Einfluß darauf habe ich auch nicht. Wenn ich sie mit dem Acrobat Reader lese, dann steht z.B. "Ansatz geplant für 2014", ebenso nach eine "Save as", aber nach dem "extractText()" heißt es " Ansatz geplant f†r 2014". Könnte es damit zu tun haben, daß ich PY.3.2 einsetze?

MfG Kle

Re: pyPdf, extractText, Coding

Verfasst: Montag 12. November 2012, 09:55
von BlackJack
@Kle: Was bekommst Du denn *genau* bei `extractText()`. Das was Du zeigst wird ja auch noch mal irgendwo interpretiert bevor es Dir am Bildschirm angezeigt wird. Also was für einen Datentyp hat das Ergebnis der Methode und stehen da für Werte drin? Wende darauf mal jeweils die `type()` und die `ascii()`-Funktion an und zeig was dabei heraus kommt.

Re: pyPdf, extractText, Coding

Verfasst: Montag 12. November 2012, 10:55
von Sirius3
@Kle: schön dass Acrobat das richtig darstellen kann, aber was passiert, wenn Du versuchst, den Text als Text in einen anderen Editor zu kopieren? Das Aussehen eines Zeichens und wie es intern interpretiert wird, sind nämlich
zwei verschiedene Dinge.
Kannst Du ein Beispiel-PDF posten?

Re: pyPdf, extractText, Coding

Verfasst: Montag 12. November 2012, 13:03
von Kle
BlackJack hat geschrieben:@Kle: Was bekommst Du denn *genau* bei `extractText()`. Das was Du zeigst wird ja auch noch mal irgendwo interpretiert bevor es Dir am Bildschirm angezeigt wird. Also was für einen Datentyp hat das Ergebnis der Methode und stehen da für Werte drin? Wende darauf mal jeweils die `type()` und die `ascii()`-Funktion an und zeig was dabei heraus kommt.
ascii() habe ich nicht gefunden aber ord():

from pyPdf import PdfFileReader
file1 = open("H:\\Verfahren\\test02.pdf", "rb")
input1 = PdfFileReader(file1)
page1 = input1.getPage(1).extractText()
print (type(page1), page1[1065:1068], ord(page1[1065:1066]), \
ord(page1[1066:1067]), ord(page1[1067:1068]))

liefert: <class 'str'> f†r 102 8224 114

MfG Kle

Re: pyPdf, extractText, Coding

Verfasst: Montag 12. November 2012, 15:48
von BlackJack
@Kle: Da würde ich an Deiner Stelle mal schauen ob das Projekt aktiv entwickelt wird und einen Bugtracker hat.