Jump to content
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á.

 

Share this post


Link to post
Share on other 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()

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.