PROBLEMA: Tengo un archivo en pdf. Quiero extraer el texto que hay en él.
REQUISITOS: Que funcione en Ubuntu.
SOLUCIONES ANÁLOGAS en otras plataformas: En Adobe Profesional existen métodos de reconocimiento óptico de caracteres (OCR) mediante los cuales puedes convertir un PDF normal en un PDF del que extraer texto fácilmente.
SOLUCIÓN para Ubuntu: tesseract + gscan2pdf
FUENTE de información: Vicegerencia de las TIC - UPV/EHU - OCR en Ubuntu
CÓMO INSTALAR:
- Opción a)
Sistema>Administración>Gestor de paquetes Synaptic.
Una vez allí, buscamos primero tesseract y marcamos para instalar: tesseract-ocr, tesseract-dev y los archivos de idioma correspondientes a los idiomas en los que se hallen los documentos que trabajemos. (Por ejemplo, yo escanearé archivos en inglés, francés, alemán, italiano y español, de modo que marco todas estas opciones.) Una vez hecho esto, buscamos gscan2pdf: lo marcamos para instalar. Cliqueamos "Aplicar" y dejamos que se instalen los paquetes.
- Opción b)
Desde la consola introducimos las instrucciones:
sudo aptitude update
sudo aptitude install tesseract-ocr tesseract-ocr-spa gscan2pdf
Puedes instalar otros paquetes a la vez:
tesseract-ocr-fra
tesseract-ocr-ita
tesseract-ocr-nld
tesseract-ocr-por
tesseract-ocr-spa
tesseract-ocr-vie
tesseract-ocr-deu-f
tesseract-ocr-language
tesseract-ocr-deu
tesseract-ocr-dev
tesseract-ocr-eng
UTILIZACIÓN:
Inicia el programa gscan2pdf (a través de consola, escribe gscan2pdf y presiona ENTER; a través de GUI, ve a Aplicaciones>Gráficos).
Si quieres extraer texto de un PDF, el proceso es el que sigue:
Archivo>Importar ---- De esta forma, el programa importa el archivo para poder trabajar con él.
Si tiene varias páginas, te preguntará qué rango de páginas quieres extraer del total.
Sólo quedar ir a HERRAMIENTAS>OCR
Allí puedes elegir qué motor de OCR utilizar: Tesseract o GOCR. GOCR no funciona tan fino como Tesseract ni ofrece opciones de idioma, de modo que utilizaremos Tesseract.
Lenguaje a reconocer: el del documento.
Rango de páginas: todos o selección. Lo que corresponda.
En el espacio inferior obtenemos el texto extraído del documento. Para ver el texto correspondiente a cada página, es necesario que acudamos a la página en cuestión.
Otras herramientas útiles pueden ser RECORTAR o incluso LIMPIAR.
No es un OCR perfecto (pocos lo son), pero puede servirnos bastante bien para nuestros objetivos.
MEJORAS posibles:
Tesseract precisa tomar datos a partir de un archivo de imagen, de ahí que necesitemos gscan2pdf para importar los archivos pdf. Hay que recordar que gscan2pdf es, en origen, un programa de escaneo de imágenes que permite tomarlas directamente como pdf.
Una mejora posible (y necesaria), aunque no sé si compete a estos programas, sería la conversión del pdf de entrada a un pdf de salida con los datos OCR ya incrustados.
------
Atajo facilón y otras opciones:
Si tienes instalado Windows y dispones de licencia del Adobe Acrobat Professional, puedes convertir el pdf allí y proceder.
Otras opciones pasan por utilizar máquinas virtuales o bien hacer funcionar Adobe Pro en linux a través de Wine, pero por lo que dicen aquí es más difícil de lo que parece.
-----
OPINIÓN:
Creo que esta tesseract es la mejor opción con la que contamos en software libre. Para decir esto me baso especialmente en que Google lo implementó para poder hacer búsquedas en los archivos de imagen de GoogleBooks. Las búsquedas no son siempre certeras, pero creo que con un poco de tiempo, habrá notables mejoras en este programa.
Podéis saber más acerca de esto en: «Google relanza un software OCR con licencia Opensource».
--------
Toda la documentación y archivos sobre tesseract se encuentran en GoogleCode.
He probado tesseract y francamente los resultados son muy deficientes.
ResponderEliminar