WPSOfficeApplet.txt 31.1 KB
Newer Older
Z
zorrosoft 已提交
1
金山WPS网页组件:基于跨浏览器的原生小程序系统-PluginOK中间件( https://github.com/wangzuohuai/WebRunLocal )网络高级版开发,底层调用金山WPS(要求企业或专业增强版)的VBA接口实现可程序化驱动的网页在线编辑办公控件,可分别将WPS文字、WPS表格、WPS演示软件窗口内嵌到网页指定区域运行并操控。
W
wangzuohuai 已提交
2
最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE 8、Opera、Electron、Vivaldi、Brave、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
Z
zorrosoft 已提交
3
金山WPS支持2016及以上的企业版、建议使用支持OFD格式导出的2019企业版(建议下载版本地址:https://ep.wps.cn/download 选择PC版下载),如使用个人版(建议下载版本地址:https://plus.wps.cn/download 选择PC版下载),个人版只支持在非管理员权限启动浏览器时使用。
W
wangzuohuai 已提交
4

W
wangzuohuai 已提交
5
1、PluginOK中间件的安装:
W
wangzuohuai 已提交
6 7 8 9
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况。

Z
zorrosoft 已提交
10
2、金山WPS网页组件控制相关接口:
W
wangzuohuai 已提交
11
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost:83?sid=12345&flag=1)后可执行,如默认侦听端口不是83(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.pdf”),请在连接地址中指定端口号进行连接。
W
wangzuohuai 已提交
12
HTTP在线测试网页:http://local.zorrosoft.com/wordfull.html        HTTPS在线测试网页:https://local.zorrosoft.com/officeframe.html
W
wangzuohuai 已提交
13 14
如还需兼容IE浏览器使用,网络版测试网页中 <object ID="WrlWS" CLASSID="CLSID:C0971B90-4513-4E2D-A0B6-15B915FE748A" width="0" height="0"></object>
的CLSID需要替换为:21ADE2E6-B4DD-4F3E-8BD5-9DDAD1785F3A
Z
zorrosoft 已提交
15 16
前端集成可参考以上测试网页进行,需要嵌入用到的JS脚本,脚本程序是完全开源的。

Z
zorrosoft 已提交
17
1)、请求启动金山WPS网页组件实现网页中局部加载doc/xls/ppt等文档显示:
W
wangzuohuai 已提交
18 19
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Z
zorrosoft 已提交
20
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2显示标题栏 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 128防截屏
21
Web:打开配置(新增方式),可代替Url使用,Flag值+64使用此配置,此命令中必须指定Left、Top、Width、Height的值
Z
zorrosoft 已提交
22
Web中参数说明:
Z
zorrosoft 已提交
23 24
	Edit代表编辑权限(除只读1都支持外,其它只有WPS文字才支持,4和8只有在OLE嵌入方式下生效 其中2、16、32、64、128互斥) 1只读方式打开 2修订模式打开 4禁止另存 8禁止打印 16禁止复制内容 32只能修订 64只能批注 128预览模式
	Hide代表隐藏的界面元素(目前只支持8和16) 1隐藏菜单 2隐藏标准工具栏 4隐藏格式工具栏 8隐藏状态栏 16隐藏右键菜单
Z
zorrosoft 已提交
25
	User代表编辑文档的用户名称 
Z
zorrosoft 已提交
26 27
	PW代表打开文档需要的密码 
	DataPath代表文档查找和保存默认路径
Z
zorrosoft 已提交
28
Url:加载网页组件所在的网页实际地址
W
wangzuohuai 已提交
29
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
W
wangzuohuai 已提交
30
BarW和BarH分别是网页右侧和底部预留区域,ScrollTop为顶部滚动预留高度
Z
zorrosoft 已提交
31
v实际显示首先会基于Web或Url中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
32
Option:11是启动金山文字 为12启动金山表格 为13启动金山演示
Z
zorrosoft 已提交
33
Version:0 OLE嵌入方式加载 1完整加载支持文档对比操作(个人版不支持)
34
Open:为需要打开的文档路径,磁盘目录斜杠用/ 如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用 也可在Web中指定
35
注意:Open、Url中如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递
W
wangzuohuai 已提交
36
举例:
37
自动识别当前浏览器并启动金山文字程序
Z
zorrosoft 已提交
38
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Web": {"Edit":7,"Hide":0,"User":"test","PW":"","DataPath":"c:/OfficeDoc"},"Option":"11","Open":"D:/Zorro/test.doc"}}
W
wangzuohuai 已提交
39

40
自动识别当前浏览器并启动金山表格程序
Z
zorrosoft 已提交
41
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Web": {"Edit":3,"Hide":0,"PW":""},"Option":"12","Open":"D:/Zorro/test.xls"}}
W
wangzuohuai 已提交
42

