Hallöchen zusammen,
Prolog: Ich habe viele Texte gescannt und als PDF gespeichert. Bisher hatte ich immer das Problem, dass ich diese Dateien nicht durchsuchen kann. Bis ich heute auf diesen Artikel gestoßen bin. Er zeigt, wie man mit hocr2pdf durchsuchbare "Sandwich"-PDFs aus gescannten PNGs erstellt. Es gibt sogar ein Skript, das dies automatisch macht.
Aufgabe: Nun habe ich es mit Skripten leider nicht so drauf. Gibt es auch eine Möglichkeit, das folgende Skript so anzupassen, dass als Quelle ein mehrseitiges PDF extrahiert, geOCRt und als Sandwich wieder zusammengesetzt wird? Ich selbst kriege das nicht hin, denke aber, so ein Skript wäre echt wertvoll für viele...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | ##################################### # a2hocrpdf.sh # # (c) 2009 Maximilian Kalus # Skript kann frei weitergegeben und # abgeaendert werden, solange die # Copyright-Anmerkung nicht veraendert # wird. ##################################### #Anzahl der Parameter PARAM=$# #Pruefen if [[ $PARAM -lt 2 ]]; then echo "Usage: $0 out.pdf input*.png" echo "out.pdf ist the desired output file" echo "input*.png is a list of files to be converted (not necessarily png)" exit 1 fi #Name der Ausgabe-Datei OUTFILE=$1 shift #PDF-Endung? ATEST=$(basename $OUTFILE) BTEST=$(basename $ATEST .pdf) if [ $ATEST = $BTEST ]; then echo "File $OUTFILE is not a pdf-File." exit 2 fi #Keine Dateien versehentlich ueberschreiben if [ -e $OUTFILE ]; then echo "File $OUTFILE exists - not overwritten." exit 3 fi LIST= #Dateien durchgehen und konvertieren for (( I=1; $I < $PARAM; I++ )) do FILE=$1 shift echo "Working on: $FILE" #Konvertierung /usr/bin/convert $FILE -compress none BMP3:$FILE.bmp /usr/local/bin/cuneiform -l ger -f hocr -o $FILE.html $FILE.bmp /usr/local/bin/hocr2pdf -i $FILE -o $FILE.pdf -s < $FILE.html #Eingangsliste der PDFS anlegen LIST="$LIST$FILE.pdf " done #Erstelle Gesamt-PDF echo "Concatenating PDF as $OUTFILE" /usr/bin/pdftk $LIST output $OUTFILE #Aufrauemen echo "Cleaning up" for FILE in $LIST do F=$(basename $FILE .pdf) rm -f $FILE $F.bmp $F.html done echo "Finished." |
Bearbeitet von rklm:
Syntax Highlighting und Fehler am Ende korrigiert