Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Higor Roberto

Lendo PDF com Tesseract OCR PHP

Recommended Posts

Olá pessoal, bom dia.

Estou usando o tesseract orc para leitura de imagens, ele captura os caracteres da imagem e atribui em uma variável.

Segue meu codigo:

<?php

$file = 'image.png';
if(file_exists($file)){
	require_once ('TesseractOCR.php');
	$tesseract = new TesseractOCR($file);
	$text = $tesseract->recognize();
	echo $text; // Texto da imagem
} else {
	echo ' Não existe';
} 

Com imagens comuns ele funciona perfeitamente, o problema é quando eu tento abrir um arquivo .pdf.

 

Vocês já usaram tesseract e conseguiram ler arquivos .pdf?

Aceito sugestões de outras ferramentas para php.

Obrigado desde já.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usei alguns softwares de OCR em um projeto da UFPR. O Tesseract foi um deles (o melhor na época).

 

O que você pode fazer é converter o PDF em imagem antes de rodar o OCR. A lib ImageMagick faz isso fácil, com o comando convert, no terminal. A lib ImageMagick do PHP também deve ter essa opção, caso não queira rodar o comando direto no terminal com exec()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, obrigado pela ajuda. Acabei de conseguir com as dicas que vc me forneceu.

Utilizo o S.O ubuntu 14.04.

 

Passos que eu segui:

 

Instalei o ImageMagick com o comando

sudo apt-get install php5-imagick
sudo php5enmod imagick

Segui as dicas de instalação desse site: http://askubuntu.com/questions/560696/having-problems-installing-imagemagick-on-ubuntu-14-04

 

Depois dei um phpinfo() para ver se realmente a biblioteca imagick estava instalado no php e fiz um teste para converter o meu arquivo .pdf para jpg. (Detalhe: no meu caso eu restartei o meu servidor apache2)

<?php

// instantiate Imagick 
$im = new Imagick();

$im->setResolution(300,300);
$im->readimage('TutorialPDF.pdf[0]'); // Numero da pagina do arquivo .pdf 
var_dump($im);
$im->setImageFormat('jpeg');   
$im->writeImage('img.jpg'); // Nome da imagem que será criada
$im->clear(); 
$im->destroy();

Ok! a imagem esta salva na pasta :-)

 

Agora eu usarei o tesseract, instalei com o comando

sudo apt-get install tesseract-orc

Baixei a classe do tesseract https://github.com/thiagoalessio/tesseract-ocr-for-php/tree/master/TesseractOCR

 

E testei com o seguinte código:

<?php

$file = 'img.jpg';
if(file_exists($file)){
	require_once ('TesseractOCR.php');
	$tesseract = new TesseractOCR($file);
	$text = $tesseract->recognize();
	echo $text;
} else {
	echo ' Não existe';
} 

E voilááá rs

 

No meu navegador apareceu todo meu conteúdo que tinha na imagem.

 

Mais uma vez obrigado Beraldo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Higor,

 

Em primeiro lugar obrigado por compartilhar sua experiência.

 

Eu estou tentando usar o Tesseract para reconhecer imagens simples com números e estou tendo problema com reconhecimento de números onde ele reconhece o 6 e o 8 como sendo o 5.

 

Você teve este problema?

 

Se teve sabe como posso resolver?

 

Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, desculpa star ressuscitando este tópico, mais preciso de uma ajuda urgente. Quero fazer a extração de texto de PDF, no caso farei upload e o texto será extraído, o qual irei gravar no banco. Minha aplicação é em PHP, mas até agora não encontrei nada de OCR que me ajudasse, poderiam me auxiliar com esta questão do Tesseract, É preciso instalar ele pra funcionar ou só baixar a classe e usar como uma qualquer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

realizei os procedimentos aqui descritos (porém com versões atualizadas: Imagick: 3.4.4 x64) porém recebo "Fatal Error" na linha: $im->readimage($_SERVER['DOCUMENT_ROOT'].'/cvm/Teste1.PDF'); // Numero da pagina do arquivo .pdf.

 

O PHP reconhece a extension Imagick (phpinfo): 

imagick module version 3.4.4
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version ImageMagick 7.0.7-11 Q16 x64 2017-11-23 http://www.imagemagick.org
Imagick using ImageMagick library version ImageMagick 7.0.8-68 Q16 x64 2019-10-05 http://www.imagemagick.org
ImageMagick copyright Copyright (C) 1999-2018 ImageMagick Studio LLC
ImageMagick release date 2019-10-05
ImageMagick number of supported formats: 247

 

alguma ideia? 

Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.