PDF auslesen wie dargestellt
Verfasst: Freitag 7. März 2025, 07:23
Hallo zusammen,
ich möchte ein PDF auslesen. Das funktioniert einfach und läuft. Aber nicht so, wie ich es erwarte, bzw. brauche.
Kurze Erklärung:
Das PDF wird von einem CAD-Tool erstellt. In diesem PDF sind Daten auf den unterschiedlichen Seiten verteilt.
Diese Daten sollen von meinem Tool ausgelesen werden.
Den Sinn oder Grund dahinter ist erstmal egal.
Wenn ich mit den gängigen PDF-Library's in Python das mache, erhalte ich zwar den ganze Text-Inhalt, jedoch komplett unsortiert oder garnicht.
Das bedeutet, dass Texte, welche in der Darstellung in einer Linie sind, sind in Python dann im Ergebnis total verteilt.
Beispiel:
Anzeige im Adobe Reader:
ABC - Kernelement - BstNr.: 4807 4711 KK - Kunde - Zch-Nr.: XYZ 23
Ausgelesen mit py2PDF oder fitz:
Kernelement
-
4807
Kunde
-
-
Zch-Nr.:
XYZ
23
ABC
4711
Kernelement
-
BstNr.:
Problem dabei ist, dass die nächste Zeile in der Sortierung komplett anders sein kann. Ich hab da null Chance was sinnvolles zu finden.
Wenn ich jetzt aber die komplette Seite markiere (STRG+A) und kopiere (STRG+C) und im Editor einfüge (STRG+V) dann ist die Zeile komplett dargestellt.
Jetzt könnte ich 80er Like das PDF öffnen, jede Seite mit Tastatur-Simulation anspringen, den Text damit markieren, kopieren und den Zwischenspeicher auslesen,
aber das ist ja nicht sinnvoll.
Hat jemand einen Tipp, eine Idee oder sonstiges, wie ich die Daten so erhalte, als wenn ich die Seite markiere und kopiere?
Danke
ich möchte ein PDF auslesen. Das funktioniert einfach und läuft. Aber nicht so, wie ich es erwarte, bzw. brauche.
Kurze Erklärung:
Das PDF wird von einem CAD-Tool erstellt. In diesem PDF sind Daten auf den unterschiedlichen Seiten verteilt.
Diese Daten sollen von meinem Tool ausgelesen werden.
Den Sinn oder Grund dahinter ist erstmal egal.
Wenn ich mit den gängigen PDF-Library's in Python das mache, erhalte ich zwar den ganze Text-Inhalt, jedoch komplett unsortiert oder garnicht.
Das bedeutet, dass Texte, welche in der Darstellung in einer Linie sind, sind in Python dann im Ergebnis total verteilt.
Beispiel:
Anzeige im Adobe Reader:
ABC - Kernelement - BstNr.: 4807 4711 KK - Kunde - Zch-Nr.: XYZ 23
Ausgelesen mit py2PDF oder fitz:
Kernelement
-
4807
Kunde
-
-
Zch-Nr.:
XYZ
23
ABC
4711
Kernelement
-
BstNr.:
Problem dabei ist, dass die nächste Zeile in der Sortierung komplett anders sein kann. Ich hab da null Chance was sinnvolles zu finden.
Wenn ich jetzt aber die komplette Seite markiere (STRG+A) und kopiere (STRG+C) und im Editor einfüge (STRG+V) dann ist die Zeile komplett dargestellt.
Jetzt könnte ich 80er Like das PDF öffnen, jede Seite mit Tastatur-Simulation anspringen, den Text damit markieren, kopieren und den Zwischenspeicher auslesen,
aber das ist ja nicht sinnvoll.
Hat jemand einen Tipp, eine Idee oder sonstiges, wie ich die Daten so erhalte, als wenn ich die Seite markiere und kopiere?
Danke