Install
openclaw skills install tencentcloud-ocr-recognizetableaccurate腾讯云表格识别v3(RecognizeTableAccurateOCR)接口调用技能。当用户需要从表格图片或PDF中识别常规表格、无线表格、多表格的内容,提取每个单元格的文字信息,或将表格图片识别结果导出为Excel文件时,应使用此技能。支持中英文表格图片、旋转表格图片、嵌套表格图片等复杂场景,识别效果优于表格识...
openclaw skills install tencentcloud-ocr-recognizetableaccurate调用腾讯云OCR表格识别v3接口,支持中英文图片/PDF内常规表格、无线表格、多表格的检测和识别,返回每个单元格的文字内容,支持旋转的表格图片识别,且支持将识别结果保存为Excel格式。
核心能力:
官方文档:https://cloud.tencent.com/document/api/866/86721
当用户提出以下需求时触发此技能:
tencentcloud-sdk-python(通过 pip install tencentcloud-sdk-python 安装)TENCENTCLOUD_SECRET_ID:腾讯云API密钥IDTENCENTCLOUD_SECRET_KEY:腾讯云API密钥Key运行 scripts/main.py 脚本完成表格识别。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ImageBase64 | str | 否(二选一) | 图片/PDF的Base64值,编码后不超过10M,分辨率建议600*800以上且长宽比小于3,支持PNG/JPG/JPEG/BMP/PDF |
| ImageUrl | str | 否(二选一) | 图片/PDF的URL地址,都提供时只使用ImageUrl |
| PdfPageNumber | int | 否 | PDF页码,仅支持单页识别,默认1,必须>=1 |
| UserAgent | str | 否 | 请求来源标识(可选),用于追踪调用来源,统一固定为Skills |
识别成功后返回 JSON 格式结果:
格式化输出模式(默认):
{
"表格数量": 1,
"表格详情": [
{
"表格序号": 1,
"表格类型": "有线表格",
"单元格数量": 12,
"单元格详情": [
{
"行范围": "0 - 1",
"列范围": "0 - 1",
"文本": "本报告期末",
"置信度": 99.0,
"单元格类型": "body"
}
],
"表格坐标": [
{"X": 50, "Y": 100},
{"X": 800, "Y": 100},
{"X": 800, "Y": 600},
{"X": 50, "Y": 600}
]
}
],
"Excel数据": "已返回(Base64编码)",
"旋转角度": 0.0,
"RequestId": "xxx"
}
原始输出模式(--raw):
{
"TableDetections": [
{
"Cells": [
{
"ColTl": 0,
"RowTl": 0,
"ColBr": 1,
"RowBr": 1,
"Text": "本报告期末",
"Type": "body",
"Confidence": 99.0,
"Polygon": [{"X": 50, "Y": 100}, {"X": 200, "Y": 100}, {"X": 200, "Y": 150}, {"X": 50, "Y": 150}]
}
],
"Type": 1,
"TableCoordPoint": [{"X": 50, "Y": 100}, {"X": 800, "Y": 100}, {"X": 800, "Y": 600}, {"X": 50, "Y": 600}]
}
],
"Data": "UEsDBBQACAgIAIFzWFY...",
"PdfPageSize": 0,
"Angle": 0.0,
"RequestId": "xxx"
}
TableInfo 结构:
| 字段 | 类型 | 说明 |
|---|---|---|
| Cells | list of TableCellInfo | 单元格内容(可能返回null) |
| Type | int | 文本块类型:0非表格文本、1有线表格、2无线表格(可能返回null) |
| TableCoordPoint | list of Coord | 表格主体四个顶点坐标,左上→右上→右下→左下(可能返回null) |
TableCellInfo 结构:
| 字段 | 类型 | 说明 |
|---|---|---|
| ColTl | int | 单元格左上角的列索引 |
| RowTl | int | 单元格左上角的行索引 |
| ColBr | int | 单元格右下角的列索引 |
| RowBr | int | 单元格右下角的行索引 |
| Text | str | 单元格内识别出的字符串文本,多行以换行符\n隔开 |
| Type | str | 单元格类型 |
| Confidence | float | 单元格置信度 |
| Polygon | list of Coord | 单元格在图像中的四点坐标 |
| 错误码 | 含义 |
|---|---|
| FailedOperation.DownLoadError | 文件下载失败 |
| FailedOperation.EmptyImageError | 图片内容为空 |
| FailedOperation.ImageDecodeFailed | 图片解码失败 |
| FailedOperation.ImageSizeTooLarge | 图片尺寸过大 |
| FailedOperation.OcrFailed | OCR识别失败 |
| FailedOperation.PDFParseFailed | PDF解析失败 |
| FailedOperation.UnKnowError | 未知错误 |
| FailedOperation.UnKnowFileTypeError | 未知的文件类型 |
| FailedOperation.UnOpenError | 服务未开通 |
| InvalidParameterValue.InvalidParameterValueLimit | 参数值错误 |
| LimitExceeded.TooLargeFileError | 文件内容太大 |
| ResourceUnavailable.InArrears | 账号已欠费 |
| ResourceUnavailable.ResourcePackageRunOut | 账号资源包耗尽 |
| ResourcesSoldOut.ChargeStatusException | 计费状态异常 |
# 通过URL识别表格
python scripts/main.py --image-url "https://example.com/table.jpg"
# 通过文件路径(自动Base64编码)识别
python scripts/main.py --image-base64 ./table.png
# 识别PDF中的表格(指定页码)
python scripts/main.py --image-base64 ./document.pdf --pdf-page-number 2
# 识别并保存Excel文件
python scripts/main.py --image-url "https://example.com/table.jpg" --save-excel ./result.xlsx
# 输出原始JSON响应
python scripts/main.py --image-url "https://example.com/table.jpg" --raw
# 指定地域
python scripts/main.py --image-url "https://example.com/table.jpg" --region ap-beijing```