ubuntuusers.de

xsane2sandwich

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels xsane2OCRmyPDF.

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Mal wieder was aus der "xsane2..."-Familie 😉. Da tesseract in Version 3.0.x jetzt auch hocr-Dateien erstellen kann, und hocr2pdf damit besser umgehen zu können scheint als mit den von Cuneiform erstellten, habe ich das xsane2tess-Skript nochmal aufgegriffen, und entsprechend aufgebohrt.

Warum eine Konvertierung des Ursprungsbildes von XSane nötig ist, verstehe ich nicht ganz; tesseract kann eigentlich inzwischen so ziemlich jedes Format verarbeiten. Anscheinend kann aber hocr2pdf nicht mit dem internen XSane-format (ppm) umgehen.

Tester willkommen, konstruktive Kritik, Anmerkungen, Ergänzugen etc. pp. natürlich wie immer auch!

so long
hank

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17355

Wohnort: /home/noise

Mal wieder was aus der "xsane2..."-Familie 😉.

Tss, tss, tss... nichts zum Thema Hörbücher?... 😉

Sieht gut aus. 👍

Erinnert mich an:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Bilder

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

lol!

An "Hörbuchern" bastel ich auch noch, gibt bald was Neues zu xsane2speech, da yad ja jetzt salon- pardon - wikifähig ist 😉 ...

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Darf ich dann verschieben?

so long
hank

frustschieber Team-Icon

Ehemalige
Avatar von frustschieber

Anmeldungsdatum:
4. Januar 2007

Beiträge: 4259

Fragen dazu:

  • Bedarf"Wrapper-Skript" einer Erläuterung?

  • Warum haben "convert" aus ImageMagick, und "hocr2pdf" aus der ExactImage-Suite unterschiedliche Formatierungen?

sonst verschieben +1 Gruss

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

frustschieber schrieb:

Fragen dazu:

  • Bedarf"Wrapper-Skript" einer Erläuterung?

Fällt dir ein passender Begriff ein?

  • Warum haben "convert" aus ImageMagick, und "hocr2pdf" aus der ExactImage-Suite unterschiedliche Formatierungen?

keine Ahnung 😉, werds vereinheitlichen

sonst verschieben +1

Ok, demnächst dann...

so long
hank

frustschieber Team-Icon

Ehemalige
Avatar von frustschieber

Anmeldungsdatum:
4. Januar 2007

Beiträge: 4259

Heinrich Schwietering schrieb:

  • Bedarf"Wrapper-Skript" einer Erläuterung?

Fällt dir ein passender Begriff ein?

nein, da ich davon keine Ahnung habe 😉 http://wiki.debianforum.de/Wrapper-Scripts

Gruss

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

OK, nach der Definition ist es eher ein "plugin" für XSane 😉.

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Jetzt im Wiki: xsane2sandwich. Guten Appetit! 😎

so long
hank

matzeSG

Anmeldungsdatum:
17. Februar 2013

Beiträge: 2

Hallo,

erstmal vielen Dank für dieses wunderbare Script. Habe noch einige AddOns für meinen Gebrauch eingefügt.

1. ) Ich entferne vom FILE_OUT auch die File-Extension. Dadurch kann man beim anfügen einer zweiten Seite aus dem Betrachter direkt die Zieldatei anklicken und braucht die Erweiterung nicht zu entfernen.

1
2
# strips extension from FILE_OUT
FILE_OUT="${FILE_OUT_LONG%.*}"

2.) Ich schreibe am Ende mit pdftk noch einen Titel in die Metadaten. Ich benutze Tracker als Suchmaschine. Ohne Title wird das gesuchte Dokument als "Untitled" ausgegeben.

1
2
3
4
5
6
7
8
9
# create pdfmark
echo "InfoKey: Title" > $FILE_OUT.pdfmark
echo "InfoValue: Scan to $FILE_OUT" >> $FILE_OUT.pdfmark
echo "InfoKey: Producer" >> $FILE_OUT.pdfmark
echo "InfoValue: xsane2sandwich" >> $FILE_OUT.pdfmark

     pdftk $FILE_OUT.pdf update_info $FILE_OUT.pdfmark output $FILE_OUT-neu.pdf 1>&2
     rm "$FILE_OUT.pdf"
     mv "$FILE_OUT-neu.pdf" "$FILE_OUT.pdf"

LG Matthias

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Danke für die Erweiterungen, bin jetzt erst dazu gekommen, das mal in der Praxis anzuschauen. Die ersten Zeilen müssen nach

# strips path from FILE_PATH, use filename only
IN_FILE="${FILE_PATH##*/.*}"

eingefügt werden. Die ersten 5 Zeilen des zweiten Teils nach

#produces a tif file for hocr2pdf
TIF_FILE="$TEMP_DIR""xsane2tessResult".tif
convert "$FILE_PATH" -compress none  "$TIF_FILE" 1>&2

die zweiten 3 Zeilen dann nach

     #if not start new output file
     else hocr2pdf $HOCROPT -i "$TIF_FILE" -o "$FILE_OUT.pdf" < "$FILE_OUT.html"
     echo "$FILE_OUT.pdf started" 1>&2

Es scheint zu klappen!

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Hab' das Skript entsprechend angepasst, und für die Korrektur-Funktion noch eine DISPLAY-Angabe dazugeschrieben; es gab bei Erstaufruf des Skriptes Probleme, weil ggf. die yad-Funktion nicht ordnungsgemäß angezeigt, und damit auch nicht beendet werden konnte; in Folge wurde auch kein PDF ausgegeben 😬. Bei Neuaufruf funktionierte es dann aber.

