Tesseract hocr und txt gleichzeitig oder Konvertierung von Tesseracts hocr in txt

2017
PSkocik

Ich habe mit Linux OCR-Software herumgespielt und mag Tesseract sehr, besonders in Verbindung mit gsan2pdf. Tesseract v3 oder höher unterstützt die Ausgabe im hocr-Format, und gscan2pdf kann dies nutzen, um durchsuchbare PDFs gescannter Dokumente zu erstellen.

Manchmal möchte ich jedoch auch die Nur-Text-Version. pdftotext in dem durchsuchbaren pdf, das von gscan2pdf wie oben beschrieben generiert wurde, ist nicht so gut, da selbst mit der Option -raw das Layout der Ausgabe das ursprüngliche physische Layout nicht gut kopiert. Ich kann in gscan2pdf einen benutzerdefinierten Befehl einrichten, der tesseract für das gescannte Originalbild ohne die hocr-Option aufruft, so dass nur Klartext generiert wird. Ocr ist jedoch recht zeitaufwändig, dies zweimal für jede Seite zu tun. Gibt es nicht einen funktionierenden Weg, um von hocr zu Klartext zu konvertieren (mit demselben Layout wie das, das von tesseract generiert wird, wenn es ohne die hocr-Option aufgerufen wird) oder eine Möglichkeit, um tesseract sowohl Klartext als auch hocr zur gleichen Zeit auszugeben?

https://github.com/jbrinley/HocrConverter sieht vielversprechend aus, funktioniert aber nicht für mich.

2

1 Antwort auf die Frage

0
juanmf
<?php  /** * Cli process that gets as 1st argument the output of tesseract ... hocr and dumps  * its text nodes * Usage: script.php in.tif.html out.txt */ $inFile = $argv[1]; $outFile = $argv[2]; $stream = file_get_contents($inFile); $dom = DOMDocument::loadHTML($stream); $out = array(); foreach ($dom->getElementsByTagName('p') as $tag) { $out[] = $tag->nodeValue; }  file_put_contents($outFile, implode("\n", $out));