10-21-2016 06:13 AM
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!
11-03-2016 04:20 AM
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.
10-21-2016 06:31 AM
Supongo que abbyocr11 tendrá algún parámetro para que sea más "verboso": hay algún problema con la ejecución de ese proceso.
Si estáis en Alfresco 5.0 (creo recordar que estabais en 4.2), quizá merezca la pena que te pases nuestro addon GitHub - keensoft/alfresco-simple-ocr: Simple OCR action for Alfresco
No requiere software licenciado y, cuando falla el proceso de OCR, escribe el detalle del error en el log.
En cualquier caso, el código fuente también te puede servir de referencia para 4.2
10-21-2016 09:03 AM
Muchas gracias Angel,
Le echaré un vistazo al addon que me comentas. De todas formas en seguido peleando un poco con ABBYY y he conseguido sacar por pantalla el proceso y lo realiza correctamente. De lo que no me había dado cuenta es de un error que me estaba saliendo por la consola de Java que imagino que tendrá que ver.
{http://www.alfresco.org/ws/service/content/1.0}ContentFault:<ns1:errorCode>0</ns1:errorCode><ns1:message>Transaction silently rolled back because it has been marked as rollback-only</ns1:message>
{http://xml.apache.org/axis/}exceptionNamerg.alfresco.repo.webservice.content.ContentFault
{http://xml.apache.org/axis/}stackTrace:
at org.alfresco.repo.webservice.content.ContentWebService.write(ContentWebService.java:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
10-21-2016 09:25 AM
¿Y no hay un "caused by"?
Obviamente esto es un problema, pero ha sido provocado por otro.
10-24-2016 02:59 AM
10-24-2016 04:01 AM
¿Entonces estáis utilizando un applet para realizar el escaneo y el OCR?
Parece que lo único relevante es:
java.io.FileNotFoundException: http://52.49.78.232:8080/delagro/applets/META-INF/services/org.apache.xerces.xni.parser.XMLParserCon...
A lo mejor no está encontrando la configuración...
10-24-2016 04:17 AM
Lo que me extraña es que a veces realice todo el proceso correctamente y otra veces no.
El escaneo lo realizamos con una applet, una vez subido el tiff a Alfresco en el espacio existe una regla que lanza un proceso, y uno de los pasos de ese proceso es transformar el tiff a pdf con ABBYYOCR.
<?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>/usr/local/bin/abbyyocr11</value>
</entry>
</map>
</property>
<property name="errorCodes">
<value>1,2</value>
</property>
</bean>
</property>
<property name="transformCommand">
<bean class="org.alfresco.util.exec.RuntimeExec">
<property name="commandMap">
<map>
<entry key=".*">
<value>/usr/local/bin/abbyyocr11 -c -pi -if ${source} -f PDF -of ${target}</value>
</entry>
</map>
</property>
<property name="errorCodes">
<value>1,2</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>
10-24-2016 04:28 AM
Échale un vistazo a esto Developing repo actions in Alfresco 5.1 | Programming and So
Creo que pueden ir por ahí los tiros.
10-27-2016 07:44 AM
No creo que sea problema del código implementado, ya que con la versión 9 de AbbyyOCR funcionaba correctamente. Sobre lo que comentabas de que igual no está encontrado la configuración, estamos poniendo el archivo donde configuramos la transformación en ".../tomcat/shared/classes/alfresco/extension/ocr-transforms-context.xml", ¿Debería tal vez estar en ".../tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/ocr-transforms-context.xml"? Decir que la versión que estamos utilizando para esto es Alfresco 3 ya que es con la que tenemos la integración para el cliente y no la podemos cambiar.
10-27-2016 07:47 AM
Si estáis en Alfresco 3, todas las respuestas que hay arriba, en efecto, pueden no ser acertadas.
En cuanto a la configuración, las dos rutas que indicas son correctas, pero la primera es la recomendada. Así que yo descartaría también este supuesto.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.