cancel
Showing results for 
Search instead for 
Did you mean: 

Problema transformación OCR y ejecución regla.

magarcia_sm
Star Contributor
Star Contributor

Hola a todos,

Os cuento, tengo un proceso el cual consiste en digitalizar ciertos documentos que guardo en un espacio "subir_documentos" en formato TIFF, cuando un documento entra en ese espacio salta una regla que lo transforma a través de ABBYYOCR11 en un pdf, se guarda en "subir_documentos", se extraen algunos datos,  se guardan como metados y se borra el TIFF. Una vez hecho esto se firma el pdf y se mueve al espacio "revisar".

Ahora el problema. Esto estaba funcionando perfectamente con ABBYOCR9. Pero hemos adquirido una nueva licencia y con ABBYYOCR11 se dan los siguientes casos.

1. Después del proceso OCR sube un pdf vacío (0 KB) al espacio "subir_documentos".

2. Después del proceso OCR no sube nada al espacio "subir_documentos" (O si lo sube no se ejecuta la regla, pero no aparece ningún pdf)

3. En ocasiones realiza todo el proceso correctamente.

Estos casos ocurren aleatoria-mente. ¿Se deberá a algo relacionado con ABBYY y su configuración o más bien con Alfresco?

El comando que envío a ABBYYOCR es el más básico y funciona correctamente por que lo he probado directamente en la máquina.

     abbyyocr11 -if test.tiff -rl Spanish -f PDF -of test.pdf

Cuando el proceso falla no salta ningún error en el log.

¿Alguna idea que puede ser lo que está ocurriendo?

Muchas gracias!

1 ACCEPTED ANSWER

magarcia_sm
Star Contributor
Star Contributor

Buenos días,

Después de haber intentado todas las opciones y no dar con una solución, para no perder más tiempo hemos optado por migrar de Alfresco 3.0 a Alfresco 4.2, donde ya habíamos hecho pruebas y confirmado que todo funcionaba correctamente.

De todas formas muchas gracias por vuestra ayuda y consejos.

Un saludo.

View answer in original post

13 REPLIES 13

Ok, gracias Angel,

Voy a resumir un poco al situación actual junto con los archivos de configuración que estamos utilizando.

Para comprobar si está ejecutando correctamente el comando que pasamos en el ocr-transformers-context.xml he creado un bash script que simplemente crea un log_file.log al cual llamo desde el ocr-transformers. Pero cuando realizo el proceso desde Alfresco no está creando ningún log_file.log, por lo que entiendo que o no está encontrando el ocr-transformers-context.xml, o la forma en la que ejecutamos el comando dentro de ocr-transformers-context.xml no es la correcta.

En Alfresco 4 había tenido un problema parecido, pero lo había solucionado creando una lista de values y poniendo cada propiedad del comando en un value diferente (<value></value>), pero por lo que he visto en Alfresco 3 el comando se declara todo en la misma linea.

Archivo createLog.sh

now=$(date +"%d/%m/%Y_%H:%M:%S")

LOG_FILE=/opt/ocr/log_file.log

echo "$now: Log de prueba" >> $LOG_FILE

Archivo ocr-transformers-context.xml

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>

        <bean id="transformer.Ocr.Tiff2Pdf" class="org.alfresco.repo.content.transform.RuntimeExecutableContentTransformer" parent="baseContentTransformer">

                <property name="checkCommand">

                        <bean class="org.alfresco.util.exec.RuntimeExec">

                                <property name="commandMap">

                                        <map>

                                                <entry key=".*">

                                                        <value>/opt/ocr/createLog.sh</value>

                                                </entry>

                                        </map>

                                </property>

                        </bean>

                </property>

                <property name="transformCommand">

                        <bean class="org.alfresco.util.exec.RuntimeExec">

                                <property name="commandMap">

                                        <map>

                                                <entry key=".*">

                                                        <value>/opt/ocr/createLog.sh ${source} ${target}</value>

                                                </entry>

                                        </map>

                                </property>

                                <property name="errorCodes">

                                        <value>1,2,3</value>

                                </property>

                        </bean>

                </property>

                <property name="explicitTransformations">

                        <list>

                                <bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails" >

                                        <property name="sourceMimetype"><value>image/tiff</value></property>

                                        <property name="targetMimetype"><value>application/pdf</value></property>

                                </bean>

                        </list>

                </property>

        </bean>

</beans>

Estamos pensando que igual puede que el problema es que esté llamando al transform de ImageMagick en vez de al nuestro. ¿Habrá alguna forma de aumentar la prioridad de llamada de nuestro transformer o de desabilitar el de ImageMagick en Alfresco 3.0 ?

Aquí tienes un par de alternativas...

FAQ · keensoft/alfresco-simple-ocr Wiki · GitHub

Consiste en montar el script OCR en un entorno de ejecución separado de Alfresco

Hyland Developer Evangelist

magarcia_sm
Star Contributor
Star Contributor

Buenos días,

Después de haber intentado todas las opciones y no dar con una solución, para no perder más tiempo hemos optado por migrar de Alfresco 3.0 a Alfresco 4.2, donde ya habíamos hecho pruebas y confirmado que todo funcionaba correctamente.

De todas formas muchas gracias por vuestra ayuda y consejos.

Un saludo.