Usando Tesseract OCR (local)
Tesseract é uma ferramenta open-source para OCR. Você precisa instalar no servidor e depois chamar via PHP.
Exemplo:
<?php
// Caminho para a imagem
$imagem = 'exemplo.png';
// Chama o Tesseract via shell
$output = shell_exec("tesseract " . escapeshellarg($imagem) . " stdout");
// Exibe o texto extraído
echo nl2br($output);
?>
✅ Observações:
stdoutfaz com que o resultado seja retornado como string.escapeshellarg()previne problemas de segurança.Precisa que o Tesseract esteja instalado no servidor.
2️⃣ Usando biblioteca PHP: thiagoalessio/tesseract_ocr
Existe uma biblioteca PHP que faz wrapper do Tesseract:
composer require thiagoalessio/tesseract_ocr
Exemplo em PHP:
<?php
require 'vendor/autoload.php';
use thiagoalessio\TesseractOCR\TesseractOCR;
$text = (new TesseractOCR('exemplo.png'))
->lang('por') // idioma português
->run();
echo nl2br($text);
?>
✅ Vantagens:
Mais seguro e organizado que chamar
shell_exec.Permite definir idioma (
eng,por, etc.).
3️⃣ Usando APIs de OCR (mais simples)
Se você não quer instalar nada, pode usar APIs externas, como:
Google Cloud Vision API
OCR.Space
Microsoft Azure OCR
Exemplo rápido com OCR.Space:
<?php
$apiKey = 'SUA_CHAVE_API';
$imageFile = 'exemplo.png';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.ocr.space/parse/image');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'apikey' => $apiKey,
'file' => new CURLFile($imageFile),
'language' => 'por'
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo $result['ParsedResults'][0]['ParsedText'];
?>
✅ Vantagens:
Não precisa instalar nada.
Funciona em qualquer servidor com PHP.
Suporta vários idiomas.
Comentários
Postar um comentário