cancel
Showing results for 
Search instead for 
Did you mean: 

Simple OCR + Alfresco

slcunha
Champ in-the-making
Champ in-the-making


Sou novo no grupo e no uso do alfresco. Tenho uma instalação do alfresco em um VPS Linux para testes, e recentemente estou empacado no uso do Simple OCR, um add on do Alfresco.
Ele faz o que promete, passa o ocr em um documento recém scaneado, assim consigo realizar buscas dentro do documento, mas duas coisas acontecem:
1 - esse conteúdo do arquivo não é indexado, somente fica "procurável" quando estou com o arquivo em tela, na busca do próprio arquivo, caso faça uma procura geral no alfresco, não condigo localizar o conteúdo.
2 - o mesmo acontece se eu baixar o arquivo e abrir no adobe, não consigo procurar o conteúdo que teoricamente foi processado pelo OCR.

Alguém teria alguma dica, ou recomenda outra solução de OCR? Andei testando a solução de OCR da Anatel, mas só consigo que funcione em documentos de uma página. Qualquer ajuda será de extrema ajuda.

Grato.

35 REPLIES 35

douglascrp
World-Class Innovator
World-Class Innovator

Ah, parece que você instalou os 2 amps no share.

Veja:

simple-ocr-repo Platform Jar Module - SDK 3, 2.3.1, Platform JAR Module (to be included in the alfresco.war) - SDK 3

simple-ocr-share Share Jar Module - SDK 3, 2.3.1, Share JAR Module (to be included in the share.war) - SDK 3

Você deveria, como diz no log, incluir o simple-ocr-repo somente no Alfresco, e o simple-ocr-share somente no Share.

Me diga em que pastas exatamente você colocou os amps.

Boa tarde Douglas.

Eu instalei no seguinte caminho:

/opt/alfresco-community/modules/share

não entendi muito bem a sua observação... no caso, onde seriam os diretórios corretos?

douglascrp
World-Class Innovator
World-Class Innovator

Então você usou o release como jar, e não amp.

Nesse caso, faça o seguinte:

Deixe apenas o arquivo simple-ocr-repo.jar em /opt/alfresco-community/modules/platform 

E apenas o arquivo simple-ocr-share.jar em /opt/alfresco-community/modules/share

Reinicie o Alfresco e deve funcionar.

Fiz o que me disse e ele parou de apresentar a mensagem. Porém, mesmo assim, o programa não converte o documento.

Segue o log após clicar no botão. percebi que há um erro de java mas não tenho a menor ideia de como resolver rsrsrs

catalina.log

douglascrp
World-Class Innovator
World-Class Innovator

O problema está na instalação que você fez dos componentes que o OCR precisa.

Veja se o que foi explicado nesta página te ajuda FAQ · keensoft/alfresco-simple-ocr Wiki · GitHub 

Do lado do Alfresco, está tudo certo.

Douglas, obrigado por me ajudar.

Desculpe a demora em dar um retorno...

Estou retomando as correções desses problemas e tenho 2 perguntas.

1 - Como eu "chamo" esse script mencionado no link? É no properties?

2 - Qual usuario eu devo incluir no sudoers para que esse script funcione?

Obrigado!

douglascrp
World-Class Innovator
World-Class Innovator

Bom dia.

Eu não entendi suas dúvidas.

Boa tarde.

A minha duvida é referente a este link https://community.alfresco.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fkeensoft%2Falfresco... 

Lá, fala pra eu usar um script para que o pdfsandwich funcione.

Porém, eu não tenho ideia de como setar esse script pra ser "chamado" pelo alfresco.

Além disso, no script, usa o sudo pra dar os comandos. Nesse caso, qual usuário do linux utilizaria esse comando?

douglascrp
World-Class Innovator
World-Class Innovator

Agora eu entendi.

Ok, então para o Alfresco "chamar" o script, você precisa adicionar o parâmetro abaixo no arquivo alfresco-global.properties:

ocr.command=/caminho/arquivo/script.sh

Sobre o usuário, você precisa saber como o Alfresco está sendo executado, mas aí é algo que você é quem tem que dizer.

Isso depende de como você instalou, e quais opções escolheu.

Uma forma de descobrir é iniciar o Alfresco e analisar o processo do Java. Lá você conseguirá ver o usuário que iniciou.

A configuração de quem pode executar um comando como sudo vai depender do SO que você está usando.

Fiz as verificações e o processo Java como root.