43
自动识别当前浏览器并启动金山演示程序
Z
zorrosoft 已提交
44
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Web": {"Edit":1,"Hide":0,"PW":""},"Option":"13","Open":"D:/Zorro/test.ppt"}}
W
wangzuohuai 已提交
45 46

自动识别当前浏览器指定位置自动适配网页大小启动:
Z
zorrosoft 已提交
47
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":72,"Left":0,"Top":0,"Width":0,"Height":0,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Web": {"Edit":7,"Hide":0,"User":"test","PW":"","DataPath":"c:/OfficeDoc"},"Option":"11","Open":"D:/Zorro/test.doc"}}
W
wangzuohuai 已提交
48

49 50
打开远程文档,可将Open参数改为类似如下地址
"Open":"http://local.zorrosoft.com/Files/template.doc"
W
wangzuohuai 已提交
51

W
wangzuohuai 已提交
52
启动后会先后收到三个JSON数据包
Z
zorrosoft 已提交
53
A、{"ret":0,"rid":6,"data":{"ID":3}}
Z
zorrosoft 已提交
54
代表网页组件WS侦听服务就绪
Z
zorrosoft 已提交
55
B、{"event":"Wrl_Listen","aid":3,"rid":6,"data":{"SID":"123","PID":"WpsApplet","port":950}}
Z
zorrosoft 已提交
56 57
返回的侦听端口,可再建立一个Web Socket连接后,调用网页组件中的相关功能,比如打开一个文档。
返回ID为当前网页组件运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
W
wangzuohuai 已提交
58
C、{"event":"Wrl_AppletOK","aid":3,"rid":6,"data":{"SID":"123","PID":"WpsApplet","Port":950}}
W
wangzuohuai 已提交
59

Z
zorrosoft 已提交
60
关于Option参数,如果不确定是调用启动微软Office内嵌网页组件、还是金山WPS网页组件或永中办公内嵌网页组件,请先调用指令
W
wangzuohuai 已提交
61
{"req":"Wrl_OfficeInfo","rid":2,"para":{}} 获得当前电脑Office安装的情况,返回值
W
wangzuohuai 已提交
62 63 64 65 66
{"ret":0,"rid":2,"req":"Wrl_OfficeInfo","data":{"Info":[{"Type":1,"X64":0,"Cur":0,"Ver":"15.0.5389.1000"},{"Type":11,"X64":0,"Cur":0,"Ver":"11.1.0.11045"},{"Type":21,"X64":0,"Cur":1,"Ver":"8.0.0.0"}]}}
Type 1 代表微软Office,11代表金山WPS,21代表永中Office
X64 代表是否为64位版本
Cur 代表是否当前有效
Ver 代表文件版本信息
W
wangzuohuai 已提交
67

Z
zorrosoft 已提交
68
2)、请求控制金山WPS网页组件:
Z
zorrosoft 已提交
69 70
当前端不再需要网页组件时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动网页组件时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
W
wangzuohuai 已提交
71 72
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}

Z
zorrosoft 已提交
73
3)、请求滚动金山WPS网页组件:
Z
zorrosoft 已提交
74
当前端截取到网页滚动时,需要调用此接口实现网页组件和网页滚动的联动
W
wangzuohuai 已提交
75
ID为启动小程序时返回JSON中的ID值
Z
zorrosoft 已提交
76
Code为滚动方向1是水平,2是垂直,3是同时
W
wangzuohuai 已提交
77 78 79
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}

Z
zorrosoft 已提交
80
4)、请求改变金山WPS网页组件显示位置或大小:
Z
zorrosoft 已提交
81 82
当前端网页显示区域缩放时,可动态修改网页组件的显示位置或大小
ID为启动网页组件时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
W
wangzuohuai 已提交
83
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
Z
zorrosoft 已提交
84
或同时设置网页组件显示起始坐标
W
wangzuohuai 已提交
85 86 87
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}

5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
Z
zorrosoft 已提交
88 89
当网页组件显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动网页组件时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
W
wangzuohuai 已提交
90 91 92 93
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}

Z
zorrosoft 已提交
94 95
6)、请求对网页组件窗口做Alpha透明处理,便于前端临时显示覆盖到网页组件窗口的菜单等:
ID为Wrl_OfficeApplet启动网页组件时返回的ID值,Alpha为透明度百分比,1-100
W
wangzuohuai 已提交
96 97
{"req":"Wrl_AppletAlpha","rid":7,"para":{"ID":1,"Alpha":30}}

Z
zorrosoft 已提交
98 99
7)、请求对网页组件窗口内容进行截图:
ID为启动网页组件时返回JSON中的ID值,
W
wangzuohuai 已提交
100 101
File为指定截图文件保存路径或扩展名
Base64指定为1时代表返回BASE64编码的图像内容
Z
zorrosoft 已提交
102
{"req":"Wrl_AppletSnap","rid":10,"para":{"ID":1,"Base64":1,"File":".jpg"}}
W
wangzuohuai 已提交
103

