快速开始
介绍
FastOCR 提供简单易用的 RESTful API 接口,让您能够快速集成 OCR 文字识别功能到您的应用程序中。 本文档将帮助您快速了解如何使用我们的 API。
API 接口
POST https://api.fastocr.icu/ocr请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | 要识别的图片文件(支持 JPG、PNG、BMP 等格式) |
代码示例
JavaScript (Fetch API)
const formData = new FormData();
formData.append('file', fileInput.files[0]);
fetch('https://api.fastocr.icu/ocr', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log('识别结果:', data);
})
.catch(error => {
console.error('错误:', error);
});Python (Requests)
import requests
url = 'https://api.fastocr.icu/ocr'
files = {'file': open('image.jpg', 'rb')}
response = requests.post(url, files=files)
result = response.json()
print('识别结果:', result)cURL
curl -X POST https://api.fastocr.icu/ocr \
-F "file=@/path/to/image.jpg"Node.js (Axios)
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const formData = new FormData();
formData.append('file', fs.createReadStream('image.jpg'));
axios.post('https://api.fastocr.icu/ocr', formData, {
headers: formData.getHeaders()
})
.then(response => {
console.log('识别结果:', response.data);
})
.catch(error => {
console.error('错误:', error);
});响应格式
API 返回 JSON 格式的数据,包含识别出的文字信息和位置坐标。
{
"words": [
{
"text": "识别出的文字内容",
"left": 53.90625,
"top": 79.6875,
"right": 508.59375,
"bottom": 171.09375,
"rate": 0.9983862042427063
},
{
"text": "第二行文字",
"left": 56.25,
"top": 227.34375,
"right": 649.2186889648438,
"bottom": 288.28125,
"rate": 0.9859622716903687
}
]
}字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| words | Array | 识别结果数组,每个元素包含一段文字及其位置信息 |
| text | String | 识别出的文字内容 |
| left, top, right, bottom | Number | 文字在图片中的边界框坐标(像素) |
| rate | Number | 识别置信度(0-1之间,越接近1表示识别越准确) |
错误处理
API 使用标准 HTTP 状态码表示请求结果:
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功,返回识别结果 |
| 422 | 请求参数错误(如未上传文件、文件格式不支持等) |
| 500 | 服务器内部错误 |
错误处理示例:
const response = await fetch('https://api.fastocr.icu/ocr', {
method: 'POST',
body: formData
});
if (!response.ok) {
// 根据状态码处理错误
if (response.status === 422) {
console.error('请求参数错误,请检查上传的文件');
} else if (response.status === 500) {
console.error('服务器错误,请稍后重试');
}
throw new Error(`请求失败: ${response.status}`);
}
const data = await response.json();最佳实践
- •上传清晰、光线充足的图片以获得更好的识别效果
- •建议图片分辨率在 1000x1000 像素以上
- •图片中的文字应尽量保持水平,避免倾斜
- •单次上传图片大小建议不超过 10MB
- •实现适当的错误处理和重试机制