OCRmyPDF; tesseract Version zu niedrig

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
xanvader
Beiträge: 152
Registriert: 03.12.2008 02:24:29

OCRmyPDF; tesseract Version zu niedrig

Beitrag von xanvader » 13.09.2014 23:54:02

Hallo DebianUser, ich möchte testen OCRmyPDF
OCRmyPDF ist ein Kommandozeilenprogramm, um für eingescannte PDF-Dateien eine durchsuchbare Textebene zu erstellen.
Abhängigkeiten sind installiert, CLI Eingabe:

Code: Alles auswählen

$ ./OCRmyPDF.sh ~/documents/LaTeX/PDF/texcollection2014.pdf ~/PDF/texcollection2014.pdf
Please install tesseract 3.02.01 or newer (currently installed version is 3.02)
Installierte Version ist tesseract 3.02.01-6 unter CrunchBang (Debian)
OCRmyPDF.sh Zeile 158:

Code: Alles auswählen

tesseract -v 2>&1 | grep "tesseract" | sed s/[^0-9.]//g
…diese Eingabe im CLI ergibt 3.02.
Da kann doch etwas nicht richtig sein…?
Seit 11.11.2017 Buster/Mate

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: OCRmyPDF; tesseract Version zu niedrig

Beitrag von rendegast » 14.09.2014 11:43:37

Code: Alles auswählen

# grep -n -i version OCRmyPDF.sh -C1
...
153:# ensure the right tesseract version is installed
154:# older versions are known to produce malformed hocr output and should not be used
155:# Even 3.02.01 fails in few cases (see issue #28). I decided to allow this version anyway because
156-# 3.02.02 is not yet available for some widespread linux distributions
157:reqtessversion="3.02.01"
158:tessversion=`tesseract -v 2>&1 | grep "tesseract" | sed s/[^0-9.]//g`
159:tesstooold=$(echo "`echo $tessversion | sed s/[.]//2`-`echo $reqtessversion | sed s/[.]//2` < 0" | bc)
160-[ "$tesstooold" -eq "1" ] \
161:    && echo "Please install tesseract ${reqtessversion} or newer (currently installed version is ${tessversion})" && exit $EXIT_MISSING_DEPENDENCY
162-
Du könntest einen hack versuchen

Code: Alles auswählen

tessversion="3.02.01"
oder 
tessversion=$reqtessversion
wenn das changelog.Debian stimmt, und wirklich 3.02.01 hochgeladen wurde
(mit einem kleinen Version-Bug)

Code: Alles auswählen

163:# ensure the right GNU parallel version is installed
164:# older version do not support -q flag (required to escape special characters)
165:reqparallelversion="20130222"
166:parallelversion=`parallel --minversion 0`

Code: Alles auswählen

# aptitude versions ^parallel$ --disable-columns
Package parallel:
p  20120422-1 stable 500
p  20130922-1 testing,unstable 101
Hier wirst Du aber wohl die Version aus jessie/sid benutzen müssen
(pakettechnisch kein Problem, einzige Abhängigkeit ist "perl")
(Bei 'parallel' der Alternative Debianmoreutils funktioniert der Versionsbefehl nicht,
eventuell dann auch die Verwendung im Skript).
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
xanvader
Beiträge: 152
Registriert: 03.12.2008 02:24:29

Re: OCRmyPDF; tesseract Version zu niedrig

Beitrag von xanvader » 18.09.2014 01:14:36

Code: Alles auswählen

tessversion="3.02.01"
…und parallel install. aus sid hat geklappt

Code: Alles auswählen

$ ./OCRmyPDF.sh -l en ~/PDF/ocr.pdf ~/PDF/ocr0.pdf
The language "en" is not supported by tesseract.
Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...] pagesegmode values are: 0 = Orientation and script detection (OSD) only. 1 = Automatic page segmentation with OSD. 2 = Automatic page segmentation, but no OSD, or OCR 3 = Fully automatic page segmentation, but no OSD. (Default) 4 = Assume a single column of text of variable sizes. 5 = Assume a single uniform block of vertically aligned text. 6 = Assume a single uniform block of text. 7 = Treat the image as a single text line. 8 = Treat the image as a single word. 9 = Treat the image as a single word in a circle. 10 = Treat the image as a single character. -l lang and/or -psm pagesegmode must occur before anyconfigfile.
Debiantesseract-ocr, Debiantesseract-ocr-eng & Debiantesseract-ocr-deu sind installiert. Igw. verstehe ich den rest der Ausgabe nicht, i.d. Hilfe kann ich darueber auch nichts finden. Ob das Script mal alles so seine richtigkeit hat?
rendegast, ich danke dir erst einmal bis hierher…
Seit 11.11.2017 Buster/Mate

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: OCRmyPDF; tesseract Version zu niedrig

Beitrag von catdog2 » 18.09.2014 01:21:35

The language "en" is not supported by tesseract.
man tesseract hat geschrieben:3-character ISO 639-2 language codes. (See LANGUAGES)
Würds mal mit eng probieren.
Unix is user-friendly; it's just picky about who its friends are.

Antworten