• Problemas con OCR de ficheros PDF

  • OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #39881  by bieli
 
Hola,

tengo la impresión que no funciona fino el OCR de los ficheros PDF. Raro es que al principio de cada arranque del Tomcat si lo funciona y veo que se están creando ficheros PNG que luego se están revisando por OCR y veo el texto que sale en el DEBUG del "PdfTextExtractor".
Pero después de algunos ficheros (5 - 8 ) que han salido bien, se para el proceso y ya solo veo este output repitiéndose:

TextExtractionWorker: Awaiting for pool tasks termination

Si me muevo rápido a "Administration -> Stats -> Text extraction queue", puedo revisar que al principio se van los documentos que están colados en la tabla "Pending Extractions", pero después de algunos ficheros (5 - 8 ) que se van de la lista, ya no se cambia la lista, ni la de "Extractions In Progress (Running)". Estoy esperando horas y no pasa nada. Pero si paro otra vez el Tomcat y lo arranco de nuevo, volverá a pasar los mismo como descrito arriba, pero siempre solo con algunos PDFs...

Creo que la configuración tengo correcto:
Code: Select all
managed.text.extraction	Boolean 	Active
managed.text.extraction.batch	Integer 	10
managed.text.extraction.concurrent	Boolean 	Active
managed.text.extraction.pool.size	Integer 	4
managed.text.extraction.pool.threads	Integer 	8
managed.text.extraction.pool.timeout	Integer 	1

system.ocr	String 	D:/openkm/tesseract-ocr/tesseract.exe ${fileIn} ${fileOut}
system.imagemagick.convert	String 	D:/openkm/ImageMagick/convert.exe 
system.pdf.force.ocr	Boolean 	Active
system.swftools.pdf2swf	String 	D:/openkm/tomcat/bin/pdf2swf.exe -T 9 -f -t -G -s storeallcharacters ${fileIn} -o ${fileOut}
¿Que esta pasando? ¿Quien me puede ayudar?

Gracias y saludos,
Stefan
 #39893  by jllort
 
Primero, lo del system.PDF.force.ocr lo desactivaría ( forzar que todos los pdf pasen por el ocr sólo debería utilizarse en segun que casos ). La idea es que si el extractor normal de pdf no es capaz de sacar texto automáticamente se le pasa el OCR ( esto ya lo hace automático ).

Mira a ver si se quedan procesos corriendo. Si tienes algun fichero que siempre esta presente entre los 4 primeros.

Cuantos cores tienes ?
 #39898  by bieli
 
Hola,

voy a desactivar lo de "force". Tengo 4 cores con hyperthreading. No hay procesos corriendo después de un "shutdown.bat".
Acabo de arrancar OpenKM 2 veces y realmente ha revisado solo 12 documentos y nada mas. En "openkm/tomcat/temp/" se añadieron solo 24 ficheros y nada mas. 2 arranques x 6 documentos x 2 ficheros (uno de txt y otro de png) = 24 ficheros.

Saludos,
Stefan
 #39908  by jllort
 
Este parametro managed.text.extraction.batch mejor si es multiple de 8, pero vamos que de ahí no viene el problema.

Que tal vas de memoria y que parametros tiene el setenv.bat ?
 #39934  by bieli
 
OK, he cambiado el parametro managed.text.extraction.batch a 16.

setenv.bat esta sin cambiar y así:
Code: Select all
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=356m
set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true -Dlog4j.configuration=file:///%CATALINA_HOME%/conf/log4j.properties
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=utf-8 -Dmail.mime.ignoreunknownencoding=true
set PATH=%PATH%;%CATALINA_HOME%\lib\sigar
Parece que solo realiza el OCR para 8 ficheros (managed.text.extraction.pool.threads=8).
Si cambio este valora a 6 hace solo OCR de 6 ficheros... Vaya!

Saludos,
Bieli
 #39950  by jllort
 
En cada ciclo, hace los del batch y despues se duerme 5 minutos antes de volver a empezar ( así es como esta programada la tarea de crontab ). La puedes poner mas radical ( que se ejecute cada minuto, pero piensa que esto puede comer gran cantidad de recursos del hardware ).
 #40561  by jllort
 
Gracias por el aporte, lo tendremos en consideración porque vemos que ya hay un par de usuarios con el mismo problema.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.