合同系统中,一般流程是线上拟稿、审批、定稿,然后线下打印定稿的合同并且存档。当拿到一个纸质合同,需要去线上系统查询当时的合同拟制过程,那如何快速定位到这个文档,是一个问题。通用的做法是,将该文档的线上访问url,生成一个二维码,放到文档首页或最后一页。接下来介绍一下如何通过zOffice的Open API将一个或多个二维码批量插入到word文档中。
zOffice简介
zOffice提供云端Office能力,包括Word、Excel、PPT三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。
官网链接: https://www.filez.com/zoffice
集成介绍文档:http:// https://lenovocloud.zbox.filez.com/l/a0OsO0
批量插入二维码
插入步骤:
1. 在合同文档模板的合适位置,插入二维码书签
2. 调用zOffice Open API的书签替换功能
3. 等待回调通知
书签替换API介绍
接口说明
POST {apiPrefix}/content/update
提交文档内容操作任务
- 任务添加失败,同步返回失败原因
- 任务添加成功,同步返回任务ID。第三方可以配置任务回调通知获取任务状态。
请求体
Content-Type为application/json
参数名 | 类型 | 说明 | 是否必须 |
fileUrl | string | 文件下载地址 | 是 |
filename | string | 包含后缀的文件名,目前源文件类型仅支持doc/docx/wps | 是 |
tokenType | string | 三方token类型,值为cookie或者header | 否 |
tokenValue | string | 三方token值,zOffice下载文件或回调通知时回传 | 否 |
callback | string | 回调地址。任务结束后zOffice回调通知状态 | 是 |
ops | 数组 | 对文档内容操作的有序操作数组,数组对象见下方op说明。 | 是 |
ops说明
选项名 | 选项类型 | 是否必须 | 说明 |
args | BookmarkRef数组 | 是 | BookmarkRef对象包含四个属性: bookname dataType dataRef refName |
- bookname: 书签名。书签名不存在时,对应替换会被忽略,但不会影响其他书签替换。
- dataType: 书签引用类型。可选值TEXT,DOC,PIC。分别对应引用内容为字符串,文档,图片。
- dataRef: 书签引用内容。
- dataType为TEXT时,该值为字符串;
- dataType为DOC或PIC时,该值为下载对应文件的URL。
- 请求URL要求返回对应的文件流,其他无限制。
- refName: 书签引用名称。
- dataType为TEXT时,该值可以省略;
- dataType为DOC或PIC时,该值为dataRef对应带后缀的文件名,请确保文件后缀名正确,否则会导致套红结果不符预期
正确返回:
{
"taskId": "6f6598c8-c87e-420b-b6c4-6f1b187201dc",
"code": "Ok",
"detail": {
"taskStatus": "IN_QUEUE"
}
}
错误返回:
{
"taskId": "695fbf6e-90d2-42ba-83d5-00e81e5e366e",
"code": "TaskQueueCongestion",
"detail": {
"taskStatus": "FAIL"
}
}
限制
同一次文档内容替换,若actId为UpdateBookmarkRef,仅允许有一个
替换二维码
request请求体示例
{
"fileUrl": "http://{{thirdparty-demo}}/v2/context/sample.docx/content",
"filename": "sample.docx",
"callback": "http://{{thirdparty-demo}}/v2/context/callbackurl",
"ops": [
{
"actId": "UpdateBookmarkRef",
"options": {
"args": [
{
"bookname": "文档线上访问地址二维码",
"dataType": "PIC",
"dataRef": "http://{{thirdparty-demo}}/v2/context/local-PublicAPI-contentUpdate-updateBkRef-pic/content",
"refName": "qrcode.png"
},
{
"bookname": "公司官网二维码",
"dataType": "PIC",
"dataRef": "http://{{thirdparty-demo}}/v2/context/local-PublicAPI-contentUpdate-updateBkRef-body/content",
"refName": "webqrcode.png"
},
{
"bookname": "公司app下载二维码",
"dataType": "PIC",
"dataRef": "http://{{thirdparty-demo}}/v2/context/local-PublicAPI-contentUpdate-updateBkRef-body/content",
"refName": "appqrcode.png"
}
]
}
}
]
}
插入二维码的效果
总结
使用 zOffice Open API提供的文档操作能力,可以快速插入二维码等其他想要插入的图片内容,帮助业务系统批量操作,提高效率,安全快捷的处理业务流转过程中的线上环节。
另外,zOffice提供非常丰富的其他集成能力,您可以在论坛中搜索zOffice获取更多内容。相信利用zOffice,您可以更高效地生成各类业务文档,从而极大的提高您的办公自动化效率。