ifly-pdf-image-ocr

Polar Sponsor
爱发电 赞助
.NET 9.0

ifly-pdf&image-ocr技能,支持图片OCR(AI驱动的LLM OCR)和PDF文档识别。用于用户请求识别图片、从图片提取文字等场景。

ifly-pdf&image-ocr.AI为图像和PDF文档提供使用iFlytek高级识别API的OCR服务.

功能概述

ifly-pdf&image-ocr.AI为图像和PDF文档提供使用iFlytek高级识别API的OCR服务.是一项面向实际任务的技能,主要用于QQS快速启动.;Image OCR (LLM OCR).;

核心要点

  • PDF OCR.Setup.;
  • API Cnception.;
  • Get credities from。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

ifly-pdf&image-ocr

基于科大讯飞先进识别 API 的图像与 PDF 文档 AI OCR 服务。

快速开始

图像 OCR(LLM OCR)

# 对图像执行 OCR 并提取文本
python3 scripts/image_ocr.py /path/to/image.jpg

# 将结果保存至文件
python3 scripts/image_ocr.py /path/to/image.jpg -o output.txt

# 指定输出格式
python3 scripts/image_ocr.py /path/to/image.jpg --format json
python3 scripts/image_ocr.py /path/to/image.jpg --format markdown

PDF OCR

# 将 PDF 转换为 Word(默认)
python3 scripts/pdf_ocr.py document.pdf

# 将 PDF 转换为 Markdown
python3 scripts/pdf_ocr.py document.pdf --format markdown

# 将 PDF 转换为 JSON
python3 scripts/pdf_ocr.py document.pdf --format json

# 从公开 URL 处理 PDF
python3 scripts/pdf_ocr.py --pdf-url "https://example.com/doc.pdf" --format word

环境配置

API 凭据

请前往科大讯飞开放平台获取凭据:

图像 OCR 所需凭据:

  • APP_ID:应用 ID
  • API_KEY:用于身份验证的 API 密钥
  • API_SECRET:用于请求签名的 API 密钥

PDF OCR 所需凭据:

  • APP_ID:应用 ID
  • API_SECRET:用于生成签名的应用密钥

环境变量

# 图像 OCR 和 PDF OCR 均需设置
export IFLY_APP_ID="your_app_id"

# 图像 OCR 必需
export IFLY_API_KEY="your_api_key"

# PDF OCR 必需
export IFLY_API_SECRET="your_api_secret"

功能特性

图像 OCR(LLM OCR)

  • AI 驱动:基于先进大语言模型的 OCR,识别精度高
  • 多格式输出:支持 JSON、Markdown 或两者同时输出
  • 版面理解:保留原始文档结构
  • 多语言支持:支持多种语言的文本提取
  • 图像预处理:自动校正旋转、去除噪声

PDF OCR

  • AI 驱动 OCR:采用先进 AI 模型,实现高精度文本提取
  • 多种输出格式:
    • Word (.docx) —— 可编辑的 Word 文档
    • Markdown —— 带格式的纯文本
    • JSON —— 结构化数据
  • 大 PDF 支持:单个文档最多支持 100 页
  • 逐页结果:可单独访问每一页的识别结果
  • 下载链接:提供已处理文件的直连下载地址

API 参数说明

图像 OCR 参数

参数 类型 是否必需 说明
image_path string 是 图像文件路径
--format string 否 输出格式:json、markdown、json,markdown(默认值:json,markdown)
--output string 否 将结果保存至指定文件

PDF OCR 参数

参数 类型 是否必需 说明
pdf_path string 是* PDF 文件路径
--pdf-url string 否* PDF 文件的公开 URL
--format string 否 输出格式:word、markdown、json(默认值:word)
--no-poll flag 否 仅返回任务 ID,不轮询查询状态
--poll-interval int 否 轮询间隔(单位:秒;最小值为 5, 默认值:5)
--max-wait int 否 最大等待时间(单位:秒;默认值:300)

*必须提供 pdf_path 或 --pdf-url 中的任意一项

认证方式

图像 OCR(HMAC-SHA256)

采用 HMAC-SHA256 签名认证机制:

  1. 生成符合 RFC1123 格式的日期字符串:EEE, dd MMM yyyy HH:mm:ss GMT
  2. 构造签名原文:host: {host}\ndate: {date}\nPOST {path} HTTP/1.1
  3. 计算签名:HMAC-SHA256(signature_origin, apiSecret)
  4. 构造 Authorization 字段:hmac username="{apiKey}", algorithm="hmac-sha256", headers="host date request-line", signature="{signature}"
  5. 对 Authorization 字段进行 Base64 编码
  6. 作为查询参数发送:?authorization={auth}&host={host}&date={date}

PDF OCR(MD5 + HMAC-SHA1)

采用 MD5 + HMAC-SHA1 签名认证机制:

  1. 生成时间戳(Unix 时间戳,单位:秒)
  2. 计算 auth = MD5(appId + timestamp)
  3. 计算 signature = Base64(HMAC-SHA1(auth, apiSecret))
  4. 在请求头中发送以下字段:
    • appId:应用 ID
    • timestamp:时间戳(单位:秒)
    • signature:生成的签名

重要提示:时间戳必须与服务器时间偏差在 ±5 分钟以内。

