(Bild-)PDF nach Text durechsuchen

halwe

Lt. Commander
Registriert
Jan. 2007
Beiträge
1.955
Hallo in die Runde,
ich erhalte öfter pdf-Dateien als "Bilddatei" in schlechter Quali, die ich durchsuchen will. Da habe ich zum Beispiel eine Datei mit 100 Seiten, Tabellen, Schwarz-weiß Bilder, 6 MB groß (hätte ich die Datei selbst erzeugt, hätte sie mit diesem Textumfang wahrscheinlich weniger als 1 MB).
Um sie zu durchsuchen verwendet ich eine OCR Umwandlung, entweder Readiris oder Paperport (kam mit meinem Brother Drucker). In beiden Programmen dauert das OCR eine ganze Weile (5 min) und erzeugt anschließend recht große Dateien (Faktor 3 also hier 16-19 MB).

Nun meine Fragen:
1. Warum werden die Dateien so groß, wo ich doch nur Text hinzufüge. Ich habe den Eindruck, dass beide Programme die Dateien neu rendern, was ja eigentlich unnötig ist. Gibt es OCR-Programme, die das vermeiden?
2. Vielleicht geht es auch einfacher: Gibt es pdf-Reader, die auch bei Bild-pdf-Dateien direkt eine Suche ermöglichen? Also quasi mit On-The-Fly-Ocr?

Danke für euer Mitdenken im Voraus.
 
halwe schrieb:
Vielleicht geht es auch einfacher: Gibt es pdf-Reader, die auch bei Bild-pdf-Dateien direkt eine Suche ermöglichen? Also quasi mit On-The-Fly-Ocr?
Falls du macOS zur Verfügung hast, die Vorschau-App kann das. Also generell Bilder durchsuchen. Habe sogar mal mit Swift ein Script geschrieben, was genau diese OS-Funktionalität genutzt hat, Bilder mit Text im Batch zu verarbeiten und die Texte zu extrahieren. Geht auch super schnell.

https://github.com/tomasfreres/pdf-ocr-text-extractor
 
Zuletzt bearbeitet:
Rein aus Neugier: eine Bild-PDF wird per OCR zu einer Text-PDF die man dann durchsuchen kann, korrekt?
Warum denn von PDF zu PDF und nicht in irgendwas was man auch durchsuchen könnte?
CN8
 
Also wenn ich mit Acrobat gescannte Dokumente in durchsuchbare Bilder umwandle, dann verändert sich die Größe meist nicht nennenswert oder sinkt sogar. Dauert pro Seite so ca. 2-4 Sekunden.
 
unter Windows können das die Powertoys - zumindest für einen gewählten Ausschnitt - bei vielen Seiten eventuell mühsehlig.

chatgpt kann das auch - zumindest bei Bildern. pdf geht bestimmt auch?!
 
Zuletzt bearbeitet:
cumulonimbus8 schrieb:
Rein aus Neugier: eine Bild-PDF wird per OCR zu einer Text-PDF die man dann durchsuchen kann, korrekt?
Nein, normal wird eine unsichtbare Schrift über das Bild gelegt, die kann man dann durchsuchen oder mit der Maus markieren. Das ist gerade bei schlechten Vorlagen (wie hier) sehr sinnvoll, denn so kannst du als Mensch nochmal die Fehl-Erkennungen nachschlagen. Wenn du aber z.B. eine Umwandlung zum Word-Dokument beauftragst, wird das Originalbild normal gelöscht. Viele OCR Programme können auch keine Tabellen erkennen, wenn du da nur den Text untereinander statt nebeneinander hast geht plötzlich jede Menge Bedeutung verloren.
 
  • Gefällt mir
Reaktionen: trb85 und G.O.Tuhls
Hallo zusammen. Danke für die Rückmeldungen. Leider scheint es weder zu Punkt 1 noch zu Punkt 2 eine klare Lösung zu geben. Oder ich bin auf eine "CB-Erfahrungslücke" gestoßen.
Zu den Nebenvorschlägen:
Paperless-ngx ist eine Lösung für ein anderes Problem. In meinem Workflow sind durchsuchbare pdfs das Mittel der Wahl und der Prozess lässt sich anscheinend nur begrenzt optimieren.
ChatGPT meckert, das ihm die Datei zu groß bzw. zu komplex sei.
 
@Thorakon
Danke für die Erklärung.
Ich war allerdings auf das Warum und Wie der Handhabung aus. Motto: ›geht vielleicht auch anders besser?‹.
CN8
 
halwe schrieb:
Paperless-ngx ist eine Lösung für ein anderes Problem. In meinem Workflow sind durchsuchbare pdfs das Mittel der Wahl und der Prozess lässt sich anscheinend nur begrenzt optimieren.
Ich denke das Prinzip von paperless-ngx basiert durchaus auf durchsuchbaren pdfs, aber es kann halt noch viel mehr und ist hier vermutlich "overkill".

Ansonsten haben -glaube ich- die meisten von uns noch nie groß über die Dateigröße ihres OCR Programms nachgedacht. Ich habe verschiedene in Benutzung, aber als Privatanwender war Speicherplatz für mich bisher kein Thema, darum achte ich nicht so auf die Größe, schon gar nicht so, dass ich statistisch aussagekräftige Aussagen machen könnte. Ich scanne auch in hoher Qualität, und damit sind meine Erfahrungen nicht mit deinen vergleichbar.
Wenn du eine Testdatei ohne sensible Daten hättest, könnten wir es vielleicht ausprobieren. Sonst musst du halt selbst testen, ein Software-Vorschlag von mir wäre NAPS2 (=FOSS).

PS: Was passiert, wenn du alles auf einer Seite (oder im ganzen Dokument) mit der Maus markierst und dann z.B. in Word kopierst? Kommt da nur Text, oder macht er vielleicht aus der Rand der Tabelle tausende Sonderzeichen?

PPS: 6 MB in deiner Ursprungsdatei, wenn das wirklich Scans sind, ist schon recht klein. Vielleicht ist da eine Bildkomprimierungsoption beim Ersteller gesetzt worden, die hinterher verloren geht. Leider ist pdf ein sehr komplexes Format, und ich bin kein Profi darin, also etwas spekulativ.
 
  • Gefällt mir
Reaktionen: halwe
halwe schrieb:
Hallo zusammen. Danke für die Rückmeldungen. Leider scheint es weder zu Punkt 1 noch zu Punkt 2 eine klare Lösung zu geben. Oder ich bin auf eine "CB-Erfahrungslücke" gestoßen.
Naja, wie ich schrieb, wird bei mir kein PDF plötzlich groß.

On-the-fly wird das nicht gehen, weil dafür ja zwingend das gesamte Dokument durchsuchbaren Text braucht. Der Schritt der Umwandlung muss also trotzdem erfolgen, was das Prozedere dann sinnlos macht. Dann kann man es auch gleich normal ausführen und speichern. Dann kann man die Durchsuchung jederzeit wieder ausführen ohne erneut umzuwandeln.

Ich bin mit Acrobat in dieser Hinsicht recht zufrieden. Ob andere Programme das noch schneller machen, oder ob meine Hardware da begerenzt, das weiß ich natürlich nicht.
 
  • Gefällt mir
Reaktionen: halwe
@Thorakon: Bei mir spielen pdfs eine breite Rolle, egal ob dienstlich Gesetzestexte oder privat gescannte Dokumente. Und einige davon liegen eben nicht als durchsuchbare Dateien vor. Das macht es mir unmöglich, z. B. in Verzeichnisbäumen nach Textstellen zu suchen. "Durchsuchbar" brauche ich auch, um sauber Links auf einzelne Textstellen von pdfs zeigen zu lassen. Mein Worflow ist voll mit Direktverweisen auf pdf-Dateien, egal ob Gesetzeszitat oder Teilpositionen einer Rechnung oder hilfreicher Tipp aus einer eingescannten Bedienungsanleitung. Mein DMS heißt Windows Explorer.
Aber ja, die naheliegendste Lösung ist sicher, die Dateigröße zu ignorieren. Readiris 22 hat es allerdings letztens sogar geschafft, meine 6 MB Datei (103 Seiten, komplexe Tabellenstruktur, 300 dpi s/w) auf 102 MB aufzublähen, nur um sie durchsuchbar zu machen. Ein probeweise Umwandlung in Word zeigte dann auch, dass das Programm mit der Struktur total überfordert war.
Interessant ist es bei meinem Paperport-Programm und dem Brother Sanner: Wenn ich dort mit Texterkennung scanne, liegt der durchsuchbare sw-Scan (300 dpi) meist bei unter 50 kB / Seite. Das ocr läuft beim Scannen on-the-fly, ich merke praktisch kaum eine Verzögerung. Die Quali ist völlig ausreichend und das Durchsuchen funktioniert perfekt. Habe ich aber ohne ocr gescannt, liefert das gleiche Programm beim nachträglichen OCR eine Datei von mind. 200 kB/Seite.
Hier ist der Punkt, wo ich denke, das geht besser und wenn jemand ein Programm kennt, dass pdf-Dateien mit weniger als 100 % Aufschlag von Bild zu Bild+Text umwandelt, egal welches Bildformat in die pdf eingebettet ist, würde mich das interessieren.
Moep89 schrieb:
On-the-fly wird das nicht gehen, weil dafür ja zwingend das gesamte Dokument durchsuchbaren Text braucht. Der Schritt der Umwandlung muss also trotzdem erfolgen, was das Prozedere dann sinnlos macht. Dann kann man es auch gleich normal ausführen und speichern. Dann kann man die Durchsuchung jederzeit wieder ausführen ohne erneut umzuwandeln.
Nicht jedes Dokument brauche ich öfter, das vorab Erzeugen einer durchsuchbaren Version ist nicht immer sinnvoll. Im Gegenteil, eigentlich ist das vorsorgliche OCR ja nur eine Hilfskonstruktion, weil die PCs zu langsam für On-The-Fly-OCR sind. Ich hatte bei aktuellen Prozessoren mit Grafikprozessor und NPU gehofft, dass ein vorsorgliches OCR langsam unnötig wird.
 
halwe schrieb:
Nicht jedes Dokument brauche ich öfter, das vorab Erzeugen einer durchsuchbaren Version ist nicht immer sinnvoll.
Du musst es ja nicht speichern. Du kannst es auch einfach durchsuchbar machen und anschließend ungespeichert schließen.

Und wie geschrieben, gibt es auch gar kein "On-the-fly", weil für jeden Suchvorang eben der gesamte Text vorliegen muss. Die entsprechende Erkennung erfolgt also definitiv immer. Wie man das nennen will, ist da egal. Ob die Erkennung nun erfolgt wenn du das Suchfeld öffnest, oder wenn du einen Button drückst, ist nur ein Unterschied von einem Klick. Der Vorgang dahinter bleibt exakt derselbe.
 
  • Gefällt mir
Reaktionen: trb85
Warum soll es kein "On-The-Fly" OCR geben? Warum der ganze Text? Vielleicht habe ich mich unscharf ausgedrückt. Das Programm soll einfach Seite für Seite, oder eben Bild für Bild, das Dokument nach dem Suchstring durchsuchen. Klar, dass da jedes Mal irgendeine OCR zur Anwendung kommt. Aber eben seitenweise, beim "Drüberfliegen" und ohne, dass das Dokument vorab als Text-pdf vorliegen muss. Und auf dem Mac scheint es ja so was schon zu geben, wie Toms oben schreibt.
 
Du hast da einen Denkfehler. Auch die Vorschau in MacOS muss das intern erstmal durch den Algorithmus laufen lassen. Der Unterschied liegt, wie beschrieben, lediglich darin, dass es hier automatisch angewendet wird und nicht manuell angestoßen werden muss.

halwe schrieb:
Warum der ganze Text?
Weil die Suchfunktion ja nicht weiß, was genau du vorhast. Wenn du ein Wort suchst, dann willst du ja nicht einfach nur den erstbesten Treffer sehen. Die klassische Suche durchsucht nunmal das ganze Dokument auf ALLE Treffer. Das hat aber nichts mit OCR zu tun, sondern mit der Suche. Du müsstest die Suche ja vorher bereits eingrenzen, beispielsweise nur auf "diese Seite" oder sowas. Nur dann könnte man ohne Wandlung des ganzen Dokumentes auskommen.

Das "seitenweise" ginge also nur mit anderer Suchlogik.

halwe schrieb:
Und auf dem Mac scheint es ja so was schon zu geben, wie Toms oben schreibt.
Jein. Die Vorschau macht das einfach nur ungefragt. Ich bin jetzt nicht mehr sicher, ob das beim Öffnen passiert, oder sogar schon beim ursprünglichen Abspeichern. Aber auch die Vorschau kann nicht zaubern, sondern wandelt im Hintergrund das ganze (mindestens temporär) auch um.

Und soweit ich weiß, funktioniert Live-Text (so heißt das Feature) nach wie vor auch nur mit normalen Bildern, aber nicht mit gescannten PDFs. Und die Bildqualität bzw. Klarheit des Bildes ist auch sehr wichtig. Bei zu niedriger Auflösung funktioniert das in der Vorschau nur teilweise oder sogar gar nicht.
 
Moep89 schrieb:
Du hast da einen Denkfehler. Auch die Vorschau in MacOS muss das intern erstmal durch den Algorithmus laufen lassen. Der Unterschied liegt, wie beschrieben, lediglich darin, dass es hier automatisch angewendet wird und nicht manuell angestoßen werden muss.
Quatsch Denkfehler. Wir meinen doch dasselbe. Klar passiert da im Hintergrund OCR, wie soll das sonst funktionieren. Und klar, wie ich den Adobe Reader kenne, würde der OCR im Hintergrund auch gleich fürs ganze Dokument machen und am Besten in seinen Cache-Dateien abspeichern, auch wenn die "In-Dokument-Suche" nur zur jeweils nächstem Fundstelle springt. Aber, und das meine ich, ich als User muss nicht bewusst OCR starten oder eine Datei mit OCR abspeichern, um den Text zu finden. On-The-Fly eben.

Aber was soll's, auf dem PC scheint es so was noch nicht zu geben, warten wir mal schnellere Prozessoren ab.
 
halwe schrieb:
Quatsch Denkfehler.
Doch den hast du, du willst ihn nur nicht sehen.

OCR ist alles andere trivial und frisst sehr viel CPU. Es gibt auch sehr große Unterschiede zwischen den verschiedenen Programmen und deren OCR Ergibnissen.

Dank OCR und dem Programm UPDF weiß ich jetzt, dass die Kühlleistung meines Zenbook 14" Flip Ryzen 5900HX völlig underdemensioniert ist. Denn vor ein paar Jahren, hat es UPDF geschafft, mit 30-50% CPU Auslastung, während eines OCR Auftrags den Laptop völlig zu überhitzen, obwohl er sich mit den Lüftern im Düsenflugzeugmodus befand. Nach ein paar Minuten hat sich der Laptop so überhitz, dass er sich einfach abgeschaltet hat. Dann hat mich das PDF eine Handvoll von Zyklen gekostet den OCR abzuschließen, diese bestanden aus: CPU arbeitet paar Minuten -> CPU überhitzt -> Laptop schaltet sich ab -> Laptop ein paar Minuten abkühlen lassen -> Wiederholung. Zum Glück hat UPDF es ein paar Wochen danach rausgepatcht.

Aber: egal welche Programme ich für OCR verwendet habe, alle haben irgendwie CPU Leistung gekostet und haben Zeit gebraucht.
 
halwe schrieb:
Und klar, wie ich den Adobe Reader kenne, würde der OCR im Hintergrund auch gleich fürs ganze Dokument machen und am Besten in seinen Cache-Dateien abspeichern, auch wenn die "In-Dokument-Suche" nur zur jeweils nächstem Fundstelle springt.
Und da liegt der Denkfehler. Woher soll die Software denn wissen, wo die nächste Stelle ist? Das kann sie erst herausfinden, wenn der Text vorliegt und mit dem Suchwort abgeglichen wurde. Jegliches Verständnis für den Inhalt des Textes, das du als Mensch eventuell hast, fehlt der Software komplett. Natürlich könnte die Software auch immer nur Stück für Stück umwandeln und durchsuchen, bis es das gesuchte Wort findet und dann stoppen und erst wieder weitermachen wenn du auf "Weiter" bei der Suche drückst. Aber, glaube mir, das ergäbe überhaupt keinen Sinn und würde viel länger dauern, sofern du nicht immer nur die erstbeste Stelle suchst. In der Zeit, in der du das Ergebnis checkst und dann ggf. auf die Schaltfläche drückst, ist der Rest schon längst durchgelaufen oder zumindest seeehr viel weiter.

halwe schrieb:
Aber was soll's, auf dem PC scheint es so was noch nicht zu geben, warten wir mal schnellere Prozessoren ab.
Wie geschrieben, bisher nirgendwo. Aber nicht so sehr wegen fehlender Leistung, sondern weil es eben auch wenig Sinn ergibt bzw. unter Haube gar nicht so funktionieren kann, wie du es dir vorstellst. Übrigens eben auch bei MacOS nicht.
 
  • Gefällt mir
Reaktionen: trb85
Was spielt es für eine Rolle für meine Fragestellungen, ob Seiten oder ganze Dokumente ocr-gecached werden oder ob ich vorwärts oder rückwärts oder Gesamtsuche mache. Oder wie sehr das Ganze den Prozessor belastet. Ja, ich verstehe, ihr versucht das Softwarekonzept dahinter und Zusammenhänge zu erklären. Da könnte man dann auch noch über KI und die Rolle der NPU bei OCR reden...
Aber ja, mein Fehler, ich hätte vielleicht erwähnen sollen, dass ich Informatiker bin, seit vielen Jahren OCR mache und all diese Erklärungen mir auch selbst geben kann. Sorry, aber das Thema kann geschlossen werden.
 
halwe schrieb:
dass ich Informatiker bin, seit vielen Jahren OCR mache und all diese Erklärungen mir auch selbst geben kann.
dann ist es ja kein Problem für dich selbst eine Software zu schreiben die das alles kann. Der Tesserakt ist Open Source....
 
  • Gefällt mir
Reaktionen: redjack1000
Zurück
Oben