Hallo
Eigentlich ist es ja kein Problem in einem PDF Dokument
eine Tabelle zu markieren
und den Inhalt in OpenOffice in die Spalten sortieren lasse.
Hier klappt es leider nicht,
da nach jedem Wert ein Zeilenumbruch entsteht:
https://www.oventrop.com//de/products/hbtd/db_1061704_de.pdf
Tabelle auf Seite 7
Kennt da jemand einen Zaubertrick?
Im Prinzip konnte ich die Tabelle im OO einlesen.
Text in Spalten, getrennt mit Leerzeichen.
Jetzt kommt das ABER:
Häufig sind zu viele Leerzeichen drin. Z.B. die "11111" wird als "1 1 1
1 1" erkannt und die Einsen landen deshalb in verschiedenen Spalten. Bei
anderen Zahlen genauso. Mit manuellem Editieren kriegt man das hin. Da
kannst du aber auch gleich abtippen...
zur erklärung warum das nicht immer geht…
in einem PDF sind daten nicht gespeichert wie in einem textdokument, so
von links nach rechts und von oben nach unten.
stattdessen gibt es eine objektliste, und positionierungsdaten "auf
seite 0 an pos 100/434".
diese objekte können strings sein, teilstrings, pdf-tabellenzellen…
ein fürs auge "da stehender" string kann in wirklichkeit eine menge an
teilstrings sein die einfach "hintereinander" in einer pdf-tabellenzelle
plaziert sind.
so kann aus "123" beim einfügen in OO "1" "2" "3" werden.
fazit: pdf ist schön zum anschauen, aber nicht umbedingt (je nach
generator) zum weiterverarbeiten.
c.m. schrieb:> so kann aus "123" beim einfügen in OO "1" "2" "3" werden.
Das war ein guter Tipp. Ich hab mal einen anderen PDF-Reader versucht.
Dann in OO importiert und anschließend "Text in Spalten" angewendet.
Sieht schon besser aus :-)
Erstmal drucken, als PDF :)
(huest, wg. "error" Error (512564): Unknown filter 'Crypt')
$pdftk printed.pdf burst
$pdftotext -layout -eol unix -nopgbrk pg_0007.pdf 07.txt
Obs stimmt habe ich jetzt nicht gprueft, sieht aber nicht schlecht aus.
c.m. schrieb:> in einem PDF sind daten nicht gespeichert wie in einem textdokument, so> von links nach rechts und von oben nach unten.
Das sollte doch die Exportfunktion, die die Tabelle z.B. in die
Zwischenablage befördert, klären. Wenn ein Textprogramm die Daten aus
der Zwischenablage bekommt, erwarte ich als Benutzer, dass Textstück,
die im PDF in einer Zeile stehen, im Textprogramm auch wieder als Zeile
auftauchen. Was interessiert da die interne Struktur?
Da hat ADOBE noch einige Baustellen offen.
Genauso ist es schlimm genug, dass bei vielen PDF-Dokumenten die
Suchfunktion nicht funktioniert. Wenn ich im PDF ein (markierbares) Wort
lese, erwarte ich auch, dass die Suchfunktion des PDF-Readers die auch
findet - ohne Rücksicht darauf, wie das PDF-Dokument intern strukturiert
ist.
Huh schrieb:> Jetzt kommt das ABER:> Häufig sind zu viele Leerzeichen drin. Z.B. die "11111" wird als "1 1 1> 1 1" erkannt und die Einsen landen deshalb in verschiedenen Spalten. Bei> anderen Zahlen genauso. Mit manuellem Editieren kriegt man das hin. Da> kannst du aber auch gleich abtippen...
Kann der doch von alleine, "Merge Delimiters" auswaehlen.
cd ~ schrieb:> Huh schrieb:>> Jetzt kommt das ABER:>> Häufig sind zu viele Leerzeichen drin. Z.B. die "11111" wird als "1 1 1>> 1 1" erkannt und die Einsen landen deshalb in verschiedenen Spalten. Bei>> anderen Zahlen genauso. Mit manuellem Editieren kriegt man das hin. Da>> kannst du aber auch gleich abtippen...>> Kann der doch von alleine, "Merge Delimiters" auswaehlen.
Nein, kann er eben nicht. Das habe ich auch versucht.
Wenn "1 1 1 1" (ohne die Anführungszeichen) im Rohtext steht, wie soll
er dann wissen, ob das Trenner zwischen den Spalten sind oder oder
nicht?
Wie soll er wissen, daß es keine aufeinanderfolgenden Spalten sind,
sondern eine zusammenhängende Zahl (mehrere Ziffern)?
Aber ich hab's ja schon lange geschafft:
Beitrag "Re: Tabelle aus einem PDF Dokument extrahieren"
Und wenn es ganz schlimm kommt benutzt doch OCR, die schert sich nicht
drum wie das im PDF gespeichert ist. Muss ich immer dann benutzen wenn
so ein Scherzkeks beim Erstellen Copy&Paste verboten hat und
funktioniert einwandfrei...
OCR schrieb:> Und wenn es ganz schlimm kommt benutzt doch OCR, die schert sich> nicht> drum wie das im PDF gespeichert ist. Muss ich immer dann benutzen wenn> so ein Scherzkeks beim Erstellen Copy&Paste verboten hat und> funktioniert einwandfrei...
Ja, das ist auch eine Möglichkeit.
Was hast du für eine OCR-Software, wenn ich mal fragen darf?
OCR schrieb:> Abbyy Finereader, schon ein paar Jahre alt. V9 glaub ich war es.> Benutze das nur auf Arbeit...
Danke, schau ich mir mal an. Dafür, daß ich sowas nur sehr selten
brauche, war mir die Software immer zu teuer. Und kostenlose OCR, die
auch was taugt, habe ich noch nicht gefunden...
Huh schrieb:> Wenn "1 1 1 1" (ohne die Anführungszeichen) im Rohtext steht, wie soll> er dann wissen, ob das Trenner zwischen den Spalten sind oder oder> nicht?
Seperator muss ja kein einzelnes Zeichen sein eg. ein "[space][space]"
"1[space]1[space]1[space]1"[space][space][space]"1"
daraus werden dann zwei Zellen, dann sollte das doch blos noch eine
Sache des Zellformates sein.
cd ~ schrieb:> daraus werden dann zwei Zellen
Alle Ziffern sollen aber in eine Zelle (als mehrstellige Zahl).
Andere Trenner bestehen teilweise auch aus einem Leerzeichen.
Wie soll er erkennen, ob das fälschlich eingefügte Leerzeichen
(innerhalb einer Zahl) sind oder ob es sich tatsächlich um den
Spaltentrenner handelt?
Schau dir mal den Rohtext an:
Beitrag "Re: Tabelle aus einem PDF Dokument extrahieren"
Moin
Danke für die ganze Unterstützung :-)
Das komische ist jedoch, wenn ich die formatierte Tabelle jetzt als csv
exportiere,
fehlen ab und zu die Anführungszeichen um die Werte.
Das ist doch eine krux...
Kolja L. schrieb:> Moin>> Danke für die ganze Unterstützung :-)
Kein Problem :-)
>> Das komische ist jedoch, wenn ich die formatierte Tabelle jetzt als csv> exportiere,> fehlen ab und zu die Anführungszeichen um die Werte.>> Das ist doch eine krux...
Markiere die Zellen und formatiere sie entweder als "Text" oder als
"Zahl".
Anschließend neu exportieren und - voilá.
Das liegt daran, daß einige Zellen als "Text" erkannt wurden und andere
als "Zahl". Kommt jetzt darauf an, was du damit machen willst. Wenn du
einfach nur ausdrucken willst, ist es egal. Wenn du aber mit den Werten
in den Zellen weiterrechnen willst, nützt dir "Text" nichts, da mußt du
sie als "Zahlen" formatieren.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang