You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无需Composer安装PHP版Tesseract OCR及XAMPP部署求助

嘿,这事儿我刚好折腾过,给你一步步捋清楚——不用Composer装PHP版Tesseract OCR,还能在XAMPP上跑起来做Web应用,包你能搞定!

1. 先搞定Tesseract OCR引擎本身

PHP的Tesseract库只是个绑定工具,核心得先装官方的Tesseract引擎:

  • Windows:下载官方安装包(选对应系统版本),安装时记得勾选「Add to PATH」;要是漏选了,手动把安装目录(比如C:\Program Files\Tesseract-OCR)加到系统环境变量的PATH里。
  • Linux:用包管理器直接装,Debian/Ubuntu跑sudo apt-get install tesseract-ocr,CentOS/RHEL用sudo yum install tesseract
  • Mac:用Homebrew执行brew install tesseract就行。

装完后打开终端/命令行,输入tesseract --version,能输出版本号就说明引擎装好了。

2. 手动安装PHP的Tesseract绑定库(不用Composer)

我们用php-tesseract-ocr这个常用的绑定库,手动操作:

  1. 下载这个库的源码压缩包(直接搜就能找到),解压后得到带src目录的文件夹。
  2. 把解压后的文件夹放到XAMPP的项目目录里(比如htdocs/your-project/libs),或者PHP的扩展目录也行。
  3. 在你的PHP脚本里,用require_once引入库的核心文件,比如require_once 'libs/php-tesseract-ocr/src/TesseractOCR.php';
3. 配置XAMPP环境(关键步骤!)

确保XAMPP的PHP能找到Tesseract引擎和绑定库:

  • Windows用户:要是安装Tesseract时没加PATH,得在PHP脚本里指定引擎路径,比如实例化时加->executable('C:\Program Files\Tesseract-OCR\tesseract.exe')
  • 所有系统:如果绑定库放在项目外,修改XAMPP的php.ini文件,找到include_path项,把绑定库的路径加进去,比如include_path = ".;C:\xampp\php\pear;C:\path\to\php-tesseract-ocr\src",改完重启XAMPP的Apache服务。
4. 写个测试Web应用试试手

在XAMPP的htdocs里新建ocr-app文件夹,放两个文件:

index.html(上传图片的表单)

<!DOCTYPE html>
<html>
<head>
    <title>PHP Tesseract OCR 测试</title>
</head>
<body>
    <h1>上传图片识别文字</h1>
    <form action="ocr-process.php" method="post" enctype="multipart/form-data">
        <input type="file" name="image" accept="image/*" required>
        <button type="submit">开始识别</button>
    </form>
</body>
</html>

ocr-process.php(处理识别的脚本)

<?php
// 引入Tesseract绑定库
require_once 'libs/php-tesseract-ocr/src/TesseractOCR.php';

use thiagoalessio\TesseractOCR\TesseractOCR;

// 处理上传的图片
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
    $uploadDir = 'uploads/';
    if (!file_exists($uploadDir)) {
        mkdir($uploadDir, 0777, true);
    }
    $uploadFile = $uploadDir . basename($_FILES['image']['name']);
    
    if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadFile)) {
        try {
            // 实例化TesseractOCR,Windows用户记得指定executable路径
            $ocr = new TesseractOCR($uploadFile);
            // 识别中文的话加这句:->lang('chi_sim')
            $text = $ocr->run();
            
            echo "<h2>识别结果:</h2>";
            echo "<p>" . nl2br($text) . "</p>";
        } catch (Exception $e) {
            echo "识别出错:" . $e->getMessage();
        }
    } else {
        echo "图片上传失败!";
    }
}
?>

重启XAMPP的Apache,打开浏览器访问http://localhost/ocr-app/index.html,上传一张带文字的图片,就能看到识别结果啦!

一些小提醒
  • 确保uploads文件夹有写入权限,不然图片传不上去。
  • 识别中文/其他语言,要先装对应语言包:比如Windows下下载chi_sim.traineddata,放到Tesseract安装目录的tessdata文件夹里。
  • 要是遇到「找不到tesseract命令」的错误,检查系统PATH里有没有Tesseract的路径,或者在PHP脚本里手动指定executable路径。

内容的提问来源于stack exchange,提问作者Kaustav Dey

火山引擎 最新活动