Z
zorrosoft 已提交
104 105
8)、请求缩放网页组件,用于浏览器网页按比例缩放,一般不需要处理:
ID为启动网页组件时返回JSON中的ID值,不指定Scale时,获取当前网页组件所用的缩放百分比,一般和系统缩放比例一致
W
wangzuohuai 已提交
106
{"req":"Wrl_AppletScale","rid":11,"para":{"ID":1,"Scale":120}}
W
wangzuohuai 已提交
107

Z
zorrosoft 已提交
108
3、网页组件安装、升级、卸载
Z
zorrosoft 已提交
109
1)、请求安装金山WPS网页组件
W
wangzuohuai 已提交
110 111
请在测试网页输入框中,输入如下请求,然后点击发送,完成安装:

Z
zorrosoft 已提交
112
{"req":"Plugin_Install","rid":1,"para":{"Name":"金山WPS网页组件","PID":"WpsApplet","Date":"2023-02-08","Desc":"PluginOK之上跨浏览器的金山WPS内嵌网页组件,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌文字、表格、演示等程序进行在线编辑或审阅各类办公文档","DownAddr":"http://local.zorrosoft.com/Files/Net/WpsApplet.pid","MD5":"F9E249D44D1B3C024B3C700C8F5ED2BD","Version":"2.2.9.1","Size":4587520,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"5C02FCF1F570348B162506B8895F98A5C607FB38F6682A1146ABB92BAEC18DA55BE0D03080D13CD1A294C4A3D835FA996501EF020EF9C0263A9A252E6104A5F112C552EB4D005396B55BF6C39EB1FA12834A09F0DC6B89872EA763A9F38175C2F21B09E7BC895FB3DDAACCEF5752BDEE113819BEA869006E2A3DF0308F447C4D43BCBEE563AB510153EC8213F425FC4A127655560C833DDE0E864E72575980D08653440B5785ECD60DA2D567B0C1D8539B9D5E28F2CC0F7F6FE36D907F21F31D535C82AA52D6385B07BDD3A491DBFB11AC2807B15707EC876BA4557BA06E7F9E0E74F897B5981CEBF8F28C6E9913C021D66269A7B85F1A1D6764F0B91DC544C2"}}
W
wangzuohuai 已提交
113 114 115 116

启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。

Z
zorrosoft 已提交
117
2)、请求升级金山WPS网页组件:
W
wangzuohuai 已提交
118

Z
zorrosoft 已提交
119
{"req":"Plugin_Update","rid":1,"para":{"Name":"金山WPS网页组件","PID":"WpsApplet","Date":"2023-02-08","Desc":"PluginOK之上跨浏览器的金山WPS内嵌网页组件,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌文字、表格、演示等程序进行在线编辑或审阅各类办公文档","DownAddr":"http://local.zorrosoft.com/Files/Net/WpsApplet_Update.pid","MD5":"2D3B888C3D9F00E98AEEC123B7E54CDA","Version":"2.2.9.1","Size":4587520,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"590D229F87A63F551F0E66EB13A29826C4DE761EEE2690E69C5C886932914CD32F4B06A1B9A65A94DAFAEBAE23EE60E831DDA92D2879EB1859665B359E0BA82AEE9D996B533F3A4B8BEC259DC8C4368F746609739AE3FC1D6B554FE841FF2357C16E40E55120102CFCAE14ABD181209B891CE98BEE905D9BB4162C1CF888F940BA7E2E3292882C0260D262EAAB240F7C0B21C1091E74B4D71E5AFED7801D1642DD0E53A51798AB1224309B1E73BDCB5AFFBA0E747E8DD73EEA195CC418693F209DB0F4445EC3452967F115A64E05E6EBB747453B7F079B1983344620B3FF8FA2CCDD5E2EA298A3EF040D660419F7DEAEC5FFC7F67A5D30635655E0884A984E73"}}
W
wangzuohuai 已提交
120 121 122

以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。 

Z
zorrosoft 已提交
123
3)、请求卸载金山WPS网页组件:
Z
zorrosoft 已提交
124
正式版需要添加TK校验,具体规则请参考SDK包中文档“中间件安全解决方案.pdf”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。
W
wangzuohuai 已提交
125
{"req":"Plugin_Remove","rid":3,"para":{"PID":"WpsApplet","Type":8}}
W
wangzuohuai 已提交
126

Z
zorrosoft 已提交
127
4、金山WPS网页组件转调用WPS软件的VBA接口,先根据Wrl_OfficeApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
W
wangzuohuai 已提交
128

W
wangzuohuai 已提交
129
A、常用功能请求:
W
wangzuohuai 已提交
130

Z
zorrosoft 已提交
131
1)获取文档是否修改了需要保存,适用于WPS文字、WPS表格、WPS演示软件
132 133 134
{"req":"Office_IsSaved","rid":1,"para":{}}
返回:{"ret":0,"rid":1,"data":{"Ret":"0","Saved":0}}

