Reconocimiento de texto automático
Esta guía describe cómo procesar todas las páginas escaneadas sin intervención manual. Todas las instrucciones deben ejecutarse en una terminal GNU/Linux (o cualquier sistema con bash
instalado).
Instalar los siguientes paquetes (los nombres pueden variar): djvulibre
minidjvu
unpaper
tesseract-spa
imagemagick
git
ghostscript
Clonar o actualizar dl.git
, el repositorio donde están los programas ("scripts") para procesar textos.
git clone http://repo.hackcoop.com.ar/dl.git cd dl git pull
Contenido
Extraer las páginas de un PDF
Si el texto son las páginas de un PDF, hay que extraer las páginas individuales:
mkdir NombreDelLibro cd NombreDelLibro pdftoppm -tiff Libro.pdf Libro
Reemplazar NombreDelLibro
por el nombre del libro, Libro.pdf
por el nombre y la ubicación del PDF y Libro
por el prefijo que queremos que tengan las páginas individuales.
Esto va a crear un archivo .tif por cada página del PDF original.
Procesar las páginas con OCR
Una vez que tenemos las páginas por separado (vengan de un PDF o del escaner), las procesamos con el script book2txt
:
cd NombreDelLibro book2txt *.tif
Esto realiza lo siguiente:
- Toma todas las páginas originales (
.
) - Las convierte al formato PBM (
01_pbm
) - Las endereza con unpaper (
02_unp
) - Las limpia con minidjvu (
03_djvu
) - Las vuelve a convertir a tif (
04_tif
) - Reconoce el texto con tesseract (
05_txt
)
El proceso se puede interrumpir en cualquier momento con ctrl+c
, al correrlo de vuelta el programa retoma las páginas por donde las dejó. Si no encuentra ninguna, empieza desde cero ;)
Al finalizar, el texto de cada página va a estar en el directorio 05_txt
.
Generar un archivo DjVu con capa de OCR
Para subir el libro procesado al Archivo Activo, hay que volver a convertirlo a un DjVu con capa de OCR:
cd NombreDelLibro djvm -create Libro.djvu 03_djvu/*.djvu
Esto crea el archivo Libro.djvu
a partir de todas las páginas individuales del directorio 03_djvu
.
Luego, se le agrega el texto:
cd NombreDelLibro/05_txt txt2djvu ../Libro.djvu *.txt
Esto toma todas las páginas convertidas a texto de 05_txt
y las agrega al libro en formato DjVu.
Tips
Se puede limpiar un poco el txt antes de añadírselo al djvu:
- Reemplazar los guiones largos, comillas especiales y f's con ligaturas en todo el texto:
sed -e 's/—/-/g' -e 's/[“”]/"/g' -e 's/fi/fi/g' -e "s/’/'/g" -i 05_txt/*.txt