Liebe Community,
vielen Dank für die konstruktiven Anregungen, mit deren Hilfe ich den
Button zumindest testweise reanimieren konnte, wenn auch leider nicht
auf dem Weg über das ocr.php-Script.
Eventuell fehlt da noch ein VHost in der Apache-Konfiguration ...
Für Kitodo-OCR nutzen wir einen externen Dienstleister, der uns
gleichzeitig HOCR und Textdaten bereitstellt. Für's erste habe ich den
Metadaten-Ordner in den Tomcat gelinkt, die ocrUrl angepasst und so die
plain-Text-OCR-Daten direkt vom Tomcat geladen. Dabei hat sich dann als
Problem gezeigt, dass die Textdaten mal als ASCII und mal UTF-8 erkannt
werden. Damit die Zeichen in der Web-UI zuverlässig lesbar sind, musste
ich zusätzlich einen WebApp-Filter integrieren, der UTF-8 als
Response-Content erzwingt. Das ist mir zwar etwas zu kompliziert, aber
es kamen zumindest Daten in die Ansicht.
Viele Grüße!
On 31.10.19 11:17, Möller, Armin wrote:
Liebe Community,
ich kann die Funktion bestätigen. Ich habe den OCR-Button bei uns auch
implementiert. Dazu noch ein paar Anmerkungen.
Ich habe ein Script das ALTO in eine TXT-Datei wandelt und ausgibt.
Dabei ist aufgefallen das allen Zeilenumbrüche in der Anzeige entfernt
werden.
Also liefere ich HTML aus mit <pre>Datei</pre> das sieht dann deutlich
besser aus. Da ich das ALTO-Verzeichnis benötige wäre es schön wenn
der VariableReplacer auch ocraltopath liefern würde. Jetzt ändere ich
einfach bei ocrplaintextpath „_txt/$“ in „_alto/“ um und fertig.
Damit spare ich noch doppelte Datenhaltung von ALTO- und txt-Dateien.
Eintrag in goobi_config.properties
showOcrButton=true
ocrUrl=http://b-digiwf-1.sbb.spk-berlin.de/cgi-bin/pres/gib_ocr.pl?ocrtxtpath=(ocrplaintextpath)
Anbei noch das Perl-Script
#!/usr/bin/perl
# -*- coding: utf-8 -*-
#Programm einchecken
use feature ":5.10";
use strict;
use CGI qw/ :all -debug /;
use XML::LibXML;
use HTML::Entities;
if( !defined(param("ocrtxtpath")) or !defined(param("imgrange")) ){
fehlerr( "falscher Aufruf " ) ;
}
my $ocrpath = param("ocrtxtpath");
my $bild = param("imgrange");
# Umwandeln von OCR-TXT nach OCR_ALTO
$ocrpath =~ s#_txt/$#_alto/#;
my $file = "$ocrpath".sprintf("%08d",$bild).".xml";
if( ! -f $file ) {
fehlerr( "OCR $file ist nicht in der Präsentation");
}
# Umwaldenl von ALTO in TXT
my $tmp = alto2txt($file);
binmode( STDOUT,':utf8');
# ON the fly TXT to HTML pre-formatet
print STDOUT "Content-Type: text/html;
charset=UTF-8\n\n<pre>".encode_entities($tmp->{$file})."</pre>";
sub fehlerr {
print STDOUT "Content-Type: text/html; charset=UTF-8\n\n<pre>Keine OCR
gefunden</pre>";
exit(0);
}
sub alto2txt {
# Umwandeln mit ein bisschen Layout
my ( $file ) = @_;
my $parser = XML::LibXML->new();
my %xmls;
my $ret;
if( ref ( $file ) ) {
$xmls{'unkown'}=$file;
} elsif ( -f $file ) {
$xmls{$file}=$parser->parse_file($file) || die "parse";
} elsif ( -d $file ) {
opendir my $DIR,$file || die "parse";
while ( my $f = readdir($DIR) ) {
next unless $f =~ /xml$/;
#~ say $file;
$xmls{$f}=$parser->parse_file("$file/$f") || die "parse";
}
close $DIR;
}
for my $k ( sort keys %xmls ) {
my $obj = $xmls{$k};
my %text;
for my $line ( $obj->findnodes('//*[name()="TextLine"]')) {
my $vp = $line->getAttribute("VPOS");
($vp) = grep { abs($_-$vp)<10 } (keys %text,$vp);
$text{$vp} .= ($text{$vp} ? "\t" : "");
for my $string ( $line->findnodes('.//*[name()="String"]')) {
if ( $string->getAttribute("SUBS_TYPE") eq "HypPart1" ) {
$text{$vp} .= ($text{$vp} ? " " :
"").$string->getAttribute("SUBS_CONTENT");
} else {
$text{$vp} .= ($text{$vp} ? " " :
"").$string->getAttribute("CONTENT")
unless $string->getAttribute("SUBS_TYPE") eq "HypPart2"
}
}
}
for my $key ( sort { $a <=> $b } keys %text ) {
$ret->{$k} .= "$text{$key}\n";
}
}
return $ret;
}
Mfg
Armin Möller
--
******************************************************************
Armin Möller, Administrator
Abt. IDM Ref. 2 Tel +49 30 266 432231
Staatsbibliothek zu Berlin PK
Potsdamer Str. 33
10772 Berlin armin.moeller(a)sbb.spk-berlin.de
<mailto:armin.moeller@sbb.spk-berlin.de>
*Von:*kitodo-community-bounces@kitodo.org
<kitodo-community-bounces(a)kitodo.org> *Im Auftrag von *Weber, Frank-Ulrich
*Gesendet:* Mittwoch, 30. Oktober 2019 14:13
*An:* kitodo-community(a)kitodo.org
*Betreff:* Re: [Kitodo] [OCR] Texterkennung mit Kitodo
Hallo Herr Hartwig,
der OCR-Button ruft schlicht die unter ocrUrl konfigurierte URL auf
und füllt das OCR Fenster mit deren Ausgabe.
(tifpath) ist ein Platzhalter und wird zur Laufzeit passen ersetzt
(siehe VariableReplacer.pdf). Zusätzlich wird die
Seitennummer(imgrange) angehängt.
An dieser Stelle (ocr.php) könnten natürlich auch andere Formate
eingelesen und passend ausgegeben werden.
Beste Grüße
Frank Ulrich Weber
------------------------------------------------------------------------
Frank-Ulrich Weber
Product Manager Software Solutions
<http://www.zeutschel.de>
<https://twitter.com/zeutschelgmbh>
<http://www.youtube.com/user/zeutschelbookscanner>
<https://www.facebook.com/pages/Zeutschel-GmbH/193873073980288?fref=ts>
*Zeutschel GmbH*| Heerweg 2 | 72070 Tübingen | Deutschland
p: +49 (7071) 9706-56 | m: | f: +49 (7071) 9706-44
e: Frank-Ulrich.Weber(a)zeutschel.de
<mailto:Frank-Ulrich.Weber@zeutschel.de> | w:
http://www.zeutschel.de
Geschäftsführer/President: Joerg Vogler | Registergericht Stuttgart:
HRB 380917
<https://www.zeutschel.de/>
*Von:* kitodo-community-bounces(a)kitodo.org
<mailto:kitodo-community-bounces@kitodo.org>
<kitodo-community-bounces(a)kitodo.org
<mailto:kitodo-community-bounces@kitodo.org>> *Im Auftrag von *Wendt,
Kerstin
*Gesendet:* Mittwoch, 30. Oktober 2019 13:49
*An:* 'kitodo-community(a)kitodo.org' <kitodo-community(a)kitodo.org
<mailto:kitodo-community@kitodo.org>>
*Betreff:* Re: [Kitodo] [OCR] Texterkennung mit Kitodo
Hallo Herr Hartwig,
auf die Schnelle ein Bild vom „Verschollenen“ aus unserem Kitodo:
cid:image001.png@01D58F28.9146AE90
Technische Voraussetzung ist, dass im Vorgangsverzeichnis (neben den
ALTO-Files) ein Verzeichnis mit reinen .txt-Dateien der
OCR-Ergebnisse existiert. Wir lassen diese Textdatei zusätzlich und
ohne Mehrkosten vom OCR-Dienstleister erzeugen. Dann kommt noch ein
kl. Stück Konfiguration in goobi_config.properties dazu:
showOcrButton=true
ocrUrl=https://kitodo.sub.uni-hamburg.de/tools/ocr.php?path=(tifpath)
Ich hoffe, ich habe jetzt keinen Baustein vergessen.
Viele Grüße von Kerstin Wendt
--
Kerstin Wendt
Stabsstelle Digitalisierung
Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
Von-Melle-Park 3, 20146 Hamburg
Telefon 040/42838-5817 | Fax : 040/41345070
Mail: kerstin.wendt(a)sub.uni-hamburg.de
<mailto:kerstin.wendt@sub.uni-hamburg.de>
www.sub.uni-hamburg.de <http://www.sub.uni-hamburg.de>
*Von:* kitodo-community-bounces(a)kitodo.org
<mailto:kitodo-community-bounces@kitodo.org>
<kitodo-community-bounces(a)kitodo.org
<mailto:kitodo-community-bounces@kitodo.org>> *Im Auftrag von *Uwe Hartwig
*Gesendet:* Mittwoch, 30. Oktober 2019 13:16
*An:* kitodo-community(a)kitodo.org <mailto:kitodo-community@kitodo.org>
*Betreff:* Re: [Kitodo] [OCR] Texterkennung mit Kitodo
Liebe Community, lieber Herr Gerhardt,
ich hatte die Hoffnung, dass die Einbindung der erstellten OCR-Daten
(im Format HOCR-xhtml) im Prinzip in Kitodo 2.x möglich ist und es
einen Fehler in unserer Kitodo-Konfiguration gibt, die dazu führt,
dass keine Daten angezeigt werden. Nun klingt das für mich leider so,
als sei diese Funktionalität schon länger verschollen.
Bei unserem derzeitigen Workflow haben die Mitarbeiter im VL-Manager
die Möglichkeit, anhand der OC-Resultate zusätzliche
Qualitätssicherungsmaßnahme einzuleiten, z.B. einen Nachscan
anzufordern. Das wäre also in dieser Form nach derzeitigem
Kenntnisstand mit Kitodo 2.x nicht möglich, weil keine OCR-Daten im
Metadateneditor angezeigt werden?
Danke und Grüße!
On 30.10.19 13:02, Henning Gerhardt wrote:
Liebe Community, lieber Herr Hartwig,
Kitodo.Production 2.x bringt selbst keine Werkzeuge mit, um eine
Texterkennung direkt durchzuführen und ist auf externe Dienste
angewiesen. Ein solcher Dienst versteckt sich hinter dem "OCR" Button,
der eine nicht näher spezifizierte Schnittstelle anspricht und von
dieser nicht näher spezifizierte Daten zurück bekommt. Damit soll man
dann wohl die Ergebnisse im Metadateneditor von Kitodo.Production sehen
können. Ich selbst habe in den vielen Jahren der Nutzung von
Kitodo.Production 1.x und 2.x niemals eine solche Einbindung gesehen und
/ oder erlebt.
An der SLUB wird die OCR selbst als eigenständiger Schritt / Aufgabe
nach der Metadaten-Bearbeitung ausgeführt. Über unseren externen OCR
Dienstleister werden die Ergebnisse als ALTO-XML zurückgeliefert und im
jeweiligen Vorgangsverzeichnis abgelegt. Beim Export werden neben den
Bild- und Metadaten auch die vorhandenen OCR Daten exportiert und an die
Präsentation auf Basis von Kitodo.Presentation übergeben.
Kitodo.Presentation stellt dann die OCR Ergebnisse dar.
Viele Grüße
Henning Gerhardt
On 10/30/19 11:10 AM, Uwe Hartwig wrote:
Liebe Community,
mal allgemein in die Runde gefragt: Wer hat Erfahrungen mit den
Texterkennungsfunktionalitäten mit Kitodo gesammelt?
Und wenn ja, mit welcher Kitodo-Version?
Da wir bei der ULB Sachsen-Anhalt auf ALTO-XML setzen, interessiert uns
natürlich, ob Kitodo mit diesem Format etwas anfangen kann. Dazu zählt,
z.B. ob der "OCR"-Button in der Strukturierungsansicht diese Daten
entsprechend darstellen kann und ob dieses Format auch von
nachgelagerten Prozessen Richtung DMS-Export (zedExporter) verarbeitet
werden kann.
Danke!
_______________________________________________
Kitodo-Community mailing list
Kitodo-Community(a)kitodo.org <mailto:Kitodo-Community@kitodo.org>
https://maillist.slub-dresden.de/cgi-bin/mailman/listinfo/kitodo-community
--
Uwe Hartwig
Anwendungsentwickler IT / Digitale Dienste
Universitäts- und Landesbibliothek Sachsen-Anhalt
August-Bebel-Straße 13
D - 06108 Halle (Saale)
Fon: + 49 345 55 22 183
Mail:uwe.hartwig@bibliothek.uni-halle.de
<mailto:uwe.hartwig@bibliothek.uni-halle.de>
_______________________________________________
Kitodo-Community mailing list
Kitodo-Community(a)kitodo.org
https://maillist.slub-dresden.de/cgi-bin/mailman/listinfo/kitodo-community
--
Uwe Hartwig
Anwendungsentwickler IT / Digitale Dienste
Universitäts- und Landesbibliothek Sachsen-Anhalt
August-Bebel-Straße 13
D - 06108 Halle (Saale)
Fon: + 49 345 55 22 183
Mail: uwe.hartwig(a)bibliothek.uni-halle.de