Simple OCR + Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
bazorante14
Active Member

Re: Simple OCR + Alfresco

Conseguimos resolver Douglas. Obrigado, sua ajuda foi muito util.

Linguagens do tesseract estava em falta. Então baixei e adicionei na pasta do tesseract.

$ wget https://github.com/tesseract-ocr/tessdata/archive/3.04.00.tar.gz
$ tar xvf 3.04.00.tar.gz
$ mv tessdata-3.04.00/* /usr/share/tesseract-ocr/tessdata/
douglascrp
Advanced II

Re: Simple OCR + Alfresco

Os erros que aparecem no log que você compartilhou não tem relação alguma com o OCR.

Você por acaso tentou customizar algum dos arquivos ftl do Alfresco?

Todos os erros que aparecem estão relacionados à algum template de atividade de usuários ou algo do tipo.

bazorante14
Active Member

Re: Simple OCR + Alfresco

Não customizei nada. :/

vitorsrosa
Active Member II

Re: Simple OCR + Alfresco

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
Advanced II

Re: Simple OCR + Alfresco

Bom dia.

Eu não entendi suas dúvidas.

vitorsrosa
Active Member II

Re: Simple OCR + Alfresco

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
Advanced II

Re: Simple OCR + Alfresco

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.

vitorsrosa
Active Member II

Re: Simple OCR + Alfresco

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!

douglascrp
Advanced II

Re: Simple OCR + Alfresco

Bom, o que parece é que com relação ao Alfresco e seu script, tudo está ok.

O problema agora está na instalação das dependências. Para ser mais exato, na falta de dependências.

Procure por essas mensagens e tente instalar o que está faltando.

vitorsrosa
Active Member II

Re: Simple OCR + Alfresco

Bom dia!

Realmente o problema era dependência. Realizei o mesmo processo que Ramon Dantas‌ fez e aparentemente parou o erro. Porém, mesmo assim, não está indexando e tambem não deixa o conteúdo do arquivo procurável. Notei que os textos nos arquivos não ficam selecionáveis.

Isso é normal ou tem algum problema com a instalação do pdfsandwich? Se não for normal, como eu consigo visualizar o problema? =/

Segue o processo realizado:

wget https://github.com/tesseract-ocr/tessdata/archive/3.04.00.tar.gz
tar xvf 3.04.00.tar.gz
mv tessdata-3.04.00/* /usr/share/tesseract-ocr/tessdata/‍‍‍

Obrigado