响应格式

图像 OCR 响应

{
  "header": {
    "code": 0,
    "message": "success"
  },
  "payload": {
    "result": {
      "text": "Base64-encoded OCR text..."
    }
  }
}

PDF OCR 启动响应

{
  "flag": true,
  "code": 0,
  "desc": "成功",
  "data": {
    "taskNo": "25082744936879",
    "status": "CREATE",
    "tip": "任务创建成功"
  }
}

PDF OCR 状态响应

{
  "flag": true,
  "code": 0,
  "desc": "成功",
  "data": {
    "taskNo": "25082759289333",
    "exportFormat": "word",
    "status": "FINISH",
    "downUrl": "http://bjcdn.openstorage.cn/...",
    "tip": "已完成",
    "pageList": [...]
  }
}

任务状态(PDF OCR)

状态 说明
CREATE 任务创建成功
WAITING 排队等待中
DOING 处理中
FINISH 已完成
FAILED 失败
ANY_FAILED 部分完成(部分页面处理失败)
STOP 已暂停

错误码

(。・ω・。) 嗨

平台通用错误码

错误码 说明 提示 解决方案
10009 input invalid data (◎_◎;) 数据格式有误 检查输入数据是否符合接口要求
10010 service license not enough (╯°□°)╯︵ ┻━┻ 授权数量不足或已过期! 提交工单联系客服
10019 service read buffer timeout (。-`ω´-) session 超时 检查是否数据发送完毕但未关闭连接
10043 Syscall AudioCodingDecode error (◎_◎;) 音频解码失败 检查 aue 参数;若为 speex,请确保音频为 speex 格式、已分段压缩且帧大小一致
10114 session timeout (。-`ω´-) 会话超时 检查是否发送数据耗时超过 60 秒
10139 invalid param (◎_◎;) 参数有误 检查参数是否正确
10160 parse request json error (◎_◎;) 请求数据非合法 JSON 检查请求数据是否为合法 JSON 格式
10161 parse base64 string error (◎_◎;) Base64 解码失败 检查发送的数据是否已做 Base64 编码
10163 param validate error (◎_◎;) 参数校验失败 详见具体错误描述
10200 read data timeout (。-`ω´-) 读取数据超时 检查是否累计 10 秒未发送数据且未关闭连接
10222 context deadline exceeded (╯°□°)╯︵ ┻━┻ 出错啦! 1. 检查上传数据是否超出接口限制;2. SSL 证书无效,请提交工单
10223 RemoteLB: can't find valued addr (◎_◎;) 无法找到服务节点 提交工单联系技术人员
10313 invalid appid (◎_◎;) appid 与 apikey 不匹配 检查 appid 是否合法
10317 invalid version (◎_◎;) 版本号无效 请前往控制台提交工单联系技术人员
10700 not authority (╯°□°)╯︵ ┻━┻ 权限不足! 参照开发文档检查报错原因;如仍无法解决,请提供 sid 及错误信息并提交工单
11200 auth no license (╯°□°)╯︵ ┻━┻ 功能未授权! 检查 appid 是否正确;确认是否已开通对应服务;检查调用量是否超限或授权是否已过期
11201 auth no enough license (╯°□°)╯︵ ┻━┻ 每日调用次数超限! 提交应用审核申请提额,或联系商务购买企业级接口
11503 server error: atmos return error (。-`ω´-) 服务器返回错误数据 提交工单
11502 server error: too many datas (。-`ω´-) 服务器配置异常 提交工单
100001~100010 WrapperInitErr (◎_◎;) 引擎调用出错 请根据 message 中的 errno 查阅引擎错误码说明

其他资源

  • (。・ω・。) 服务购买链接:通用文字识别(OCR大模型版)
  • (。・ω・。) 商务咨询链接:购买服务量

原始 API 错误码

错误码 说明 解决方案
10000 系统错误 检查鉴权信息、请求方法及参数
10001 签名认证失败 检查凭据是否正确
10002 业务处理错误 参考错误消息内容排查
10003 配额/余额不足 检查账户余额

使用限制

图像 OCR

  • 支持格式:常见图像格式(JPG、PNG 等)
  • 文件大小:适用于网页上传的合理尺寸
  • 频率限制:需遵守 API 调用频率限制

PDF OCR

  • 最大页数:单个 PDF 最多支持 100 页
  • 加密 PDF:不支持受密码保护或加密的 PDF
  • 频率限制:状态查询频率限制为每 5 秒一次
  • 时间限制:时间戳必须与服务器时间偏差在 ±5 分钟以内

使用建议

图像 OCR

  1. 高质量图像:使用清晰、高分辨率图像以获得最佳识别效果
  2. 多格式输出:使用 json,markdown 可同时获得结构化数据与带格式文本
  3. 保存结果:使用 -o 参数将 OCR 结果保存至本地文件

PDF OCR

  1. 数学公式:含数学公式的 PDF 推荐使用 Markdown 输出格式
  2. 超大 PDF:若 PDF 超过 100 页,请拆分为多个子文档处理
  3. 轮询间隔:状态查询最小间隔为 5 秒
  4. 网络 URL:确保提供的 PDF URL 公开可访问
  5. 下载时效:下载链接可能过期,请及时下载处理后的文件

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134万人学习