Z
zorrosoft 已提交
135
2)设置文档是否需要保存标记,适用于WPS文字、WPS表格、WPS演示软件
136
{"req":"Office_PutSaved","rid":2,"para":{"Saved":"1"}}
137 138
返回:{"ret":0,"rid":2,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
139
3)请求打开文档 Open为打开文档路径,有中文或特殊字符等需要UrlEncode编码,适用于WPS文字、WPS表格、WPS演示软件
140
打开前如已有文档打开,会自动关闭上一个文档,避免同时打开多个文档
141
Open打开文档(不指定时新建文档) 支持相对路径,如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
Z
zorrosoft 已提交
142 143
User 设置编辑用户名 Edit设置编辑权限,含义和启动时相同 Hide控制界面显示标记
{"req":"Office_Open","rid":3,"para":{"Open":"D:/Zorro/test.doc","User":"test","Edit":0,"Hide":0}}
144 145 146 147
打开远程文档
{"req":"Office_Open","rid":3,"para":{"Open":"http://local.zorrosoft.com/Files/template.doc"}}
返回:{"ret":0,"rid":3,"data":{"Ret":"0"}}

148
4)请求保存,适用于WPS文字、WPS表格、WPS演示软件,如是新建文档,会创建一个临时文件名保存
Z
zorrosoft 已提交
149
如果指定了Office_NetFile接口中的Url等参数,代表保存到本地的同时上传到服务器
W
wangzuohuai 已提交
150
{"req":"Office_Save","rid":4,"para":{}}
Z
zorrosoft 已提交
151
{"req":"Office_Save","rid":4,"para":{"Agent":"","Cookie":"","Auth":"","Para":"","Url":"http://zorrosoft.com/wp-admin/admin-ajax.php"}}
W
wangzuohuai 已提交
152 153
返回:{"ret":0,"rid":4,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
154
5)请求另保存 NewFile为另保存路径,有中文或特殊字符等需要UrlEncode编码,适用于WPS文字、WPS表格、WPS演示软件
Z
zorrosoft 已提交
155
WPS文字支持导出为OFD文件(Format是25 个人版不支持)或者UOF文件(Format是103) NewFile支持相对路径,如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
Z
zorrosoft 已提交
156
如果指定了Office_NetFile接口中的Url等参数,代表保存到本地的同时上传到服务器
W
wangzuohuai 已提交
157
{"req":"Office_SaveAs","rid":5,"para":{"NewFile":"D:/Zorro/test.xml"}}
Z
zorrosoft 已提交
158
{"req":"Office_SaveAs","rid":5,"para":{"NewFile":"D:/Zorro/testSA.doc"}}
W
wangzuohuai 已提交
159
{"req":"Office_SaveAs","rid":5,"para":{"Format":25,"NewFile":"D:/Zorro/test.ofd"}}
Z
zorrosoft 已提交
160
{"req":"Office_SaveAs","rid":5,"para":{"NewFile":"D:/Zorro/testSA.doc","Agent":"","Cookie":"","Auth":"","Para":"","Url":"http://zorrosoft.com/wp-admin/admin-ajax.php"}}
W
wangzuohuai 已提交
161 162
返回:{"ret":0,"rid":5,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
163
6)请求导出为PDF或XPS格式 NewFile为导出文档路径,有中文或特殊字符等需要UrlEncode编码,适用于WPS文字、WPS表格软件
164
NewFile支持相对路径,如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
Z
zorrosoft 已提交
165
如果指定了Office_NetFile接口中的Url等参数,代表保存到本地的同时上传到服务器
W
wangzuohuai 已提交
166 167 168
{"req":"Office_Export","rid":6,"para":{"NewFile":"D:/Zorro/test1.pdf"}}
返回:{"ret":0,"rid":6,"data":{"Ret":"0"}}

169
7)请求在当前光标位置插入图片 ImgFile为图片路径(支持网络路径),有中文或特殊字符等需要UrlEncode编码,适用于WPS文字、WPS表格、WPS演示软件  ImgFile支持相对路径,如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
W
wangzuohuai 已提交
170
Link为1则只是链接到文件(网络路径不支持1) Save保存到文档
W
wangzuohuai 已提交
171
{"req":"Office_InsertImg","rid":7,"para":{"ImgFile":"D:/Zorro/test.png","Link":"0","Save":"1"}}
W
wangzuohuai 已提交
172 173

{"req":"Office_InsertImg","rid":7,"para":{"ImgFile":"http://zorrosoft.com/wp-content/uploads/2021/07/2021072709255099-1024x576.png","Link":"0","Save":"1"}}
W
wangzuohuai 已提交
174 175
返回:{"ret":0,"rid":7,"data":{"Ret":"0","Width":"1","Height":"1"}} Width和Height分别为插入图片的宽度和高度