Modifiquei no alfresco-global.properties o bloco e deixei assim:

### PDF Sandwich ###
ocr.command=/root/pdfsandwich.sh
ocr.output.verbose=true
ocr.output.file.prefix.command=-o
ocr.extra.commands=-verbose -lang por+eng
ocr.server.os=linux

Fiz o script da seguinte forma:

#!/usr/bin/env bash
# set -o xtrace # Uncomment for debugging/troubleshooting
/usr/bin/pdfsandwich "$@"

Mesmo assim, quando clica no botão OCR, o problema persiste.

A saída em catalina.out é esta:

Exception in thread "defaultAsyncAction3" java.lang.RuntimeException: java.lang.RuntimeException: org.alfresco.service.cmr.repository.ContentIOException: 01010025 Failed to perform OCR transformation: 
Execution result:
   os:         Linux
   command:    /root/pdfsandwich.sh -verbose -lang por+eng /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757.pdf -o /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757_ocr.pdf
   succeeded:  false
   exit code:  2
   out:        pdfsandwich version 0.1.4
Checking for convert:
convert -version
Version: ImageMagick 7.0.5-2 Q16 x86_64 2017-04-04 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Featur
   err:        tesseract: /opt/alfresco-community/common/lib/libtiff.so.5: no version information available (required by /usr/lib/liblept.so.5)
tesseract 3.04.01
leptonica-1.73
  libgif 5.1.2 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.56 : libtiff 4.0.7 : zli
     at es.keensoft.alfresco.ocr.OCRExtractAction.executeImplInternal(OCRExtractAction.java:183)
     at es.keensoft.alfresco.ocr.OCRExtractAction.access$200(OCRExtractAction.java:38)
     at es.keensoft.alfresco.ocr.OCRExtractAction$1.execute(OCRExtractAction.java:164)
     at es.keensoft.alfresco.ocr.OCRExtractAction$1.execute(OCRExtractAction.java:161)
     at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
     at es.keensoft.alfresco.ocr.OCRExtractAction.executeInNewTransaction(OCRExtractAction.java:169)
     at es.keensoft.alfresco.ocr.OCRExtractAction.access$100(OCRExtractAction.java:38)
     at es.keensoft.alfresco.ocr.OCRExtractAction$ExtractOCRTask.run(OCRExtractAction.java:151)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
     at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: org.alfresco.service.cmr.repository.ContentIOException: 01010025 Failed to perform OCR transformation:
Execution result:
   os:         Linux
   command:    /root/pdfsandwich.sh -verbose -lang por+eng /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757.pdf -o /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757_ocr.pdf
   succeeded:  false
   exit code:  2
   out:        pdfsandwich version 0.1.4
Checking for convert:
convert -version
Version: ImageMagick 7.0.5-2 Q16 x86_64 2017-04-04 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Featur
   err:        tesseract: /opt/alfresco-community/common/lib/libtiff.so.5: no version information available (required by /usr/lib/liblept.so.5)
tesseract 3.04.01
leptonica-1.73
  libgif 5.1.2 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.56 : libtiff 4.0.7 : zli
     at es.keensoft.alfresco.ocr.OCRTransformWorker.transform(OCRTransformWorker.java:86)
     at es.keensoft.alfresco.ocr.OCRExtractAction.executeImplInternal(OCRExtractAction.java:181)
     ... 10 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 01010025 Failed to perform OCR transformation:
Execution result:
   os:         Linux
   command:    /root/pdfsandwich.sh -verbose -lang por+eng /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757.pdf -o /opt/alfresco-community/tomcat/temp/Alfresco/OCRTransformWorker_source_252479521056264757_ocr.pdf
   succeeded:  false
   exit code:  2
   out:        pdfsandwich version 0.1.4
Checking for convert:
convert -version
Version: ImageMagick 7.0.5-2 Q16 x86_64 2017-04-04 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Featur
   err:        tesseract: /opt/alfresco-community/common/lib/libtiff.so.5: no version information available (required by /usr/lib/liblept.so.5)
tesseract 3.04.01
leptonica-1.73
  libgif 5.1.2 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.56 : libtiff 4.0.7 : zli
     at es.keensoft.alfresco.ocr.OCRTransformWorker.transform(OCRTransformWorker.java:79)
     ... 11 more

Será que deixei passar algo? Ou pode ser algum problema na minha instalação do Linux 😕

Tem mais algum material pra me guiar?

mais uma vez, obrigado!