Aquí hay una manera, que requeriría algunas herramientas no tan comunes:
- ocrodjvu
- pdfbeads , que tiene sus propios requisitos que Google puede encontrar
Podemos usar el djvu2hocr
comando (del ocrodjvu
paquete) para extraer la capa de texto oculto del archivo DjVu (no hace ningún OCR o similar, solo extrae la capa de texto con geometría), es decir:
djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
la intervención corrige los nombres de clase en hOCR de salida (que es simplemente un archivo HTML simple)
Ahora extraemos la página de DjVu a formato TIFF con:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
para que terminemos con este archivo en nuestra carpeta de trabajo:
sample.djvu
pg10.html
pg10.tif
Aquí es donde pdfbeads
entra en juego, y simplemente ejecutamos:
pdfbeads -o pg10.pdf
entonces este ingenioso programa se encarga de todo lo que está dentro de esta carpeta (archivos HTML y TIFF con el mismo nombre base) y produce un archivo PDF de salida con algunos subproductos:
sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym
que es idéntico al archivo de entrada DjVu y tiene una capa de texto dentro:
Resumen de comentarios:
Los comentarios extensos a continuación tratan sobre la representación de imágenes más pequeñas de la página del documento DjVu como objetos separados, lo cual no es fácilmente posible porque la página del documento DjVu es en sí misma una sola imagen con una capa de texto opcional, sin "información" sobre imágenes más pequeñas como objetos separados. Si el documento DjVu tiene imágenes en color, generalmente se colocarán en la capa de fondo; en este caso, el usuario puede aprovechar herramientas como ddjvu
(extraer solo la capa de fondo) y imagemagick
(recortar automáticamente) para generar solo imágenes en lugar de todo el lienzo, pero no puede automatizarse para crear una salida PDF
Otro enfoque más sano, pero más lento, es el uso de herramientas regulares de GUI de OCR. gscan2pdf
(> 1.0) se sugiere como posible candidato para PC con Linux