Hallo Ihr,
ich habe ein Verzeichnis mit PDF-Dateien von Dokumenten, in dem einige mit OCR in Bezug auf den enthaltenen Text erkannt wurden und andere nicht.
Gibt es einen Konsolen-Befehl, mit dem ich herausfiltern kann, welche PDF-Dateien einfach nur Bilder enthalten und welche Bilder und Text enthalten?
Viele Grüße
desputin
PDF-Dateien ohne/mit eingebetteten Text finden?
PDF-Dateien ohne/mit eingebetteten Text finden?
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |
Re: PDF-Dateien ohne/mit eingebetteten Text finden?
Falls es nichts fertiges gibt: evtl kannst Du mit pdftotext was entsprechendes basteln. Die Ausgabedatei bei "nur Bildern" ist zwar nicht leer, sollte sich aber signifikant von "normalem" Text unterscheiden.
Re: PDF-Dateien ohne/mit eingebetteten Text finden?
Du kannst auch versuchen mit "strings" die PDF-Dateien direkt nach Zeichenketten zu durchsuchen. Leider ist das aber nicht sehr zuverlässig.
Du könntest nun mal ein paar Testdateien vergleichen und aufgrund deren Inhalte z. B. "Author" annehmen, dass diese für alle Dateien mit "Author" auch für OCR verwendbar oder eben nicht verwendbar sind.
Code: Alles auswählen
strings -f *.pdf
Code: Alles auswählen
strings -f *.pdf |grep Author|cut -d: -f1|sort|uniq
Re: PDF-Dateien ohne/mit eingebetteten Text finden?
Vor geraumer Zeit spielte ich auch viel mit OCR und PDFs rum und bin auf diese Frage/Antwort bei stackoverflow gestossen: https://stackoverflow.com/questions/799 ... s-are-ocrd
Ich habe das Script um pdf2txt (python-pdfminer) erweitert und hatte bis jetzt noch keine falsche Erkennung:
Edit: Ausgaben von NOOCR und OCR waren vertauscht
Ich habe das Script um pdf2txt (python-pdfminer) erweitert und hatte bis jetzt noch keine falsche Erkennung:
Code: Alles auswählen
#!/bin/bash
MYFONTS=$(pdffonts -l 5 "$1" | tail -n +3 | cut -d ' ' -f1 | sort | uniq)
HASTEXT=$(pdf2txt "$1" | grep "[A-Za-z0-9]")
if [ "$MYFONTS" = '' ] || [ "$MYFONTS" = '[none]' ]; then
if [ "$HASTEXT" = '' ]; then
echo "$1 :: NOOCR"
else
echo "$1 :: UNCERTAIN"
fi
else
echo "$1 :: OCR."
fi
Re: PDF-Dateien ohne/mit eingebetteten Text finden?
Hallo Ihr, danke für die Tips!
@rodny: Super, danke!
Ich hab das script nun erstellt und dann das hier ausgeführt, um eine Liste als Text-Datei zu bekommen:
Wunderbar!
@rodny: Super, danke!
Ich hab das script nun erstellt und dann das hier ausgeführt, um eine Liste als Text-Datei zu bekommen:
Code: Alles auswählen
find . -type f -name "*.pdf" -exec /media/Daten1/Dokumente/Papiere/is-pdf-ocred.sh '{}' \; > pdfs.txt
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |