“sh: 1: não pode abrir /tmp/pdfsandwich4e375e.html: nenhum tal arquivo” ao usar pdfsandwitch [closed]

1

Eu tentei adicionar um textlayer a alguns arquivos pdf para torná-los pesquisáveis. Esta técnica é explicada no wiki alemão do Ubuntu: link . Depois de instalar dependências

sudo apt-get install imagemagick exactimage ghostscript tesseract-ocr

e pdfsandwich em si, deve ser tão simples quanto

pdfsandwich test.pdf

No entanto, obtenho:

Input file: "test.pdf"
Output file: "test_ocr.pdf"
Number of pages in inputfile: 272

Parallel processing with 8 threads started.
Processing page order may differ from original page order.

Processing page 137.
Processing page 171.
Processing page 1.
PProcessing page Processing pProcessing page rocess35.
age 239.
Processing page 69.
205.
ing page 103.
sh: 1: cannot open /tmp/pdfsandwich4e375e.html: No such file

seguido por muitos mais cannot open ... avisos. A inspeção do diretório /tmp mostra que, em vez desses arquivos *.html , existem os arquivos *.txt correspondentes. Aparentemente tesseract não produz em formato hocr. Eu li as man pages do tesseract e tentei impor a saída hocr criando um arquivo de configuração chamado tesseract-config

hocr true

(tentei várias variações) e iniciei o pdfsandwich com

pdfsandwich -tesso tesseract-config test.pdf

Mas isso não parece mudar nada. Alguma idéia de como eu posso fazer o pdf produzir um resultado adequado?

Observe as perguntas relacionadas Como adicionar texto oculto ao pdf original em gscan2pdf? e Adicionando Informações de OCR para um PDF . No entanto, preciso processar muitos arquivos pdf e, portanto, preciso de uma solução de linha de comando que eu possa automatizar.

    
por highsciguy 16.06.2013 / 12:54

2 respostas

1

Descobrimos que o formato do arquivo de configuração foi alterado com a versão atual do Ubuntu do tesseract (3.02.01): link . O Tesseract agora pode ser instruído para imprimir em formato hocr com um arquivo de configuração de linha única tesseract-config :

tessedit_create_hocr 1

Como observado na pergunta, o tesseract pode ser instruído a ler o arquivo de configuração passando a opção -tesso para pdfsandwich :

pdfsandwich -tesso tesseract-config test.pdf
    
por highsciguy 18.06.2013 / 10:34
1

A razão para este erro é que o tesseract alterou suas extensões de arquivo padrão para hocr, tornando-o incompatível com pdfsandwich < 0.1.0. Para tesseract 3.02 com pdfsandwich < 0.1.0, ajuda a modificar o arquivo de opções tesseract e passá-lo para pdfsandwich com -tesso.

O Tesseract 3.03, que é a versão padrão do tesseract no Ubuntu 14.04, alterou substancialmente seu manuseio hocr, tornando-o parcialmente incompatível com hocr2pdf, de modo que a correção "-tesso" frequentemente resultará em camadas de texto que não se ajustam ao escaneado imagens. Em vez disso, não o hocr2pdf, mas o próprio tesseract precisa ser usado para produzir cada página de arquivos pdf.

Pdfsandwich > = 0.1.0 reconhece automaticamente a versão do tesseract e escolhe a maneira apropriada de interação com o tesseract, para que todos esses erros não ocorram mais.

    
por Tobias Elze 15.07.2014 / 12:53