Aqui está uma maneira, que exigiria algumas ferramentas não tão comuns:
- ocrodjvu
- pdfbeads , que possui requisitos próprios que podem ser encontrados pelo Google
Podemos usar o djvu2hocr
comando (do ocrodjvu
pacote) para extrair a camada de texto oculta do arquivo DjVu (não faz OCR ou similar, apenas extrai a camada de texto com geometria), ou seja:
djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
intervenção corrige nomes de classe na saída hOCR (que é apenas um arquivo HTML simples)
Agora extraímos a página do DjVu para o formato TIFF com:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
para que terminemos com estes arquivos na pasta de trabalho:
sample.djvu
pg10.html
pg10.tif
É aqui que pdfbeads
entra o jogo, e nós simplesmente executamos:
pdfbeads -o pg10.pdf
esse programa bacana cuida de tudo o que está dentro dessa pasta (arquivos HTML e TIFF com o mesmo nome de base) e produz um arquivo PDF de saída com alguns subprodutos:
sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym
que é idêntico ao arquivo DjVu de entrada e possui uma camada de texto dentro:
Resumo dos comentários:
Os longos comentários abaixo discutem a representação de imagens menores da página de documento do DjVu como objetos separados, o que não é possível com facilidade porque a página de documento do DjVu é apenas uma imagem com camada de texto opcional, sem "informações" sobre imagens menores como objetos separados. Se o documento DjVu tiver imagens coloridas, elas geralmente serão colocadas na camada de fundo; nesse caso, o usuário pode tirar proveito de ferramentas como ddjvu
(extrair apenas a camada de fundo) e imagemagick
(cortar automaticamente) para gerar apenas imagens em vez de tela inteira, mas não pode ser automatizado para criar saída em PDF
Outra abordagem mais saudável, porém mais lenta, é o uso de ferramentas regulares da GUI do OCR. gscan2pdf
(> 1.0) é sugerido como possível candidato para Linux PC