W
wangzuohuai 已提交
176
8)请求在当前光标位置批量插入文字,适用于WPS文字软件
Z
zorrosoft 已提交
177 178 179 180 181 182 183
Paragraph代表换行数量
FontSize字体大小
FontName字体名称
Color字体颜色
Alignment是对其方式 0左对齐 1居中 2右对齐
Bold粗体大小
{"req":"Office_Insert","rid":8,"para":[{"Paragraph":1},{"FontSize":"16","FontName":"宋体","Color":"0","Alignment":"0","Bold":"8","Text":"详情请点击这里:"},{"Paragraph":1},{"Address":"http://zorrosoft.com","Display":"佐罗软件官方网站"}]} 
W
wangzuohuai 已提交
184 185 186 187
{"req":"Office_Insert","rid":8,"para":[{"Paragraph":1},{"FontSize":"16","FontName":"宋体","Color":"0","Bold":"8","Text":"详情请点击这里:"},{"Paragraph":1},{"Address":"http://zorrosoft.com","Display":"佐罗软件官方网站"}]} 
分别为换行、插入指定字体和颜色值的文字再换行,插入一个超链接
返回:{"ret":0,"rid":8,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
188
9)请求在当前光标位置执行退格操作Backspace,适用于WPS文字软件
W
wangzuohuai 已提交
189 190 191
{"req":"Office_Backspace","rid":9,"para":{}}
返回:{"ret":0,"rid":9,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
192
10)请求批量打印,适用于WPS文字、WPS表格、WPS演示软件
W
wangzuohuai 已提交
193 194 195 196
Copies为打印份数,默认打印所有页面,打印到文件时,需要指定OutFile,有中文或特殊字符等需要UrlEncode编码
{"req":"Office_PrintOut","rid":10,"para":{"Copies":"1","OutFile":"D:/Zorro/testprint.pdf"}}
返回:{"ret":0,"rid":10,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
197
11)请求移动光标位置,适用于WPS文字软件
W
wangzuohuai 已提交
198 199 200 201
Up为向上,默认向下,Up为1向上,Unit移动单位(5是文字行数,7是屏幕区) Count为移动数量
{"req":"Office_MoveLine","rid":11,"para":{"Up":"0","Unit":"5","Count":"6"}}
返回:{"ret":0,"rid":11,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
202
12)请求获取当前用户名,适用于WPS文字、WPS表格软件
W
wangzuohuai 已提交
203
{"req":"Office_GetUserName","rid":12,"para":{}}
204
返回:{"ret":0,"rid":12,"data":{"Ret":"0","User":"test"}}
W
wangzuohuai 已提交
205

W
wangzuohuai 已提交
206
13)请求设置当前用户名,适用于WPS文字、WPS表格软件
207
{"req":"Office_PutUserName","rid":13,"para":{"User":"test"}}
W
wangzuohuai 已提交
208 209
返回:{"ret":0,"rid":13,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
210
14)请求获取当前是否修订模式,适用于WPS文字软件
W
wangzuohuai 已提交
211 212 213
{"req":"Office_GetTrackRevisions","rid":14,"para":{}}
返回:{"ret":0,"rid":14,"data":{"Ret":"0","TrackRevisions":"0"}}

W
wangzuohuai 已提交
214
15)请求设置当前是否修订模式,适用于WPS文字软件
Z
zorrosoft 已提交
215
TrackRevisions 1启用修订模式 2强制修订模式
W
wangzuohuai 已提交
216 217 218
{"req":"Office_PutTrackRevisions","rid":15,"para":{"TrackRevisions":"1"}}
返回:{"ret":0,"rid":15,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
219
16)请求修订模式后续操作,适用于WPS文字软件
W
wangzuohuai 已提交
220 221 222 223
Type为操作类型,0默认代表切换修改模式,1代表接受所有修订 2代表拒绝所有修订
{"req":"Office_TrackRevisions","rid":16,"para":{"Type":"1"}}
返回:{"ret":0,"rid":16,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
224 225 226
17)请求获取是否显示修订信息,适用于WPS文字软件
{"req":"Office_GetShowRevisions","rid":17,"para":{}}
返回:{"ret":0,"rid":17,"data":{"Ret":"0","ShowRevisions":"0"}}
W
wangzuohuai 已提交
227

W
wangzuohuai 已提交
228 229
18)请求设置是否显示修订信息,适用于WPS文字软件
{"req":"Office_PutShowRevisions","rid":18,"para":{"ShowRevisions":"1"}}
230 231
返回:{"ret":0,"rid":18,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
232 233 234
19)请求在当前位置添加批注,适用于WPS文字软件
Text为添加批注的文字描述
{"req":"Office_InsertComment","rid":19,"para":{"Text":"批注内容"}}
235 236
返回:{"ret":0,"rid":19,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
237 238 239
20)请求获取当前文档书签数量,适用于WPS文字软件
{"req":"Office_MarkCount","rid":20,"para":{}}
返回:{"ret":0,"rid":2018,"data":{"Ret":"0"}}
240

W
wangzuohuai 已提交
241 242 243
21)请求判断当前书签是否存在,适用于WPS文字软件
Name为书签名称
{"req":"Office_MarkIsExist","rid":21,"para":{"Name":"Caption"}}
244 245
返回:{"ret":0,"rid":21,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
246 247 248 249 250 251 252 253 254 255
22)请求获取当前文档所有书签,适用于WPS文字软件
{"req":"Office_AllMark","rid":22,"para":{}}
返回:{"ret":0,"rid":22,"data":{"Ret":[{"Name":"Caption","Text":"[请输入标题]"},{"Name":"Content","Text":"[公文内容]"},{"Name":"Description","Text":"[公文说明或描叙]"},{"Name":"Sec","Text":"[公文密级]"},{"Name":"Subject","Text":"[公文主题词]"]}]}}

23)请求指定序号的书签名称或指定名称的文字内容,适用于WPS文字软件
Index为书签序号 Name为书签名称
{"req":"Office_GetMarkInfo","rid":23,"para":{"Index":"1"}}
{"req":"Office_GetMarkInfo","rid":23,"para":{"Name":"Caption"}}
返回:{"ret":0,"rid":23,"data":{"Ret":"0"}}

Z
zorrosoft 已提交
256 257
24)请求替换指定书签名称的内容,适用于WPS文字软件
Name为书签名称,Text书签内容
W
wangzuohuai 已提交
258 259 260
{"req":"Office_PutMarkText","rid":24,"para":{"Marks":[{"Name":"Caption","Text":"公文标题"},{"Name":"Content","Text":"公文内容"},{"Name":"Description","Text":"公文说明或描叙"},{"Name":"Sec","Text":"公文密级"},{"Name":"Subject","Text":"公文主题词"}]}}
返回:{"ret":0,"rid":24,"data":{"Ret":"0"}}

W
wangzuohuai 已提交
261
25)光标跳转到指定名称的书签,适用于WPS文字软件
W
wangzuohuai 已提交
262 263 264 265 266 267 268 269
Name为书签名称 NoSelect为1代表去掉书签选中状态
{"req":"Office_GotoMark","rid":25,"para":{"Name":"Caption","NoSelect":1}}
返回:{"ret":0,"rid":25,"data":{"Ret":"0"}}

26)获取修订数量,适用于WPS文字软件
{"req":"Office_GetRevisionsCount","rid":26,"para":{}}
返回:{"ret":0,"rid":26,"data":{"Ret":"0","Count":0}}

270 271 272 273
27)创建指定目录,适用于WPS文字、WPS表格、WPS演示软件
Dir为子目录名称,可为全路径,需要确保有创建子目录权限,非全路径时,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
{"req":"Office_CreateDir","rid":27,"para":{"Dir":"/doc"}}
返回:{"ret":0,"rid":27,"data":{"Ret":"0"}}
W
wangzuohuai 已提交
274

Z
zorrosoft 已提交
275
28)查找文档中图片并返回BASE64编码数据,适用于WPS文字软件
276
Index为图片序号 从1开始编号,先查Shapes再查InlineShapes
Z
zorrosoft 已提交
277
File为本地文件保存路径,可用相对路径,如指定此参数,代表直接把此图片保存到本地,Code返回本地文件全路径
278
{"req":"Office_GetImage","rid":28,"para":{"Index":1}}
Z
zorrosoft 已提交
279
返回:{"ret":0,"rid":28,"data":{"Ret":"0","Code":""}} Code默认返回的编码数据
280

W
wangzuohuai 已提交
281
29)请求合并文档到指定书签内容,适用于WPS文字软件
282
File为被合并文档全路径 如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
W
wangzuohuai 已提交
283 284
Marks指定需要替换的书签名称数组
默认在File文档中找对应书签名称的内容来替换,如没有对应书签直接插入整个文件
285
{"req":"Office_MarkMerge","rid":29,"para":{"File":"D:/Zorro/TestMark.docx","Marks":["Letter","Title"]}}
W
wangzuohuai 已提交
286 287
返回:{"ret":0,"rid":29,"data":{"Ret":"0"}}

288 289 290 291 292
30)请求合并指定文档到当前文档新的一页,适用于WPS文字软件
Files为被合并文档数组 如非全路径,除非启动时指定了数据文件目录DataPath,否则默认使用中间件程序Data子目录作为根目录使用
{"req":"Office_FileMerge","rid":30,"para":{"Files":["D:/Zorro/TestMark.docx","D:/Zorro/Test.docx"]}}
返回:{"ret":0,"rid":30,"data":{"Ret":"0"}}

Z
zorrosoft 已提交
293 294
31)盖章,适用于WPS文字、WPS表格、WPS演示软件
Type 签章类型 Type默认0 支持北京点聚签章系统
Z
zorrosoft 已提交
295 296 297
{"req":"Office_SealInsert","rid":31,"para":{"Type":0}}
返回:{"ret":0,"rid":31,"data":{"Ret":"0"}}

Z
zorrosoft 已提交
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312
32)以修订标记方式显示文档差别,适用于WPS文字软件 启动时必须指定Version为1,非OLE嵌入方式支持
使用前提是已经打开当前文档,并和Name指定的文档进行对比
Name需要对比的文档,必须指定
Target为目标类型,可选 0是选中的 1是当前的 2是新文档 默认2
{"req":"Office_ShowDifferent","rid":32,"para":{"Name":"D:/Zorro/Test7.doc","Target":"2"}}
返回:{"ret":0,"rid":32,"data":{"Ret":"0"}}

33)指定一个新文档和当前打开文档做对比,适用于WPS文字软件 启动时必须指定Version为1,非OLE嵌入方式支持
使用前提是已经打开当前文档,并和Name指定的文档进行对比
Name需要对比的文档,必须指定
Target为目标类型,可选 0在原文档 1在原文档 2是修订文档 默认2是新文档
Out保存对比结果文档
{"req":"Office_DocCompare","rid":33,"para":{"Name":"D:/Zorro/Test7.doc","Target":"2","Out":"D:/Zorro/Result.doc"}}
返回:{"ret":0,"rid":33,"data":{"Ret":"0"}}

Z
zorrosoft 已提交
313 314 315 316 317 318
34)切换全屏编辑状态,适用于WPS文字、WPS表格、WPS演示软件
{"req":"Office_SwitchFullScreen","rid":34,"para":{}}
返回:{"ret":0,"rid":34,"data":{"Ret":"0"}}

35)网络文件操作,适用于WPS文字、WPS表格、WPS演示软件
Type 1上传文件 0下载文件
Z
zorrosoft 已提交
319
Agent、Cookie及Auth Cookie可传浏览器中的Cookie或通过Auth授权验证上传权限,默认为空,非空时需要先做UrlEnocde编码
Z
zorrosoft 已提交
320 321
Local 上传文件本地路径或下载文件保存路径,如果不指定默认用当前打开文档,需要做UrlEncode编码
Url 上传或下载的地址,需要做UrlEncode编码
Z
zorrosoft 已提交
322 323 324 325
Type为1时,可增加参数Para,对应POST数据包中需要传递的参数param 默认上传文件名为upfile,否则可通过NodeName设置自己的文件参数名称
Type为0时,可增加参数MD5及FileSize,下载文件的哈希值及大小,用于校验下载文件的完整性,可默认空或0
{"req":"Office_NetFile","rid":35,"para":{"Type":0,"Agent":"","Cookie":"","Auth":"","FileSize":0,"MD5":"","Local":"C:/OfficeDoc/test.docx","Url":"http://local.zorrosoft.com/Files/PHDefault.docx"}}
{"req":"Office_NetFile","rid":35,"para":{"Type":1,"Agent":"","Cookie":"","Auth":"","Para":"","Local":"","Url":"http://zorrosoft.com/wp-admin/admin-ajax.php"}}
Z
zorrosoft 已提交
326
返回:{"ret":0,"rid":35,"data":{"Ret":"0","Info":{}}} Info为上传到服务器返回的信息
Z
zorrosoft 已提交
327

Z
zorrosoft 已提交
328 329 330 331 332 333 334
36)指定页码转换到图片,默认返回Base64编码数据,适用于WPS文字
Index为页码序号 从1开始编号,传0代表获取当前页
File为本地文件保存路径,可用相对路径,如指定此参数,代表直接把转换结果图片保存到本地,Code返回本地文件全路径
{"req":"Office_ConvertImage","rid":36,"para":{"Index":1}}
返回:{"ret":0,"rid":36,"data":{"Ret":"0","Code":""}} Code默认返回的编码数据

37)获取当前打开文档及其它信息,适用于WPS文字、WPS表格、WPS演示软件
Z
zorrosoft 已提交
335 336 337
File:本地文档路径 User:当前编辑用户名 
ProtType ProtStatus分别为当前文档保护类型和状态
Edit:编辑权限 Option:使用的选项 Hide:界面隐藏类型
Z
zorrosoft 已提交
338
{"req":"Office_GetCurOpen","rid":37,"para":{}}
Z
zorrosoft 已提交
339 340 341 342 343 344 345 346
返回:{"ret":0,"rid":37,"data":{"Ret":"0","File":"C:/OfficeDoc/test.docx","User":"test","ProtType":0,"ProtStatus":0,"Edit":0,"Option":0,"Hide":0}}

38)设置或取消文档保护,已经处于保护状态时再次调用取消保护,反之亦然,适用于WPS文字软件
Type保护类型 0只读 1只能修订 2只能批注 3填写窗体
PW为密码,如有特殊字符,需要先做UrlEncode编码
{"req":"Office_Protect","rid":38,"para":{"Type":0,"PW":""}}
返回:{"ret":0,"rid":38,"data":{"Ret":"0","Status":0}}
Status返回文档保护状态,1是已保护
Z
zorrosoft 已提交
347

