Scannen & OCR


© Mai 2024, letzte Änderung am 23.11.24

--- still under construction ---

Übersicht

Scanner

Den USB-Scanner CanoScan LIDE-210 konnte ich unter DEB 10 und neuer
sofort nach dem Anschließen verwenden.
Bei älteren Linux-Versionen war es noch erforderlich XSane zu installieren.
Das gescannte Ergebnis kann ich sowohl als PDF,
alsauch als Bild abspeichern.

Zum Anfang

Opitical Character Recognition

Um ein Bild z.B. als .png .tif oder .jpg in Text umwandeln zu können,
benötigt man eine spezielle Texterkennungssoftware - OCR Software.
Hier bietet sich z.B. das Kommandozeilen Tool tesseract an.
Unter Debian 12 erhalte ich mit tesseract -v Version 5.3.0 .
Vergleichbare Programme sind Ocrad, GOCR und Cuneiform.

su
apt-get install tesseract-ocr tesseract-ocr-deu 

Je nach Quelle sind noch Sprachdateien sinnvoll. z.B.

Überprüfen kann ich das wie folgt.

tesseract --list-langs
List of available languages in "/usr/share/tesseract-ocr/5/tessdata/" (6):
deu
eng
frk     (Deutsche Franktur)
osd     (Schrift und Ausrichtung)
san

Um bessere Ergebnisse zu erhalten, sollten die eingescannten Bilder
ausgerichtet werden und evtl. der Kontrast angepasst werden.
Hierfür bietet sich z.B. das Kommandozeilen Tool unpaper an.
Vergleichbares ist z.B. Scan Tailor, ImageMagick, ExactImage.

Nun ist die Kommandozeile nicht jedermans Sache,
daher habe ich für tesseract auch noch OCRFeeder installiert.
Vergleichbares ist gImageReader, Paperwork, tesseract-GUI, dpScreenOCR.

su
apt-get install OCRFeeder
apt-get install gimagereader

OCRFeeder verwenden

Im einfachsten Fall wähle ich ein Bild aus.
Bei üblichen Sprachen kann ich sofort Dokument > Dokument erkennen anklicken.
Habe ich jedoch etwas exotisches, kann ich unter
Werkzeuge > OCR-Anwendungen > Bearbeiten die Sprachen anpassen.
Als Standard ist zwar viel eingestellt,
aber nicht unbedingt das, was auch installiert wurde:

af:afr,ar:ara,az:aze,be:bel,bn:ben,bg:bul,ca:cat,cs:cse,zh:chi-sim,chr:chr,
da:dan,de:deu,el:ell,en:eng,et:est,eu:eus,fi:fin,fr:fra,gl:glg,he:heb,hi:hin,
hr:hrv,hu:hun,id:ind,is:isl,it:ita,ja:jpn,kn:kan,ko:kor,lv:lav,lt:lit,ml:mal,
mk:mkd,mt:mlt,ms:msa,nl:nld,no:nor,pl:pol,pt:por,ro:ron,ru:rus,sk:slk,sl:slv,
es:spa,sq:sqi,sr:srp,sw:swa,sv:swe,ta:tam,te:tel,tl:tgl,th:tha,tr:tur,uk:ukr,vi:vie

,sa:san konnte ich ergänzen und es wurde dann gefunden.
Mit Fraktur klappte das allerdings nicht.
Daher sind die Argumente der Anwendung zu ändern von z.B.
$LANG $IMAGE $FILE > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt
zu
$IMAGE $FILE -l frk > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt
Siehe ubuntuusers.de.
Leider war ich damit nicht erfolgreich einen Fraktur-Text vernünftig einzulesen.

GimageReader

Als Test habe ich wieder ein Bild eines Textes in Fraktur eingelesen.
Deutsche Fraktur wird als Frankish [frk] angezeigt.
Das Ergebnis ist zwar besser, aber für das "s" wird, aus welche Gründen auch immer, "ſ" verwendet.
Das kann aber durch Suchen und Ersetzen relativ schnell korrigiert werden.
Wandelt man mehrere Bilder hintereinander um, landet das in einer Text-Datei in gleicher Reihenfolge.

Weitere Tools

Sollte ein PDF mit gescannten Text vorliegen, kann der extrahierte Text hinzugefügt werden,
Hierfür bietet sich das Kommandozeilen Tool ocrmypdf an, was ich aber bisher nicht eingesetzt habe.

Um ungewöhnliche Schriften mit tesseract zu trainieren, bietet sich die Oberfläche Lios an.
Leider habe ich eine Fehlermeldung erhalten, obwohl ich hunspell-Sprachen installiert habe.

dictionary not found

Zur Rechtschreibprüfung bietet sich hunspell an.
Der Name der alten deutschen Rechschreibung myspell-de-de-1901 ist nicht unbedingt selbsterklärend.

su
apt install hunspell hunspell-tools myspell-de-de-1901
cd /usr/share/hunspell
ls
de_AT.aff  de_BE.aff  de_CH.aff  de_DE-1901.aff  de_DE.aff  de_LI.aff  de_LU.aff  en_US.aff
de_AT.dic  de_BE.dic  de_CH.dic  de_DE-1901.dic  de_DE.dic  de_LI.dic  de_LU.dic  en_US.dic
exit

hunspell -d de_DE-1901 -l  gImageReader.odt
Verftandeserkennens…

Verknüpfungen

linuxlinks.com   9 Best Free and Open Source OCR Tools
ubuntuusers.de   tesseract-ocr
github.io   Tesseract User Manual
baeldung.com   Linux Optical Character Recognition - OCR tools
  Tesseract, OCRmyPDF, gImageReader, CuneiForm
  Paperwork - document management
ubuntuusers.de   Texterkennung
  Vorbereitung: Scan Tailor, unpaper, convert, ExactImage
  OCR: CuneiForm, Tesseract, Ocrad, GOCR, ocre, ocrodjvu
  OCR: gImageReader, OCRFeeder, Lios, Paperwork, dpScreenOCR
howtogeek.com   How to Do OCR from the Linux Command Line Using Tesseract

Zum Anfang

Ghostscript

Manchmal ist es nötig aus einen Bild ein PDF zu erstellen. Hierfür bietet sich z.B. tiff2pdf an.
Sollen mehrere Bilder dann zu einen PDF zusammengefasst werden, hilft Ghostscript.

su
apt-get install ghostscript libtiff-tools
exit

tiff2pdf -o output.pdf input.tiff

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

Alternativ kann ich mit ImageMagick ein PDF erzeugen.

su
sudo apt-get install imagemagick
exit

convert image1.jpg image2.png image3.bmp output.pdf

convert -density 300x300 -quality 100 860611*.tif Abi_all.pdf
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/413.

Verknüpfungen

stackoverflow.com   Merge / convert multiple PDF files into one PDF [closed]
ubuntumint.com   How to Convert or Merge Multiple Images to PDF in Linux
linux-console.net   ImageMagick-Anleitung: Installation, Verwendung und Fehlerbehebung
itsfoss.com   How to Convert Multiple Images to PDF in Ubuntu Linux

Zum Anfang