![]() |
Text aus durchsuchbarer PDF-Datei extrahieren
Hallo,
ich habe mir einen Dokumentenscanner (SnapScan ix1600) gekauft und fange an, Dokumente ins PDF-Format zu scannen, um zukünftig das Papier zu entsorgen. In Zukunft möchte ich dieses per Delphi-Programm unterstützen und möchte daher aus den durchsuchbaren PDF-Dateien die Texte extrahieren. Das eigentliche Lesen der PDF-Dateien ist nicht unbedingt das Thema, allerdings finde ich keine Info darüber, wo (in welchem Object) in der PDF-Datei die Texte untergebracht sind. Die Informationen sind per FlateDecode codiert, was ich eigentlich hinkriegen sollte. Hat jemand sich schon mal erfolgreich dem Thema gewidmet? Ich benötige nur die Texte. |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
Vermutlich wird der Scanner einfach nur das "Bild" als Bild in der PDF ablegen. (z.B. als JPEG oder komprimiertes Bitmap)
Genauso gut kann man sich vom Scanner auch ein TIFF geben lassen, oder einzelne Bilder pro Seite. So oder so mußt du also noch ein OCR über die Bilder laufen lassen, um aus dem Bild den Text rauszubekommen. OCR = Optical Character Recognition = Texterkennung z.B. OCRmyPDF wandelt ein PDF aus Bildern in ein PDF mit Text um. Und dann kannst du aus dieser PDF die Texte rausholen. Oder eben die Bilder durch OCR in Text umwandeln und es direkt geben lassen. Womit ich mal gespielt habe, ist ![]() Scanner scannt die PDF in ein Verzeichnis des NAS, darüber läuft regelmäßig das OCR ( ![]() ![]() |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
Hallo,
die PDF-Datei muss den Text enthalten, da sie durchsuchbar ist. OCR ist also automatisch nach dem Scannen mittels Abbyy Finereader durchgeführt worden. |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
OK, das hatte wohl jemand vergessen zu sagen.
Die Treiber/Sorftware des Herstellers liefern nur Bilder als JPEG/TIFF/PDF/... :angle2: Nja, dann brauchst du nun eine PDF-Komponente. Gibt es z.B. von DevExpress, Synopse oder Gnostice (PDFtoolkit) Es gibt aber auch Konsolenprogramme, welche PDFs annehmen und z.B. TXT oder RTF rausgeben. ![]() uvm. oder, wer eine masoristische Ader hat, kann sich auch mit Adobe abquälen ![]() |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
Hallo,
dann muss ich mich entschuldigen. Ich hatte vorausgesetzt, dass bekannt ist, dass eine durchsuchbare PDF-Datei schon mittels OCR gewandelt wurde. Weiterhin möchte ich die PDF-Datei nativ lesen, also ohne Zuhilfenahme von Komponenten oder eigenen Programmen. Hat dafür jemand Bespiel-Code? Es interessieren mich nur die Text-Objekte innerhalb der Datei, Grafiken usw. sind uninteressant. |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
Niemand hat Lust diesen Dreck selbst zu parsen,
aber wenn du unbedingt magst, dann ![]() ![]() ![]() ![]() ![]() ... |
AW: Text aus durchsuchbarer PDF-Datei extrahieren
Naja, betrachten wir es mal (mit 'nem Augenzwinkern) von der einfachen Seite:
'ne PDF ist auch nur 'ne Textdatei mit 'nem als (1:n Streams) eingebetteten und komprimierten Inhalt. Den Text findest Du zwischen stream und endstream. (Ok, ob es Text ist oder nicht, erfährst Du erst nach dem Entpacken.) Davor findest Du eine Zeile mit 'ner Info der Form <</Filter/FlateDecode/Length 9999>> Da steht, wie der Stream kodiert ist und wie lang er ist. Du musst ihn also "nur noch" auslesen und dekodieren. Das könnte mit Hilfe der ZLib funktionieren: ![]() Diverse Ansätze oder ähnliche Fragestellungen: ![]() Ansonsten: Die von himitsu bereits herausgesuchten Dokumentationen lesen und in Delphi umsetzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz