tesseract-ocr, pypdfocr, hocr2pdf, pdfsandwich, exactimage DS411+
Nachdem tesseract-ocr mehr oder minder gute Texte ableitet, die Qualität überzeugt mich nicht wirklich was vielleicht an der Qualität der Vorlagen liegen mag, brauchen wir etwas um wieder pdf daraus zu zusammenzubauen.
Hierzu gibt es laut www einige Möglichkeiten, die in der Überschrift aufgeführt sind.
Ich habe versucht pypdfocr zum Laufen zu bringen, was leider nicht wirklich von Erfolg gekrönt war, da ich noch immer Fehlermeldungen und seltsamen Buchstabensalat bekomme. Da hab ich leider zu wenig Ahnung von ...
donpedro, Du schreibt ... "installieren von ... python2.7 ...ipkg".
Ich stelle mir dabei die Frage, wie das funktioniert hat ? Gibt es eine einfachere Variante des Scriptes ? Man benötigt diverse python Pakete, damit es funktioniert.
pypdfocr besteht aus einer Reihe von Scripten, die man hier bekommt.
http://virantha.com/2013/07/22/pyocr-a-python-script-for-running-free-ocr-on-your-pdfs/
Die Seite ist gerade offline während ich das schreibe (lustig).
Unter Dukumentation gibt es eine Installationsanleitung und den link zum Paket.
Dieses kann man per git clone ... oder wie ich per Hand herunterladen (vlt. liegt hier mein Fehler).
Beim Aufruf des "Hauptscriptes" mit
Rich (BBCode):
python pypdfocr.py Eingangsdatei Ausgabedatei
werden nach und nach alle erforderlichen python Pakete abgefragt.
Diese sind teilweise nicht per ipkg verfügbar, zumal das Script erst > pyhton2.6 zu laufen scheint.
Fehlermeldung mit python 2.5.X: Warning: 'with' will become a reserved keyword in Python 2.6
Im Script selbst wird python2.7 erwartet, für welches kaum Pakete existieren.
Da ich bereits python2.5 verwende, habe ich mich entschlossen python2.7 parallel zu installieren (Wahrscheinlich liegt hier mein Problem mit den Fehlermeldungen su. und es kann jemand helfen.)
Fazit des Geschwafels ... vermutlich läuft es bei Euch wenn nur eine Version python, 2.6 oder 2.7 installiert wird, wobei Ihr dennoch die ganzen Pakete selbst installieren müßt, wenn sie nicht per ipkg verfügbar sind.
2) Installieren von python2.7
==> Script läuft nicht mit pyhton2.5 (2.6 nicht gestestet)
Jetzt habe ich nach und nach die die Pakete installiert, die pypdfocr erwartet.
=> Tip: Da es keine automatische Deinstallation der python Pakete gibt (nicht zutreffend für ipkg Pakete), legen wir bei der Installtion ein Textfile mit im jeweiligen Ordner an.
Rich (BBCode):
python setup.py install --record files.txt
=> Zum Deinstallieren dann wieder in demselben Verzeichnis.
Rich (BBCode):
cat files.txt | xargs rm -rf
a) Installieren von PIL
Fehlermeldung: ImportError: No module named PIL
Rich (BBCode):
cd /volume1/public
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar -xzf Imaging-1.1.7.tar.gz && rm Imaging-1.1.7.tar.gz && cd Imaging-1.1.7
python2.7 setup.py build_ext -i
python2.7 selftest.py
python2.7 setup.py install --record files.txt
Die Funktion selftest zeigt nur ob alles paßt, nicht in allen Paketen verfügbar.
b) Installieren von yaml
Fehlermeldung: ImportError: No module named yaml
Rich (BBCode):
cd /volume1/public
wgest http://pyyaml.org/download/pyyaml/PyYAML-3.11.tar.gz ===> PyYAML is a YAML parser and emitter for Python.
tar -xzf PyYAML-3.11.tar.gz && rm PyYAML-3.11.tar.gz && cd PyYAML-3.11
python2.7 setup.py install --record files.txt
c) Installieren von PyPdf
Fehlermeldung: from pypdfocr_pdf import PyPdf
Rich (BBCode):
cd /volume1/public
wget http://pybrary.net/pyPdf/pyPdf-1.13.tar.gz <<< wird nicht mehr weitereintwickelt
tar -xzf pyPdf-1.13.tar.gz && rm pyPdf-1.13.tar.gz && cd pyPdf-1.13
python2.7 setup.py install --record files.txt
d) Installieren von PyPDF2
ich installiere auch PyPDF2
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/P/PyPDF2/PyPDF2-1.21.tar.gz#md5=cbcd66663fcddfef25505435a323a9d8
tar -xzf PyPDF2-1.21.tar.gz && rm PyPDF2-1.21.tar.gz && cd PyPDF2-1.21
python2.7 setup.py install --record files.txt
e) Installieren von reportlab
Fehlermeldung: ImportError: No module named reportlab.pdfgen.canvas
Rich (BBCode):
cd /volume1/public
wget https://bitbucket.org/rptlab/reportlab/get/524abc79e4b9.zip
unzip -q 524abc79e4b9.zip && rm 524abc79e4b9.zip && cd rptlab-reportlab-524abc79e4b9
python2.7 setup.py install --record files.txt
f) Installieren von setuptools
Fehlermeldung: ImportError: No module named watchdog.observers => zur installation benötigen wir setuptool und diverse
=> Es gibt hierzu ein ipkg Paket => Bitte probiert das aus, und danach Punkt g).
Rich (BBCode):
ipkg install py27-setuptools
=> Bei mir kommt mit dem ipkg Paket bei einigen nachfolgenden Paketen leider Fehlermeldungen, wie:
Rich (BBCode):
DiskStation> python2.7 setup.py easy_install --record files.txt
running easy_install
error: /opt/local/lib/python2.5/site-packages (in --site-dirs) is not on sys.path
DiskStation>
=> Hat jemand ne Idee was ich flasch mache und kann helfen ???? Ich mache dann nur ein build und installiere nur die libs. Allerdings bleiben ein paar Fehlermeldungen ?!
=> Wenn das ipkg systemtool nicht funktioniert wie bei mir, dann:
Rich (BBCode):
ipkg remove py27-setuptools
cd /volume1/public
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.6.tar.gz
tar -xzf setuptools-3.6.tar.gz && rm setuptools-3.6.tar.gz && cd setuptools-3.6
python2.7 setup.py build
python2.7 setup.py install_lib --record files.txt
g) Installieren von argh
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/a/argh/argh-0.24.1.tar.gz
tar -xzf argh-0.24.1.tar.gz && rm argh-0.24.1.tar.gz && cd argh-0.24.1
python2.7 setup.py install --record files.txt
h) Installieren von argparse
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/a/argparse/argparse-1.2.1.tar.gz
tar -xzf argparse-1.2.1.tar.gz && rm argparse-1.2.1.tar.gz && cd argparse-1.2.1
python2.7 setup.py install --record files.txt
i) Installieren von watchdog
Jetzt können wir endlich watchdog installieren.
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/w/watchdog/watchdog-0.7.1.tar.gz
tar -xzf watchdog-0.7.1.tar.gz && rm watchdog-0.7.1.tar.gz && cd watchdog-0.7.1
python2.7 setup.py build
python2.7 setup.py install_lib --record files.txt
j) Installieren von evernote
Fehlermeldung: ImportError: No module named evernote.api.client
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/e/evernote/evernote-1.25.0.tar.gz
tar -xzf evernote-1.25.0.tar.gz && rm evernote-1.25.0.tar.gz && cd evernote-1.25.0
python2.7 setup.py install --record files.txt
k) Installieren von oauth2
Fehlermeldung: ImportError: No module named oauth2
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz
tar -xzf oauth2-1.5.211.tar.gz && rm oauth2-1.5.211.tar.gz && cd oauth2-1.5.211
python2.7 setup.py install --record files.txt
l) Installieren von httplib2
Fehlermeldung: ImportError: No module named httplib2
Rich (BBCode):
cd /volume1/public
wget https://pypi.python.org/packages/source/h/httplib2/httplib2-0.9.tar.gz
tar -xzf httplib2-0.9.tar.gz && rm httplib2-0.9.tar.gz && cd httplib2-0.9
python2.7 setup.py install --record files.txt
m) Installieren von xpdf
Fehlermeldung: WARNING: Could not execute pdfimages to calculate DPI (try installing xpdf or poppler?), so defaulting to 300dpi
pdfimage wäre zu comilieren ... für xpdf gibt es ein Paket
Wow schon fertig, einfach ist aber anders.
Hat jemand ne Idee, wie man das Script kappt, gibt es ne andere Version ?
So sieht nun das Resultat aus:
Rich (BBCode):
DiskStation> python2.7 /usr/local/pypdfocr/pypdfocr.py -l deu /volume1/download/_Scan/test.pdf
Starting conversion of /volume1/download/_Scan/test.pdf
Error: Couldn't open file '-list'
WARNING: Could not execute pdfimages to calculate DPI (try installing xpdf or poppler?), so defaulting to 300dpi
PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will not be corrected. [pdf.py:1292]
Completed conversion successfully to /volume1/download/_Scan/test_ocr.pdf
DiskStation>
Das Ergebnis, also das pdf ist aber Müll. Weder Text noch Position passen auch nur ansatzweise.
=> Kann mir jemand bei den Fehlermeldungen:
- Error: Couldn't open file '-list'
- PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will not be corrected. [pdf.py:1292]
- error: /opt/local/lib/python2.5/site-packages (in --site-dirs) is not on sys.path
helfen. Besten Dank im Voraus.