Die Funktion zum Ausfüllen der Metadaten ließe sich sicher noch erweitern; statt xsane2sandwich könnte man sich auch den Benutzer nehmen. Mir ist allerdings nicht ganz klar, wo der Unterschied zwischen Verfasser, Hersteller und Ersteller liegt...

Als Erstelldatum wird beim einseitigen PDFs derzeit immer Do 01 Jan 1970 00:59:59 CET eingetragen; wenn man noch was anhängt, wird das tatsächliche Datum/Zeit eingetragen, dann allerdings auch für gleich für das Änderungsdatum - wer weiß warum...

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Hier noch eine Version, die mit Cuneiform funktioniert, und über Erstellung von RTF-Dateien läuft, die dann in PDFs umgewandelt werden. Benutzt wird dazu unoconv, was zu OO/LO gehört, aber extra installiert werden muss.

Als Korrektur-Möglichkeit werden die Dateien bei Bedarf in Libre-Office geöffnet; das Skript "pausiert" solange. ("übler Hack" mit 'nem Loop, ich verstehe nicht ganz, warum das nötig ist, weil es in xsane2sandwich, aber auch in xsane2speech keine Probleme damit gab, ein externes Programm zur Korrrektur zu starten, und im Skriptablauf erst dann weiterzumachen, wenn die Korrektur abgeschlossen war, und das entsprechend yad-Fenster dazu wieder geschlossen wurde. Hier funktioniert es aus mir nicht nachvollziehbaren Gründen nicht, daher der Loop.. - vielleicht fällt jemandem was dazu ein?)

Bedienung erfolgt wie in xsane2sandwich; bei einer Korrektur muss das Dokument in LO erst beendet werden, damit es weitergeht. Sinnvollerweise hat man schon ein LO-Instanz offen, dann geht das ganze schneller. Leider funktioniert es nur bei relativ einfach aufgebauten Testen zuverlässig; Cuneiforms rtf-Erstellung hat Probleme schon bei nur leicht "verschachtelten" Vorlagen.

Tester willkommen!

so long
hank

xsane2cuneiformpdf.sh (4.8 KiB)
PDFs via Cuneiform aus XSane
Download xsane2cuneiformpdf.sh

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Unter Trusty hab' ich mit xsane2sandwich große Probleme mit falscher Textlagenpassung und -Größe. Habe daher eine Version für OCRmyPDF gebastelt, mit der derzeit die besten Ergebnisse für Textlagen in grafischen PDFs erreicht werden. Funktionsweise ist ähnlich, benötigt wird allerdings Yad. Das Skript kann weitere Scans an eine bestehende PDF-Datei anhängen, allerdings wird es etwas schwierig, wenn da schon eine Textlage existiert. OCRmyPDF hat zwar eine auch hiermit nutzbare -f-(force)-Option, um trotz bestehender Textlage eine neue zu erstellen, allerdings kann das zum einen das System mit einer extremer CPU-Last fast lahmlegen, zum anderen entstehen damit z.T. sehr große Dateien. Daher ist es sinnvoller, erst alle Teile einzuscannen, und erst wenn alles da ist, die Texterkennung und Umformung durch OCRmyPDF durchzuführen.

Das Skript herunterladen, ausführbar machen, natürlich benötigt man OCRmyPDF, ist also erst ab Trusty verwendbar. In der Konfiguration für die Texterkennung in XSane den Pfad zum Skript angeben, und die gewünschten Optionen (z.B. -l TESSSERACT-SPRACHKÜRZEL), mit -a können OCRmyPDF-Optionen eingesetzt werden (z.B. -d für ein Geradeziehen der Vorlage, oder -c, um unpaper einzusetzen. Das kann auch kombiniert werden, dann müssen aber Anführungsstriche um die Optionen gesetzt werden (also -a "-d -c"). Die Ergebnisse sind imho hervorragend. Beim Dateinamen am besten gar keine Endung angeben, da wird dann eine PDF-Datei draus.

Tester willkommen, würde es ganz gern auch im Wiki veröffentlichen!

EDIT Mit convert werden u.U. riesige PDF-Dateien erstellt, daher ggf. den convert-Befehl in Zeile 101 um etwas wie -resize 2480x3508 -units PixelsPerInch -density 300x300 erweitern; das wäre für eine Ausgabe in DinA4-Größe; hier noch ein Link zu einem dpi_MM-Rechner, um andere Formate ausrechnen zu können: http://www.innup.de/DPI-CM-MM-Konvertierer

so long
hank

xsane2OCRmyPDF.sh (4.2 KiB)
Plugin für XSane, um PDFs mit Textlage zu erstellen
Download xsane2OCRmyPDF.sh

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Es kann so einfach sein... tesseract hat mindestens seit 3.03 (oder schon früher? Muss ich mal schauen) ein Konfigurationsskript (zwei Zeilen...), mit dem aus jeder Vorlage direkt ein durchsuchbares PDF erstellt wird. Exakte Passung, kein Schnickschnack, einfach einfach (schon fast unanständig einfach, macht ja gar keinen Spaß mehr, da is' schlicht nichts rauszupuzzeln 😇 )

Hab das auch mal in ein xsane-Skript gepackt, mit dem ein solches PDF erstellt und bei vorhandener Datei einfach der neue Scans angehängt wird. Ideal z.B. für ADF-Scanner, das stört eine Yad-Anfrage wie oben eh nur. Zudem sind die Dateien echt klein, da kommt keine Sandwich-Programm mit...

so long
hank

xsane2tesseractPDF (3.6 KiB)
XSane-"Plugin" zum Erstellen durchsuchbarer PDF-Dateien mit tesseract
Download xsane2tesseractPDF
Antworten |