AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Text aus durchsuchbarer PDF-Datei extrahieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text aus durchsuchbarer PDF-Datei extrahieren

Ein Thema von hoefi · begonnen am 31. Dez 2022 · letzter Beitrag vom 31. Dez 2022
Antwort Antwort
hoefi

Registriert seit: 20. Aug 2007
10 Beiträge
 
#1

Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 13:39
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#2

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 13:59
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 Bei Google suchenOCRmyPDF im Docker innerhalb eines NAS laufen zu lassen.
Scanner scannt die PDF in ein Verzeichnis des NAS, darüber läuft regelmäßig das OCR (Bei Google suchensynOCR) und schiebt die konvertierten PDFs in ein anderes Verzeichnis (oder bennent sie zumindestens um).

Bei Google suchendelphi ocr
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Dez 2022 um 14:03 Uhr)
  Mit Zitat antworten Zitat
hoefi

Registriert seit: 20. Aug 2007
10 Beiträge
 
#3

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 14:01
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#4

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 15:47
OK, das hatte wohl jemand vergessen zu sagen.
Die Treiber/Sorftware des Herstellers liefern nur Bilder als JPEG/TIFF/PDF/...

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.




https://www.delphipraxis.net/191782-...trahieren.html
uvm.

oder, wer eine masoristische Ader hat, kann sich auch mit Adobe abquälen
https://www.swissdelphicenter.ch/en/...de.php?id=2169 (nur als Beispiel ... der Code hat schon ein paar kranke "Eigenarten", die man nicht nachmachen sollte, oder welche gar komplett falsch sind, schon auf den ersten Blick)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Dez 2022 um 15:54 Uhr)
  Mit Zitat antworten Zitat
hoefi

Registriert seit: 20. Aug 2007
10 Beiträge
 
#5

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 20:05
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#6

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 20:19
Niemand hat Lust diesen Dreck selbst zu parsen,
aber wenn du unbedingt magst, dann
https://opensource.adobe.com/dc-acrobat-sdk-docs/
https://www.iso.org/standard/75839.html
https://www.pdfa.org/resource/pdf-specification-index/
https://opensource.adobe.com/dc-acro...32000_2008.pdf
https://resources.infosecinstitute.c...sic-structure/
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Dez 2022 um 20:24 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#7

AW: Text aus durchsuchbarer PDF-Datei extrahieren

  Alt 31. Dez 2022, 20:43
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: ZLibCompressDecompress (Delphi)

Diverse Ansätze oder ähnliche Fragestellungen: <</Filter/FlateDecode/Length

Ansonsten: Die von himitsu bereits herausgesuchten Dokumentationen lesen und in Delphi umsetzen.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz