在集成毕升Office之后,Office文件编辑的内容将作为中间数据保持在毕升Office服务器端的数据库中。在所有用户退出编辑,服务器在一是1分钟内如果没有收到任何关于该文档的修改数据之后,会将中间数据写回到office文件中去,并且生成包含新内容的office文件。对于集成方,如果需要获得这些文件,需要实现一个回存服务。
回存服务:是集成方实现的一个post请求,该请求将会被毕升Office从服务器端调用,并且将新生产的Office文件以及其他的数据文件的下载地址发送到集成方回存服务。集成方的回存服务在收到这个post请求后,可以按照需要进行处理。
编辑毕升Office配置文件(/bisheng_data/workspace/config/config.yml),在配置文件中增加如下如下内容:
apis:
postapiurl: http://192.168.2.66:9090/api/file/saveBack

修改毕升Office的配置之后,需要重启毕升Office服务
bash upNodes.sh
回存服务是一个post请求,该请求body内容如下格式:
{
"docId":"",
"action":"saveBack",
"data":{
}
}
返回值
{
"status": true
}
其中docId是当前文档的ID,action指定了本次post来的数据是关于文档回存的。data的内容是本次文档回存的具体数据。此时的data的格式为:
{
"docId":"",
"docURL":"",
"docUrlEncode":"",
"fileType": "" #文件类型docx、xlsx、pptx
"modifyBy":[{
"uid":"",
"oid":"",
"avatar":"",
"nickName":""
}],
unchanged: true/false,
"pngUrl":"",
"txtUrl":"",
"txtUrlEncode":"",
"pngUrlEncode":"",
"opts": {
"versionId": "",
"fromUser": true #用户点击新版本回存,如果是系统自动回存则不会回传该参数
}
}
各部分key的意义是:
docId 是当前回存文档的ID,
docURL是修改完最新的文件的下载地址;
docUrlEncode: docURL的base64编码,用于用户对docURL进行校验
unchanged 是标示这个文件有没有被修改;
pngUrl这个文件最新的缩略图;
pngUrlEncode:pngUrl的base64编码,用于用户对pngUrl进行校验
txUrl 这个文件最新提取的文本;
txtUrlEncode: txUrl的base64编码,用于用户对txUrl进行校验
modifyBy:这个文件在这次编辑过程中被哪些人修改过。: docURL的base64编码,用于用户对docURL
unchanged: 是标示这个文件有没有被修改;
pngUrl这个文件最新的缩略图;
pngUrlEncode:pngUrl的base64编码,用于用户对pngUrl进行校验
txUrl 这个文件最新提取的文本;
txtUrlEncode: txUrl的base64编码,用于用户对txUrl进行校验
reportUrl: 文件中的批注,修订,以及脚注内容抽取组成的json文件。【只包含在付费版中】
reportUrlEncode: reportUrl地址的base64编码,用于用户对reportUrl进行校验
modifyBy:这个文件在这次编辑过程中被哪些人修改过。
versionIdx: 当前回存文档的版本。
其中需要特别指出是时:为了便于集成方在开发过程中避免URL地址解码问题,在提供直接地址的同时,还提供了这些地址的base64编码值。集成方在使用直接地址进行文件下载文件有问题时,可以:1. 自行处理地址的编码问题。2. 解码该地址对应的base64编码值,使用解码后地址来替代原来地址下载文件。
注意这些都是相对于毕升Office所在服务器的相对地址,在使用时需要加上http(s): //IP(毕升Office域名),同时这些地址有效期约60分钟。
备注:unchanged为true的情况下,表示该文档没有更改,此时docUrl 可能为空也可能为该文档原始地址,或者是该文档上一次更改产生的结果。此时集成方系统需要根据实际情况进行处理。官方建议是:可以更加docUrl的类型进行处理;可以不做任何处理。
有如下几种情况将会触发系统回存服务:
在默认情况下,Office服务端生成回存包含的文件类型只有office文件。如果需要包含pdf, 缩略图,文本内容以及批注,修订,脚注等内容的提出,可以安装如下格式修改配置文件(配置文件位于/bisheng_data/workspace/config/config.yml)。
export:
document:
pdf: false #是否导出pdf
text: false #是否导出文本内容
png: false #是否导出缩略图
reports:
bookmark: true #书签
contentcontrol: true #内容控件
comment: true #批注
outline: true #大纲导航
footnote: true #脚注
trackchange: true #修订
sealshape: true #签章对象
excel:
pdf: false
text: false
png: false
reports:
comment: true
presentation:
pdf: false
text: false
png: false
以上配置项直接添加到/bisheng_data/workspace/config/config.yml中,并且把你需要的导出的数据类型对应的值改为true。