Z
zorrosoft 已提交
348
39)插入表格,适用于WPS文字软件
Z
zorrosoft 已提交
349 350 351 352 353
RowNum行数 ColumnNum列数
{"req":"Office_InsertTable","rid":39,"para":{"RowNum":2,"ColumnNum":5}}
返回:{"ret":0,"rid":39,"data":{"Ret":"0"}}
Ret 返回0代表成功

Z
zorrosoft 已提交
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377
40)插入水印,适用于WPS文字软件
Type 水印类型 Type默认0系统文字水印 1自定义文字水印 2图片水印
Content 类型为1时文字水印的内容 类型为2时图片文件路径或服务器水印图片下载地址 如有非英文、特殊字符或符号等,需要做UrlEncode编码
插入“TestWaterMark”的自定义文字水印 TextEffect文字效果(参考MsoPresetTextEffect定义) FontSize字体大小默认36
FontBold是否粗体 FontItalic是否斜体 FontName字体名称(需先UrlEncode编码) FillColor填充颜色默认RGB(192, 192, 192) 透明度默认0.5 旋转角度旋转角度默认0
{"req":"Office_InsertWaterMark","rid":40,"para":{"Type":1,"Content":"TestWaterMark","TextEffect":0,"FontSize":1,"FontBold":1,"FontItalic":1,"FontName":"%E7%AD%89%E7%BA%BF","FillColor":0,"Transparency":0.5,"Rotation":0}}
插入服务器上的图片水印 Width显示宽度(单位:厘米) Height显示高度(单位:厘米)
{"req":"Office_InsertWaterMark","rid":40,"para":{"Type":2,"Content":"http://zorrosoft.com/wp-content/uploads/2021/07/2021072709255099-1024x576.png","Width":15,"Height":18}}
插入本地图片水印 Width显示宽度(单位:厘米) Height显示高度(单位:厘米)
{"req":"Office_InsertWaterMark","rid":40,"para":{"Type":2,"Content":"C:/Users/administrator/Pictures/TestWaterMark.jpg","Width":15,"Height":18}}

返回:{"ret":0,"rid":40,"data":{"Ret":"0"}}

41)移除所有存在的水印,适用于WPS文字软件
{"req":"Office_DelWaterMark","rid":41,"para":{}}
返回:{"ret":0,"rid":41,"data":{"Ret":"0"}}

42)设置上传下载地址,PageHi中的上传下载功能需要,适用于WPS文字、WPS表格、WPS演示软件
PageHi中的上传下载功能需要在启动命令中Web节点的Edit掩码值加512打开
Down文档下载地址 Upload文档服务器保存地址 
{"req":"Office_PutNetUrl","rid":42,"para":{"Down":"http://local.zorrosoft.com/Files/template.doc","Upload":"http://zorrosoft.com/wp-admin/admin-ajax.php"}}
返回:{"ret":0,"rid":42,"data":{"Ret":"0"}}
Ret 返回0代表成功

W
wangzuohuai 已提交
378
5、事件通知:
W
wangzuohuai 已提交
379
A、以下为WPS文字程序通知
W
wangzuohuai 已提交
380

W
wangzuohuai 已提交
381 382
B、PluginOK支持的事件通知:

Z
zorrosoft 已提交
383
1) 网页组件是否响应了热键全屏
W
wangzuohuai 已提交
384
以下分别为WPS文字、WPS表格、WPS演示程序的全屏事件通知
W
wangzuohuai 已提交
385 386 387 388
{"event":"WORD_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"EXCEL_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"PPT_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记

Z
zorrosoft 已提交
389
2) Wrl_AppletExit 网页组件退出通知
W
wangzuohuai 已提交
390 391
{"event":"Wrl_AppletExit","data":{"ID":1}}

Z
zorrosoft 已提交
392 393 394 395 396 397 398 399 400 401 402 403
3) 文档加载完成通知
{"event":"WORD_LoadOK","data":{"File":""}}
{"event":"EXCEL_LoadOK","data":{"File":""}}
{"event":"PPT_LoadOK","data":{"File":""}}

4) 文档保存通知
Type 0保存 1另存 
Flag 成功成功 大于0保存失败 -1 退出时有修改没保存
{"event":"WORD_Save","data":{"File":"","Type":0,"Flag":0}}
{"event":"EXCEL_Save","data":{"File":"","Type":0,"Flag":0}}
{"event":"PPT_Save","data":{"File":"","Type":0,"Flag":0}}

W
wangzuohuai 已提交
404 405
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
Z
zorrosoft 已提交
406
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“中间件开发者手册.pdf”及“中间件安全解决方案.pdf”。
W
wangzuohuai 已提交
407
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938