当前位置:首页 > PHP

php 实现 ocr

2026-01-30 04:49:16PHP

PHP 实现 OCR 的方法

PHP 可以通过集成第三方 OCR 库或 API 实现文本识别功能。以下是几种常见的方法:

使用 Tesseract OCR

Tesseract 是一个开源的 OCR 引擎,支持多种语言。可以通过 PHP 调用 Tesseract 命令行工具或使用包装库。

安装 Tesseract:

sudo apt install tesseract-ocr
sudo apt install libtesseract-dev

通过 PHP 调用 Tesseract:

$imagePath = 'path/to/image.png';
$outputPath = 'path/to/output.txt';

// 执行 Tesseract 命令
exec("tesseract $imagePath $outputPath");

// 读取识别结果
$text = file_get_contents($outputPath . '.txt');
echo $text;

使用 thiagoalessio/tesseract_ocr 包装库:

require 'vendor/autoload.php';
use thiagoalessio\TesseractOCR\TesseractOCR;

echo (new TesseractOCR('path/to/image.png'))
    ->lang('eng')
    ->run();

调用云 OCR API

许多云服务提供 OCR 功能,如 Google Cloud Vision、Azure Computer Vision 或百度 OCR。

Google Cloud Vision 示例:

require 'vendor/autoload.php';
use Google\Cloud\Vision\VisionClient;

$vision = new VisionClient([
    'keyFilePath' => 'path/to/service-account.json'
]);

$image = $vision->image(file_get_contents('path/to/image.png'), ['TEXT_DETECTION']);
$result = $vision->annotate($image);

foreach ($result->text() as $text) {
    echo $text->description() . PHP_EOL;
}

百度 OCR 示例:

$image = file_get_contents('path/to/image.png');
$base64 = base64_encode($image);

$url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=YOUR_ACCESS_TOKEN";
$data = ['image' => $base64];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
print_r($result['words_result']);

使用本地 PHP OCR 库

php-ocr 是一个纯 PHP 实现的 OCR 库,适合简单需求。

安装:

composer require smalot/pdfparser

示例代码:

require 'vendor/autoload.php';
use Smalot\PdfParser\Parser;

$parser = new Parser();
$pdf = $parser->parseFile('path/to/document.pdf');
$text = $pdf->getText();
echo $text;

注意事项

  • Tesseract 对图像质量要求较高,预处理(如二值化、降噪)能提升识别率。
  • 云 API 通常有调用限制和费用,需注册并获取 API Key。
  • 本地库适合轻量需求,复杂场景建议使用 Tesseract 或云服务。

php 实现 ocr

标签: phpocr
分享给朋友:

相关文章

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaS…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class…

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE o…

php实现即时通讯

php实现即时通讯

PHP 实现即时通讯的方案 即时通讯(IM)可以通过多种方式实现,PHP 作为服务器端语言,通常需要结合前端技术(如 WebSocket、AJAX)或第三方服务来实现实时通信。以下是几种常见的实现方式…