伯索开放平台
首页API文档SDK文档伯索官网
首页API文档SDK文档伯索官网
  1. SDK接入文档
  • 产品介绍
    • SDK简介
    • SDK支持的业务场景
    • 产品特色
  • 产品功能
    • 实时课堂功能介绍
    • 微课功能介绍
    • 作业批改功能介绍
    • 上传课件功能介绍
    • SDK后台功能介绍
  • 接入指引
    • SDK对接标准流程说明
    • 关键概念
  • SDK接入文档
    • 历史课堂数据回调接入
    • 签名示例
    • 历史课堂转视频接入方式
    • 历史课堂/微课下载接口
    • query参数说明
    • 文档解析接口
    • SDK预解析服务接入说明
    • Web SDK
      • PlasoStyleUpime API说明
      • 云盘接入
      • 直播SDK
        • 快速接入
      • 微课SDK
        • 快速接入
      • 批注SDK
        • 快速接入
    • Android SDK
      • 直播SDK
        • 快速接入
      • 微课SDK
        • 快速接入
      • 批注SDK
        • 快速接入
    • iOS SDK
      • 直播SDK
        • 快速接入
      • 微课SDK
        • 快速接入
      • 批注SDK
        • 快速接入
    • 播放器SDK
      • Web播放器
    • 「伯索云学堂」跳转接入指南
      • 跳转接入指南
  • 最佳实践
  • Open API帮助文档
    • Open API 主要功能
    • Open API集成常用场景
    • 数据字典
    • 接入须知
      • 调用流程
      • 在线调试
      • 通用错误码
    • 用户信息管理
      • 添加用户
      • 修改密码
      • 删除用户
      • 更新用户
      • 用户精确查询
      • 查询多个用户
      • 用户访问Token
      • 验证用户Token有效期
      • 批量添加用户
      • 恢复删除的用户
      • 随机分配课程顾问
    • 教材包管理
      • 查询机构教材包
      • 查询教材包内教材
      • 向学生分发教材包
    • 实时课堂管理
      • 创建实时课堂
      • 创建实时课堂(班)
      • 更新实时课堂
      • 更新实时课堂(班)
      • 删除实时课堂
      • 查询实时课堂列表
      • 更新实时课堂下听众用户
      • 获取实时课堂监控地址
      • 控制单个学员是否可以回看单次课
      • 获取单个课堂的回看地址
      • 删除单个历史课堂
      • 获取课堂考勤数据
      • 获取历史课堂信息
      • 获取历史课堂观看数据
      • 获取课堂互动信息
      • 获取课堂列表(新)
      • 获取实时课堂旁听链接
      • 获取极速直播推流地址
      • 获取课堂下板书图片
    • 班级管理
      • 创建班级
      • 更新班级
      • 删除班级
      • 查询班级列表
      • 向班级中添加学生
      • 从班级中移除学生
      • 更换学生所在班级
      • 老师列表中查询机构分校学科
      • 根据班级获取获取班级详情和人员信息
    • 学情数据
      • 获取学生课堂明细数据
      • 获取学生巩固明细数据
      • 获取学生测验明细数据
      • 获取学生辅导明细数据
      • 获取学生积分明细数据
    • 商城管理
      • 获取商品详情
      • 获取商品列表
      • 获取分校自定义商品栏目列表
      • 订单查询
      • 订单详情查询
    • 作业管理
      • 查询学生作业列表
      • 查询老师作业列表
    • 测验管理
      • 查询机构测评列表
      • 获取测评统计
      • 查询机构测验列表
      • 获取测验明细
    • 积分管理
      • 机构积分规则
      • 查下学生当前积分数
      • 查下机构每天的积分明细记录
  • 产品更新记录
    • Open API 更新日志
    • SDK 更新日志
  • 常见问题
    • PPT制作事项
    • 课件常见问题与解决方法
    • 网络相关问题
    • 声音相关问题
    • 网络测速
  • 推荐
    • 浏览器推荐
    • 常见软件推荐
    • 教育硬件推荐
  • 历史课堂视频
    POST
  • 查询历史课堂
    POST
  1. SDK接入文档

SDK预解析服务接入说明

预解析服务架构与接入(服务端部署 → 客户端使用)#

本文面向需要接入文档解析接口能力的后端与客户端团队,说明从服务端如何实现与对接预解析服务,到客户端/前端如何调用使用。

架构总览#

组件说明:
文件服务端(需要自行实现,可参考https://github.com/PlasoOpenPlatform/DocParseDemo)
上传原文件到对象存储(OSS)
调用“文档解析服务”创建解析任务
接收解析服务回调,更新任务状态
按“解析产物目录 + suffix”生成短时签名URL并返回
对象存储(OSS)
存放原文件与解析文件;由文件服务端签发短时URL
客户端
触发上传、轮询状态、获取解析文件列表
接入客户端SDK
实现SDK回调函数 getPreParseFileName(info, suffix, callback)
文档解析服务
伯索云提供相关解析接口文档解析接口
端到端流程:
1.
客户端上传文件 → 文件服务端入库并上云存储;
2.
文件服务端调用解析服务创建任务,记录 taskId;
3.
解析完成后回调到文件服务端 → 标记文件状态为 completed,并记录解析产物目录 targetPath;
4.
客户端按需请求文件签名,携带 suffix(如 /1.jpg、/index.html),文件服务端拼接并签发短时 URL 返回;
5.
客户端用签名URL加载图片/HTML/JSON 等解析结果。

文件服务端参考#

https://github.com/PlasoOpenPlatform/DocParseDemo
实现要点,实际以自有后端为准:
1.
文件上传和任务创建 (/api/files/upload)
接收前端上传的文件。
将文件上传到您自己的阿里云OSS Bucket中,得到文件ossKey。
调用文档解析服务的 POST /parser 接口,请求中传入上一步得到的sourcePath (oss://<your-bucket>/<ossKey>) 和用于接收结果的callbackUrl。
在本地保存文件信息(包含sourcePath)和返回的taskId。
2.
回调处理 (/api/callback/document)
创建一个公网可访问的接口,用于接收文档解析服务的异步回调。
回调请求的Body中会包含任务id、任务状态taskStatus和转换页数convertPages。
根据id找到对应的文件记录,将convertPages等信息保存下来,同时将文件状态更新为completed或failed。
3.
获取解析文件 (/api/files/:fileId/parsed-url)
为前端提供一个接口,用于获取最终解析产物(如图片)的访问地址。
此接口接收fileId和具体的文件名suffix(例如 1.jpg)作为参数。
根据 fileId 从存储中查询到原始的 sourcePath。
从 sourcePath (oss://<bucket>/<ossKey>) 中提取 ossKey。
构造解析产物的完整 Object Key:<ossKey>_i/<suffix>。
使用ali-oss的signatureUrl方法为该 Object Key 生成一个带签名的、有时间限制的公开访问URL,并返回给前端。
4.
解析文件信息(导出板书使用) (/api/files/parsedInfo)
为导出板书提供解析后的信息。包括解析后的路径,stsToken
参数透传客户端插入的info信息,服务端根据info找到对应文件
stsInfo获取参考

客户端接入参考#

本节给出客户端(Android/iOS/PC前端)接入要点与详细用法,以Android端为例,包含预解析 PPT/PDF 的 UpimeObject 规范、回调契约与调用时序。若你的场景同时包含“非预解析”资源,请参考getExtFileName 的说明。
iOS端请参考资料中心章节
PC端请参考资料中心
Android端详细参考资料中心

5.1 Android/SDK 回调约定#

getPreParseFileName(预解析资源使用)
方法签名(Kotlin):fun getPreParseFileName(info: Any?, suffix: String?, callback: IResourceCallback?)
语义:基于预解析文件标识(info)与页面后缀(suffix)计算资源URL(含签名),成功回调 callback.onFilePath(realUrl),失败回调 callback.onFilePath(null)(建议主线程)。
实施要点:
从 info 中提取解析目录 id(推荐:List 结构,包含键 id,例如 ["parsed", {"id":"777777..."}])。
对 suffix 进行 URL 编码后,请求后端接口:GET /api/files/{id}/parsed-url?suffix=...
将返回结果中的 url 透传给 SDK:callback.onFilePath(url)。
getExtFileName(非预解析资源使用)
方法签名(Kotlin):fun getExtFileName(info: Any?, callback: IResourceCallback?)
语义:基于插入时的 info 计算资源直链(含签名),成功回调 callback.onFilePath(realUrl);失败回调 callback.onFilePath(null)。
提示:suffix 用于参与地址拼接与签名,若包含查询参数(如图片处理),请整体进行 URL 编码后再传入服务端签名。

5.2 预解析 PPT(iSpring)用法#

1.
创建 UpimeObject 并插入:
2.
SDK 会回调 getPreParseFileName,接入方实现:
3.
调用时序(示意):
详细实现逻辑可参考demo

5.3 预解析 PDF 用法#

1.
创建 UpimeObject 并插入:
2.
SDK 会回调 getPreParseFileName,接入方实现:
3.
调用时序(示意):
详细实现逻辑可参考demo
常见 suffix 参考:
PPT(iSpring):/index.html、/ispring.html
PDF:/1.jpg、/2.jpg、/info.json、/1.jpg?x-oss-process=...
建议:
suffix 含有 “/”、“?” 等时统一进行 URL 编码;
回调尽量在主线程内返回结果,异常场景及时回调 null,避免 SDK 阻塞。
修改于 2025-10-28 02:36:08
上一页
文档解析接口
下一页
PlasoStyleUpime API说明
Built with