PHP如何接入百度提供的图片识别转文字(图片提取文字)的接口API?(附带源代码、接入教程)

作品, 技术, 资源  ·  2025年04月03日

废话不多说,直接看效果预览(截图)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

百度开放平台 是否有图片转文字文字识别的接口API?

当然有!

百度开放平台确实提供图片转文字的OCR文字识别接口API,具体接口信息及调用方式如下:

‌一、核心接口功能‌

‌通用文字识别‌ 支持识别印刷体文字,包含中英文及数字,适应常规图片场景‌。 ‌网络图片文字识别‌

优化复杂背景、艺术字体等网络图片的识别,支持返回文字位置、行置信度等详细信息‌。 ‌多语言与格式支持‌

支持中文简/繁体、英文、日语、韩语等多种语言,兼容JPG、PNG、BMP等常见图片格式‌。

‌二、接入流程‌

注册与创建应用‌

登录百度AI开放平台,在控制台选择“文字识别”服务,创建应用并填写相关信息(如应用名称、场景描述)‌。

创建完成后,系统生成唯一的API Key和Secret Key,需妥善保存‌25。 ‌获取Access Token‌

调用接口前需通过API Key和Secret Key获取访问令牌(Access Token)。示例代码如下(Python):

require('config.php');

API_KEY = "your_api_key";
SECRET_KEY = "your_secret_key";
$token_url = "https://aip.baidubce.com/oauth/2.0/token";
$params = {
    "grant_type": "client_credentials",
    "client_id": API_KEY,
    "client_secret": SECRET_KEY
}
$response = curl_post(token_url, params);
$access_token = $resonponse["access_token"];

‌调用OCR接口‌

通过HTTP请求调用接口,支持直接上传图片(Base64编码)或传递图片URL。示例代码片段:
<?php
require 'config.php';

header('Content-Type: application/json');

// 检查文件上传
if (empty($_FILES['image'])) {
    echo json_encode(['error' => '未上传图片']);
    exit;
}

$file = $_FILES['image'];

// 验证文件类型和大小(<2MB)
$allowedTypes = ['image/jpeg', 'image/png', 'image/bmp'];
if (!in_array($file['type'], $allowedTypes) || $file['size'] > 2097152) {
    echo json_encode(['error' => '仅支持JPEG/PNG/BMP格式且小于2MB的图片']);
    exit;
}

// 获取Access Token
$tokenParams = [
    'grant_type'    => 'client_credentials',
    'client_id'     => API_KEY,
    'client_secret' => SECRET_KEY
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, TOKEN_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($tokenParams));
$tokenResponse = curl_exec($ch);
curl_close($ch);

$tokenData = json_decode($tokenResponse, true);
if (!isset($tokenData['access_token'])) {
    echo json_encode(['error' => '获取Token失败: ' . $tokenData['error_description']]);
    exit;
}

// 图片转Base64
$imageData = base64_encode(file_get_contents($file['tmp_name']));

// 调用OCR接口
$ocrParams = [
    'access_token' => $tokenData['access_token'],
    'image'        => $imageData
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, OCR_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($ocrParams));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$ocrResponse = curl_exec($ch);
curl_close($ch);

$ocrData = json_decode($ocrResponse, true);

// 处理结果
if (isset($ocrData['error_code'])) {
    echo json_encode(['error' => "OCR错误({$ocrData['error_code']}): {$ocrData['error_msg']}"]);
} else {
    $text = '';
    foreach ($ocrData['words_result'] as $item) {
        $text .= $item['words'] . "\n";
    }
    echo json_encode(['text' => trim($text)]);
}

使用说明

‌配置百度OCR‌

登录百度AI开放平台 创建文字识别应用,获取API Key和Secret Key 修改config.php中的配置信息

‌部署要求‌

PHP环境(需开启curl扩展)
支持HTTPS(百度API需要)

运行效果‌

上传图片后显示预览图
返回识别结果
自动换行显示
错误信息会明确提示
扩展优化建议‌

添加图片格式限制提示

增加加载状态指示
添加频率限制防止滥用
缓存Access Token(当前每次请求获取新Token)

此Demo完整实现了图片上传→调用百度OCR→返回识别结果的全流程,可直接部署使用。



示例演示:

演示地址:点击演示



源码下载:

下载地址:点击下载
评论
L
O
A
D
I
N
G
仿支付宝、仿微信APP免费下载,下载地址:点击查看,演示视频:点击查看