Tesseract hocr e txt ao mesmo tempo, ou convertendo de Tesseracts hocr para txt

2

Tenho andado a brincar com o software Linux OCR e gosto muito do Tesseract, especialmente em conjunto com o gsan2pdf. O Tesseract v3 ou superior suporta a saída no formato hocr, e o gscan2pdf pode fazer uso disso para criar PDFs pesquisáveis de documentos digitalizados.

Às vezes, no entanto, também gostaria de obter a versão em texto simples. O pdftotext no pdf pesquisável gerado pelo gscan2pdf como descrito acima não é tão bom para isso, pois mesmo com a opção -raw, o layout da saída não copia bem o layout físico original. Eu posso configurar um comando definido pelo usuário em gscan2pdf que irá chamar tesseract na imagem digitalizada original sem a opção hocr, de modo que apenas texto simples seja gerado, no entanto ocr passa a ser bastante demorado para fazê-lo duas vezes para cada página. Não existe uma maneira prática de converter de hocr para texto simples (com o mesmo layout que o gerado pelo tesseract quando invocado sem a opção hocr) ou uma maneira de fazer com que o tesseract apresente texto simples e hocr ao mesmo tempo? / p>

link parece promissor, mas não funciona para mim.

    
por PSkocik 16.05.2013 / 22:57

1 resposta

0

<?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));
    
por 16.01.2014 / 23:59