点聚AIP电子签章网页小程序:基于跨浏览器的原生小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )网络高级版开发,底层调用北京点聚信息技术有限公司的ActiveX控件(3.1版)HWPostil.ocx(此控件版权归北京点聚信息技术有限公司所有)实现。最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE 8、Opera、Electron、Vivaldi、Brave、QQ等浏览器,也兼容运行于这些浏览器的最新版本。 1、PluginOK(牛插)中间件的安装: 1)、如果是exe的安装程序,请直接运行安装; 2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装。 3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况。 2、点聚AIP电子签章网页小程序控制相关接口: 说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost:83?sid=12345&flag=1)后可执行,如默认侦听端口不是83(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.pdf”),请在连接地址中指定端口号进行连接。 HTTP在线测试网页:http://local.zorrosoft.com/aipframe.html HTTPS在线测试网页:https://local.zorrosoft.com/aipframe.html 如还需兼容IE浏览器使用,网络版测试网页中 的CLSID需要替换为:21ADE2E6-B4DD-4F3E-8BD5-9DDAD1785F3A 前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码; A、标记小程序的显示位置和大小 .AIPSignApplet { margin: 20px 0 0 20px; width: 480px; height: 320px; border: 1px solid blue; } 或者 .AIPSignApplet { width: 480px; height: 320px; top: 20px; left: 20px; border: 1px solid blue; } 如果在网页Header区没有标记小程序初始显示位置和大小,请在启动小程序的JSON参数里,添加以下参数: "Left":20,"Top":20,"Width":480,"Height":320 B、网页中嵌入元素 支持IFrame的: 或者直接用 另外需要嵌入用到的JS脚本,脚本程序是完全开源的。 1)、请求启动点聚AIP电子签章网页小程序: Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端) 可强制指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 20代表Electron 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器) Title:网页标题中的关键词 Url:加载小程序所在的网页实际地址,在网页中指定小程序的显示位置和大小,不建议使用了,建议改用Web参数 Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64启用Web参数 128防截屏 256强制显示到副屏 512允许同一网页加载多实例 Web:可自定义的JSON配置 Flag包含64时可替换Url参数使用 IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标 BarW和BarH分别是网页右侧和底部预留区域,ScrollTop为顶部滚动预留高度 小程序实际显示首先会基于Web或Url中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正 Open:为需要签章的文件路径,磁盘目录斜杠用/ 注意:Open、Web、Url如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递 举例: 自动识别当前浏览器指定位置和大小启动: {"req":"Wrl_AppletStart","rid":8,"para":{"Type":"0","Title":"AIPSign Applet","NodeName":"AIPSignApplet","PID":"AIPSignApplet","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Web":[],"Open":"http://local.zorrosoft.com/Files/PluginOK.pdf"}} 指定页面内加载后适配网页切换显示: http://local.zorrosoft.com/aipframe.html 启动后会先后收到三个JSON数据包 A、{"ret":0,"rid":8,"data":{"ID":2}} 代表小程序WS侦听服务就绪 B、{"event":"Wrl_Listen","aid":2,"rid":8,"data":{"SID":"123","PID":"AIPSignApplet","port":1200}} 返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能。 代表小程序创建成功,返回ID为当前小程序运行实例ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。 C、{"event":"Wrl_AppletOK","aid":2,"rid":8,"data":{"SID":"123","PID":"AIPSignApplet","Port":1200}} 2)、请求控制点聚AIP电子签章网页小程序: 当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等 ID为Wrl_AIPSignApplet或Wrl_AppletStart启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1正常关闭 128强制迅速关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示 {"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}} 3)、请求滚动网页中AIP电子签章内嵌小程序: 当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动 ID为启动小程序时返回JSON中的ID值 Code为滚动方向1是水平直,2是垂直,3是同时 Left为横向滚动条位置,Top为纵向滚动条位置 {"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}} 4)、请求改变网页中点聚AIP电子签章网页小程序显示位置或大小: 当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小 ID为Wrl_AIPSignApplet或Wrl_AppletStart启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度 X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效 {"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}} 或,同时修改小程序显示起始坐标 {"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}} 5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置: 当小程序显示区域超过当前网页时,需去除滚动条的显示影响 ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度 Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有 ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置 {"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}} 6)、请求对小程序窗口做Alpha透明处理,便于前端临时显示覆盖到小程序窗口的菜单等: ID为Wrl_AIPSignApplet或Wrl_AppletStart启动小程序时返回的ID值,Alpha为透明度百分比,1-100 {"req":"Wrl_AppletAlpha","rid":7,"para":{"ID":1,"Alpha":30}} 7)、请求对小程序窗口内容进行截图: ID为启动小程序时返回JSON中的ID值, File为指定截图文件保存路径或扩展名 Base64指定为1时代表返回BASE64编码的图像内容 {"req":"Wrl_AppletSnap","rid":10,"para":{"ID":1,"Base64":1,"File":".jpg"}} 8)、请求缩放内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理: ID为启动小程序时返回JSON中的ID值,不指定Scale时,获取当前小程序所用的缩放百分比,一般和系统缩放比例一致 {"req":"Wrl_AppletScale","rid":11,"para":{"ID":1,"Scale":120}} 3、小程序安装、升级、卸载 1)、请求安装点聚AIP电子签章网页小程序 请在测试网页输入框中,输入如下请求,然后点击发送,完成安装: {"req":"Plugin_Install","rid":1,"para":{"Name":"AIP电子签章网页小程序","PID":"AIPSignApplet","Date":"2024-03-13","Desc":"PluginOK之上跨浏览器的AIP电子签章内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/AIPSignApplet.pid","MD5":"122C3FA9C277503A19AF4CEA44E591F8","Version":"2.2.13.2","Size":557056,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"6131FC925DFD41BB2834DF21C7F0CE017C26506D61E2364330D2238FCF0A08AAA8509CE155E14223A7A478425257B819B280BB8CAEF92E8263810D6C1CE4DD3019A73B835BAFF72850FEDFDA5C7E452B3567FC2025E96BF13C9E21010F878D2F3816D1888284C6BFA4164295FDF64BA829892345C93F983A4A563ED24A6A708B38D879FCC7F43423ECF8BD4A2C02F1FDB26CF9F5AAEE855BA23C65756D5AB0B77E6494EF820D0E183A82F34F9C7FADB6F25D4AEE47651EFABC54D10562131692E7F8F07591201F9816EB8991AE3A793DE02E6CF87F9EF0919AD34D6F692664C80DC057583610365F974D8A47CE6FFEFBB0C0497E5C7D2019864C9566458BA322"}} 启动安装后,会不断收到安装进度直到安装结束。 2)、请求升级点聚AIP电子签章网页小程序: {"req":"Plugin_Update","rid":1,"para":{"Name":"AIP电子签章网页小程序","PID":"AIPSignApplet","Date":"2024-03-13","Desc":"PluginOK之上跨浏览器的AIP电子签章内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/AIPSignApplet_Update.pid","MD5":"CE854D9D180DE4AE4BE24D6423231087","Version":"2.2.13.2","Size":557056,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"095390C08EAF4D32964244AF421605F845E9C48C6774FE7815B3C8DD7BF9C97760E9FE29A5877FB3F726510515783A6C0DC3F657CC1146F398A9CBA56B6A962AE1142E713A119A0C6A6A8FBA9ED77E5B40EDA0C11B7DF29BF166E2806F0CF28DCA4EC5FD14C9C11D2F510079D8E462A1A6149DA87BF0FD9E780981B4192A3355B863F9EB84E4EA34812F678FCDBE318063E6BC4EA212EAE80F2A897BBC0E8AE715228C05FE9D96DD4936B0352FFCED519E81388746B4FC46FF38B18C538F518059E1DED22AD28863F7DEF7BA8275E4458A7A4726F340E86124771FCE362A35902735C11839912E4746914CFBEC87121A4479D69E97AAA22614FC9A92671F22A3"}} 以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。 3)、请求卸载点聚AIP电子签章网页小程序: 正式版需要添加TK校验,具体规则请参考SDK包中文档“PluginOK中间件安全解决方案.doc”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。 {"req":"Plugin_Remove","rid":3,"para":{"PID":"AIPSignApplet","Type":8}} 4、点聚AIP电子签章网页小程序转调用ActiveX接口(接口函数及方法说明详情请参考文档“AIP电子签名系统开发接口.chm”),先根据Wrl_AppletStart请求启动后返回侦听端口号,针对此端口新建一个WebSocket连接后可执行如下指令: A、属性操作: 1) 返回附加信息 请求:{"req":"AIP_GetAppendTipInfo","rid":41,"para":{}} 返回:{"ret":0,"rid":41,"data":{"AppendTipInfo":"中国农业银行"}} ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同 2) 设置附加信息 请求:{"req":"AIP_PutAppendTipInfo","rid":42,"para":{"AppendTipInfo":"中国农业银行"}} 返回:{"ret":0,"rid":42,"data":{"Ret":"0"}} Ret为调用ActiveX对应函数返回值,0代表正常或无返回值 3) 返回当前登录用户的操作状态(用户必须登录) 请求:{"req":"AIP_GetCurrAction","rid":43,"para":{}} 返回:{"ret":0,"rid":43,"data":{"CurrAction":"0"}} 4) 设置当前登录用户的操作状态 请求:{"req":"AIP_PutCurrAction","rid":44,"para":{"CurrAction":"0"}} 返回:{"ret":0,"rid":44,"data":{"Ret":"0"}} 5) 返回当前文档类型(必须以AIP_LoadOriginalFile装入文档) 请求:{"req":"AIP_GetCurrDocType","rid":45,"para":{}} 返回:{"ret":0,"rid":45,"data":{"CurrDocType":"0"}} 6) 设置当前文档类型 请求:{"req":"AIP_PutCurrDocType","rid":46,"para":{"CurrDocType":"0"}} 返回:{"ret":0,"rid":46,"data":{"Ret":"0"}} 7) 返回当前页索引(0,1,2,...) 请求:{"req":"AIP_GetCurrPage","rid":47,"para":{}} 返回:{"ret":0,"rid":47,"data":{"CurrPage":"0"}} 8) 设置当前页索引(0,1,2,...) 请求:{"req":"AIP_PutCurrPage","rid":48,"para":{"CurrPage":"0"}} 返回:{"ret":0,"rid":48,"data":{"Ret":"0"}} 9) 返回当前笔的颜色(RGB值) (用户必须登录) 请求:{"req":"AIP_GetCurrPenColor","rid":49,"para":{}} 返回:{"ret":0,"rid":49,"data":{"CurrPenColor":""}} 10) 设置当前笔的颜色 请求:{"req":"AIP_PutCurrPenColor","rid":50,"para":{"CurrPenColor":""}} 返回:{"ret":0,"rid":50,"data":{"Ret":"0"}} 11) 返回当前笔的宽度(用户必须登录) 请求:{"req":"AIP_GetCurrPenWidth","rid":51,"para":{}} 返回:{"ret":0,"rid":51,"data":{"CurrPenWidth":""}} 12) 设置当前笔的宽度 请求:{"req":"AIP_PutCurrPenWidth","rid":52,"para":{"CurrPenWidth":""}} 返回:{"ret":0,"rid":52,"data":{"Ret":"0"}} 13) 返回当前的证书序列号 请求:{"req":"AIP_GetCurrSerialNumber","rid":53,"para":{}} 返回:{"ret":0,"rid":53,"data":{"CurrSerialNumber":""}} 14) 设置当前的证书序列号 请求:{"req":"AIP_PutCurrSerialNumber","rid":54,"para":{"CurrSerialNumber":""}} 返回:{"ret":0,"rid":54,"data":{"Ret":"0"}} 15) 返回当前证书授予者名称 请求:{"req":"AIP_GetCurrSubjectName","rid":55,"para":{}} 返回:{"ret":0,"rid":55,"data":{"CurrSubjectName":""}} 16) 设置当前证书授予者名称 请求:{"req":"AIP_PutCurrSubjectName","rid":56,"para":{"CurrSubjectName":""}} 返回:{"ret":0,"rid":56,"data":{"Ret":"0"}} 17) 返回设置或返回当前编辑用户。这个名称会显示在附加用户信息的编辑框里 请求:{"req":"AIP_GetCurrTextEditUser","rid":57,"para":{}} 返回:{"ret":0,"rid":57,"data":{"CurrTextEditUser":""}} 18) 设置设置或返回当前编辑用户 请求:{"req":"AIP_PutCurrTextEditUser","rid":58,"para":{"CurrTextEditUser":""}} 返回:{"ret":0,"rid":58,"data":{"Ret":"0"}} 19) 返回页面位置单位类型值 请求:{"req":"AIP_GetCurrXYMode","rid":59,"para":{}} 返回:{"ret":0,"rid":59,"data":{"CurrXYMode ":""}} 20) 设置页面位置单位类型值 请求:{"req":"AIP_PutCurrXYMode","rid":60,"para":{"CurrXYMode":""}} 返回:{"ret":0,"rid":60,"data":{"Ret":"0"}} 22) 返回设计模式 请求:{"req":"AIP_GetInDesignMode","rid":62,"para":{}} 返回:{"ret":0,"rid":62,"data":{"InDesignMode":"0"}} 22) 设置设计模式 请求:{"req":"AIP_PutInDesignMode","rid":62,"para":{"InDesignMode":"0"}} 返回:{"ret":0,"rid":62,"data":{"Ret":"0"}} 23) 返回设计模式 请求:{"req":"AIP_GetPathName","rid":63,"para":{}} 返回:{"ret":0,"rid":63,"data":{"PathName":""}} 24) 设置设计模式 PathName需先进行UrlEncode编辑 请求:{"req":"AIP_PutPathName","rid":64,"para":{"PathName":""}} 返回:{"ret":0,"rid":64,"data":{"Ret":"0"}} 25) 返回当前压感灵敏度级别 请求:{"req":"AIP_GetPressurelevel","rid":65,"para":{}} 返回:{"ret":0,"rid":65,"data":{"Pressurelevel":""}} 26) 设置当前压感灵敏度级别 请求:{"req":"AIP_PutPressurelevel","rid":66,"para":{"Pressurelevel":""}} 返回:{"ret":0,"rid":66,"data":{"Ret":"0"}} 27) 返回控件菜单显示状态 请求:{"req":"AIP_GetShowDefMenu","rid":67,"para":{}} 返回:{"ret":0,"rid":67,"data":{"ShowDefMenu":""}} 28) 设置控件菜单显示状态 请求:{"req":"AIP_PutShowDefMenu","rid":68,"para":{"ShowDefMenu":""}} 返回:{"ret":0,"rid":68,"data":{"Ret":"0"}} 29) 返回全屏显示状态 请求:{"req":"AIP_GetShowFullScreen","rid":69,"para":{}} 返回:{"ret":0,"rid":69,"data":{"ShowFullScreen":"0"}} 30) 设置全屏显示状态 请求:{"req":"AIP_PutShowFullScreen","rid":70,"para":{"ShowFullScreen":"1"}} 返回:{"ret":0,"rid":670,"data":{"Ret":"0"}} 31) 返回滚动条状态 请求:{"req":"AIP_GetShowScrollBarButton","rid":71,"para":{}} 返回:{"ret":0,"rid":71,"data":{"ShowScrollBarButton":"0"}} 32) 设置滚动条状态 请求:{"req":"AIP_PutShowScrollBarButton","rid":72,"para":{"ShowScrollBarButton":"0"}} 返回:{"ret":0,"rid":72,"data":{"Ret":"0"}} 33) 返回当前word文件的修订显示状态。此属性只针对word 请求:{"req":"AIP_GetShowRevisions","rid":73,"para":{}} 返回:{"ret":0,"rid":73,"data":{"ShowRevisions":"0"}} 34) 设置当前word文件的修订显示状态 请求:{"req":"AIP_PutShowRevisions","rid":74,"para":{"ShowRevisions":"0"}} 返回:{"ret":0,"rid":74,"data":{"Ret":"0"}} 35) 返回工具栏显示状态 请求:{"req":"AIP_GetShowToolBar","rid":75,"para":{}} 返回:{"ret":0,"rid":75,"data":{"ShowToolBar":"0"}} 36) 设置工具栏显示状态 请求:{"req":"AIP_PutShowToolBar","rid":76,"para":{"ShowToolBar":"0"}} 返回:{"ret":0,"rid":76,"data":{"Ret":"0"}} 37) 返回文档视图 请求:{"req":"AIP_GetShowView","rid":77,"para":{}} 返回:{"ret":0,"rid":77,"data":{"SShowView":"0"}} 38) 设置文档视图 请求:{"req":"AIP_PutShowView","rid":78,"para":{"ShowView":"0"}} 返回:{"ret":0,"rid":78,"data":{"Ret":"0"}} 39) 返回当前文字平滑状态 请求:{"req":"AIP_GetTextSmooth","rid":79,"para":{}} 返回:{"ret":0,"rid":79,"data":{"TextSmooth":"0"}} 40) 设置当前文字平滑状态 请求:{"req":"AIP_PutTextSmooth","rid":80,"para":{"TextSmooth":"0"}} 返回:{"ret":0,"rid":80,"data":{"Ret":"0"}} 41) 返回水印透明度 请求:{"req":"AIP_GetWaterMarkAlpha","rid":81,"para":{}} 返回:{"ret":0,"rid":81,"data":{"WaterMarkAlpha":"0"}} 42) 设置水印透明度 请求:{"req":"AIP_PutWaterMarkAlpha","rid":82,"para":{"WaterMarkAlpha":"0"}} 返回:{"ret":0,"rid":82,"data":{"Ret":"0"}} 43) 返回水印旋转角度(X0.1度) 请求:{"req":"AIP_GetWaterMarkAngle","rid":83,"para":{}} 返回:{"ret":0,"rid":83,"data":{"WaterMarkAngle":""}} 44) 设置水印旋转角度 请求:{"req":"AIP_PutWaterMarkAngle","rid":84,"para":{"WaterMarkAngle":""}} 返回:{"ret":0,"rid":84,"data":{"Ret":"0"}} 45) 返回水印模式 请求:{"req":"AIP_GetWaterMarkMode","rid":85,"para":{}} 返回:{"ret":0,"rid":85,"data":{"WaterMarkMode":""}} 46) 设置水印模式 请求:{"req":"AIP_PutWaterMarkMode","rid":86,"para":{"WaterMarkMode":""}} 返回:{"ret":0,"rid":86"data":{"Ret":"0"}} 47) 返回输出的水印在文档的X坐标位置(坐标单位由CurrXYMode指定)。 请求:{"req":"AIP_GetWaterMarkPosX","rid":87,"para":{}} 返回:{"ret":0,"rid":87,"data":{"WaterMarkPosX":""}} 48) 设置输出的水印在文档的X坐标位置 请求:{"req":"AIP_PutWaterMarkPosX","rid":88,"para":{"WaterMarkPosX":""}} 返回:{"ret":0,"rid":88"data":{"Ret":"0"}} 49) 返回输出的水印在文档的Y坐标位置(坐标单位由CurrXYMode指定)。 请求:{"req":"AIP_GetWaterMarkPosY","rid":89,"para":{}} 返回:{"ret":0,"rid":89,"data":{"WaterMarkPosY":""}} 50) 设置输出的水印在文档的Y坐标位置 请求:{"req":"AIP_PutWaterMarkPosY","rid":90,"para":{"WaterMarkPosY":""}} 返回:{"ret":0,"rid":90"data":{"Ret":"0"}} 51) 返回输出的水印文字颜色 请求:{"req":"AIP_GetWaterMarkTextColor","rid":91,"para":{}} 返回:{"ret":0,"rid":91,"data":{"WaterMarkTextColor":""}} 52) 设置水印文字颜色设置 请求:{"req":"AIP_PutWaterMarkTextColor","rid":92,"para":{"WaterMarkTextColor":""}} 返回:{"ret":0,"rid":92"data":{"Ret":"0"}} 53) 返回水印的内容(文字或图片文件路径 ) 请求:{"req":"AIP_GetWaterMarkTextOrPath","rid":93,"para":{}} 返回:{"ret":0,"rid":93,"data":{"WaterMarkTextOrPath":""}} 54) 设置水印的内容 WaterMarkTextOrPath需先进行UrlEncode编辑 请求:{"req":"AIP_PutWaterMarkTextOrPath","rid":94,"para":{"WaterMarkTextOrPath":""}} 返回:{"ret":0,"rid":94"data":{"Ret":"0"}} 55) 返回水印的缩放比例 请求:{"req":"AIP_GetWaterMarkTxtHOrImgZoom","rid":95,"para":{}} 返回:{"ret":0,"rid":95,"data":{"WaterMarkTxtHOrImgZoom":""}} 56) 设置水印的缩放比例 请求:{"req":"AIP_PutWaterMarkTxtHOrImgZoom","rid":96,"para":{"WaterMarkTxtHOrImgZoom":""}} 返回:{"ret":0,"rid":96"data":{"Ret":"0"}} 57) 返回PageCount 请求:{"req":"AIP_GetPageCount","rid":97,"para":{}} 返回:{"ret":0,"rid":97,"data":{"PageCount":""}} 58) 返回当前版本号 请求:{"req":"AIP_GetVersion","rid":98,"para":{}} 返回:{"ret":0,"rid":98,"data":{"Version":""}} 59) 批量获取属性 以上属性支持批量设置,获取水印相关属性举例如下: {"req":"AIP_GetProp","rid":59,"para":{"Items":["WaterMarkMode","WaterMarkAlpha","WaterMarkTextOrPath","WaterMarkAddition","WaterMarkTxtHOrImgZoom","WaterMarkPosX","WaterMarkPosY","WaterMarkTextColor","WaterMarkAngle"]}} 获取指定名称的属性值,可批量获取,也可以获取单个。 返回内容格式如下: {"ret":0,"rid":59,"data":{"WaterMarkMode":0,"WaterMarkAlpha":0,"WaterMarkTextOrPath":"","WaterMarkAddition":0,"WaterMarkTxtHOrImgZoom":0,"WaterMarkPosX":0,"WaterMarkPosY":0,"WaterMarkTextColor":0,"WaterMarkAngle":0}} 请求Items中的每个名称都对应自己名称的值 60) 批量设置属性 以上属性支持批量设置,设置水印相关属性举例如下: {"req":"AIP_PutProp","rid":60,"para":{"WaterMarkMode":0,"WaterMarkAlpha":0,"WaterMarkTextOrPath":"","WaterMarkAddition":0,"WaterMarkTxtHOrImgZoom":0,"WaterMarkPosX":0,"WaterMarkPosY":0,"WaterMarkTextColor":0,"WaterMarkAngle":0}} 返回内容格式如下: 返回:{"ret":0,"rid":60"data":{"Ret":"0"}} B、函数功能请求: 1) 显示关于对话框 请求:{"req":"AIP_AboutBox","rid":101,"para":{}} 返回:{"ret":0,"rid":101,"data":{}} 2) 添加骑缝章和普通印章接口(必须打开文件且用户已登录) 请求:{"req":"AIP_AddQiFengSeal","rid":102,"para":{"From":"","Pages":"","OriSealName":"","SealName":""}} 返回:{"ret":0,"rid":102,"data":{"Ret":"1"}} Ret 1成功,0失败 3) 如当前是通过LoadOriginalFile打开的原始文件,通过此接口可以接受文件的全部修订 请求:{"req":"AIP_AcceptAllRevisions","rid":103,"para":{}} 返回:{"ret":0,"rid":103,"data":{"Ret":"1"}} Ret >0 成功,<=0失败 4) 添加当前文件的属性和值 请求:{"req":"AIP_AddDocProperty","rid":104,"para":{"Name":"","Value":""}} 返回:{"ret":0,"rid":104,"data":{"Ret":"1"}} Ret !=0 成功,=0失败 5) 在AIP_BeforeConvert后,默认打印机恢复为原打印机,并读取设置 请求:{"req":"AIP_AfterConvert","rid":105,"para":{}} 返回:{"ret":0,"rid":105,"data":{"Ret":"1"}} Ret >0 成功,<=0失败 6) 将控件虚拟打印机设置为系统默认打印机,并保存原打印机设置。 在AIP_AfterConvert 后恢复 请求:{"req":"AIP_BeforeConvert","rid":106,"para":{}} 返回:{"ret":0,"rid":106,"data":{"Ret":"1"}} Ret >0 成功,<=0失败 7) 将控件虚拟打印机设置为系统默认打印机,并保存原打印机设置。 在AIP_AfterConvert后恢复 请求:{"req":"AIP_BeforeConvertEx","rid":107,"para":{"PaperWidth":"","PaperHeight":""}} 返回:{"ret":0,"rid":107,"data":{"Ret":"1"}} Ret >0 成功,<=0失败 8) 判断操作是否可以恢复 请求:{"req":"AIP_CanRedo","rid":108,"para":{}} 返回:{"ret":0,"rid":108,"data":{"Ret":"1"}} Ret 1 可以恢复,0不可恢复 9) 判断操作是否可以撤销 请求:{"req":"AIP_CanUndo","rid":109,"para":{}} 返回:{"ret":0,"rid":109,"data":{"Ret":"1"}} Ret 1 可以撤销,0不可撤销 10) 修改当前用户的登陆密码 请求:{"req":"AIP_ChangeCurrUserPwd","rid":110,"para":{"OldPwd":"","NewPwd":""}} 返回:{"ret":0,"rid":110,"data":{"Ret":"1"}} Ret <>0 成功,0失败 11) 关闭当前文档 请求:{"req":"AIP_CloseDoc","rid":111,"para":{"ReqSaved":"0"}} 返回:{"ret":0,"rid":111,"data":{"Ret":"1"}} Ret <>0 成功,0失败 12) 把当前通过AIP_LoadOriginalFile打开的原始文件直接转化成AIP文件 请求:{"req":"AIP_ConvertToAip","rid":112,"para":{"AddOri":"","Normal":""}} 返回:{"ret":0,"rid":112,"data":{"Ret":"1"}} Ret <>0 成功,0失败 13) 将高度由原单位换算为新的单位 请求:{"req":"AIP_ConvertXYModeH","rid":113,"para":{"PageIndex":"","W":"","SXYMode":"","DXYMode":""}} 返回:{"ret":0,"rid":113,"data":{"Ret":""}} Ret 成功:换算为新单位后的高度值 14) 将宽度由原单位换算为新的单位 请求:{"req":"AIP_ConvertXYModeW","rid":114,"para":{"PageIndex":"","W":"","SXYMode":"","DXYMode":""}} 返回:{"ret":0,"rid":114,"data":{"Ret":""}} Ret 成功:换算为新单位后的宽度值 15) 拷贝本地文件 FromFile、ToFile需先进行UrlEncode编辑 请求:{"req":"AIP_CopyLocalFile","rid":115,"para":{"FromFile":"","ToFile":""}} 返回:{"ret":0,"rid":115,"data":{"Ret":"1"}} Ret 1 成功,0失败 16) CopySelectText 请求:{"req":"AIP_CopySelectText","rid":116,"para":{}} 返回:{"ret":0,"rid":116,"data":{}} 17) 创建文件夹 Folder需先进行UrlEncode编辑 请求:{"req":"AIP_CreateFolder","rid":117,"para":{"Folder":""}} 返回:{"ret":0,"rid":117,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 18) 解密文件 InFile、OutFile需先进行UrlEncode编辑 请求:{"req":"AIP_DecFile","rid":110,"para":{"InFile":"","OutFile":"","Pwd":""}} 返回:{"ret":0,"rid":110,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 19) 删除文件属性 请求:{"req":"AIP_DelDocProperty","rid":119,"para":{"Name":""}} 返回:{"ret":0,"rid":119,"data":{"Ret":"1"}} Ret <>0 成功,0失败 20) 删除文件夹 Folder需先进行UrlEncode编辑 请求:{"req":"AIP_DeleteFolder","rid":120,"para":{"Folder":""}} 返回:{"ret":0,"rid":120,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 21) 删除本地文件 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_DeleteLocalFile","rid":121,"para":{"FileName":""}} 返回:{"ret":0,"rid":121,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 22) 删除指定节点 请求:{"req":"AIP_DeleteNote","rid":122,"para":{"NoteName":""}} 返回:{"ret":0,"rid":122,"data":{"Ret":"1"}} Ret <>0 成功,0失败 23) 删除指定页面 请求:{"req":"AIP_DeletePage","rid":123,"para":{"Page":"0"}} 返回:{"ret":0,"rid":123,"data":{"Ret":"1"}} Ret <>0 成功,0失败 24) 加密文件 InFile、OutFile、PwdFile需先进行UrlEncode编辑 请求:{"req":"AIP_EncFile","rid":124,"para":{"InFile":"","OutFile":"","PwdFile":""}} 返回:{"ret":0,"rid":124,"data":{"Ret":""}} Ret "o-加密密码"成功,"x-错误信息" 失败 25) 执行shell命令 Exe、Paramer需先进行UrlEncode编辑 请求:{"req":"AIP_ExecuteCmd","rid":125,"para":{"Exe":"","Flag":"","Paramer":""}} 返回:{"ret":0,"rid":125,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 26) 导出文档中所有区域的字符串数据 OpenFileName、SaveFileName需先进行UrlEncode编辑 请求:{"req":"AIP_ExportEditNodeValue","rid":126,"para":{"OpenFileName":"","SaveFileName":"","WithHeader":""}} 返回:{"ret":0,"rid":126,"data":{"Ret":"1"}} Ret 0 成功,<>0失败 27) FindText 请求:{"req":"AIP_FindText","rid":127,"para":{"Text":"","Case ":"","PageS":"","PosXS":"","PosYS":"","PageE":"","PosXE":"","PosYE":"","SearchIndex":""}} 返回:{"ret":0,"rid":127,"data":{"Ret":""}} Ret 成功:S页索引,页坐标X,页坐标Y 成功,失败:空 28) 连接FTP服务器 URL需先进行UrlEncode编辑 请求:{"req":"AIP_FtpConnect","rid":128,"para":{"URL":"","Port":"","User":"","Pwd":""}} 返回:{"ret":0,"rid":128,"data":{"Ret":"1"}} Ret <>0 成功,0失败 29) 断开FTP服务器连接 请求:{"req":"AIP_FtpDisConnect","rid":129,"para":{}} 返回:{"ret":0,"rid":129,"data":{"Ret":"1"}} Ret <>0 成功,0失败 30) 通过FTP下载服务器文件 RemoteFile、LocalFile需先进行UrlEncode编辑 请求:{"req":"AIP_FtpGetFile","rid":130,"para":{"RemoteFile":"","LocalFile":""}} 返回:{"ret":0,"rid":130,"data":{"Ret":"1"}} Ret <>0 成功,0失败 31) 通过FTP上传本地文件 RemoteFile、LocalFile需先进行UrlEncode编辑 请求:{"req":"AIP_FtpPutFile","rid":131,"para":{"RemoteFile":"","LocalFile":"","OverWrite":""}} 返回:{"ret":0,"rid":131,"data":{"Ret":"1"}} Ret <>0 成功,0失败 32) 获取word文档中的bookmark的位置 请求:{"req":"AIP_GetBMPos","rid":132,"para":{"BMName":"","PosType":""}} 返回:{"ret":0,"rid":132,"data":{"Ret":"1"}} Ret >=0 成功,<0失败 33) 获取当前文件的Base64编码的字符串,与"AIP_LoadFileBase64对应 请求:{"req":"AIP_GetCurrFileBase64","rid":133,"para":{}} 返回:{"ret":0,"rid":133,"data":{"Ret":""}} Ret 成功:Base64编码的字符串,失败:空 34) 取得当前文件大小,单位字节 请求:{"req":"AIP_GetCurrFileSize","rid":134,"para":{}} 返回:{"ret":0,"rid":134,"data":{"Ret":""}} Ret >0 成功,0失败 35) 获得文档窗口的指定位置在页面上的坐标 请求:{"req":"AIP_GetCurrPagePos","rid":135,"para":{"PagePosType":""}} 返回:{"ret":0,"rid":135,"data":{"Ret":""}} Ret 成功:页索引,页面坐标x,页面坐标Y 失败:空 36) 获得当前服务序列号对应的服务名。每一服务器用户分配32位唯一表示符号 请求:{"req":"AIP_GetCurrServer","rid":136,"para":{"ServerID":"1"}} 返回:{"ret":0,"rid":136,"data":{"Ret":"","ServerID":"1"}} Ret 成功:当前服务器的详细名称,失败:空 37) 获取当前用户的权限(请参阅方法Login) 请求:{"req":"AIP_GetCurrUserAccess","rid":137,"para":{}} 返回:{"ret":0,"rid":137,"data":{"Ret":"1"}} Ret <>0 当前用户的权限 成功,0失败 38) 返回当前登录用户的用户名 请求:{"req":"AIP_GetCurrUserID","rid":138,"para":{}} 返回:{"ret":0,"rid":138,"data":{"Ret":""}} Ret 成功:当前登录用户的用户名,0失败 39) 获取用户界面颜色 请求:{"req":"AIP_GetCustomColour","rid":139,"para":{"Type":"1"}} 返回:{"ret":0,"rid":139,"data":{"Ret":""}} Ret 成功:颜色的RGB值 40) 返回当前打开的文件中的所有文字 请求:{"req":"AIP_GetDocText","rid":140,"para":{}} 返回:{"ret":0,"rid":140,"data":{"Ret":"1"}} Ret 成功:返回当前打开的文件中的所有文字 失败:空 41) 根据错误ID来返回错误的信息 请求:{"req":"AIP_GetErrorString","rid":141,"para":{"ErrorNo":"1"}} 返回:{"ret":0,"rid":141,"data":{"Ret":"1"}} Ret 成功:错误的信息 失败:空 42) 获取文件的base64串 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_GetFileBase64","rid":142,"para":{"FilePath":""}} 返回:{"ret":0,"rid":142,"data":{"Ret":""}} Ret 成功:base64串 失败:空 43) 返回文件的修改/创建日期 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_GetFileInfo","rid":143,"para":{"FilePath":"","Type":""}} 返回:{"ret":0,"rid":143,"data":{"Ret":""}} Ret 成功:字符串 失败:空 44) 获得指定目录下的所有文件列表 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_GetFileListUnderDir","rid":144,"para":{"FilePath":""}} 返回:{"ret":0,"rid":144,"data":{"Ret":""}} Ret 成功:以;分割的文件列表 失败:空 45) 获得指定目录下的所有文件列表 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_GetFileSize","rid":145,"para":{"FilePath":""}} 返回:{"ret":0,"rid":145,"data":{"Ret":""}} Ret 成功:以;分割的文件列表 失败:空 46) 获得上传的二进制流数据 请求:{"req":"AIP_GetHttpPostData","rid":146,"para":{"ParaS":"","ParaN":""}} 返回:{"ret":0,"rid":146,"data":{"Ret":""}} Ret 成功:二进制流数据BASE64编码 失败:空 47) 获得打印机的任务详细信息 请求:{"req":"AIP_GetJobInfoByStr","rid":147,"para":{"PrintName":"","JobID":""}} 返回:{"ret":0,"rid":147,"data":{"Ret":""}} Ret 成功:打印机的任务详细信息,失败:空 48) 获取当前属性的下一个属性 请求:{"req":"AIP_GetNextDocProperty","rid":148,"para":{"PrevName":""}} 返回:{"ret":0,"rid":148,"data":{"Ret":""}} Ret 成功:属性名称,失败:空 49) 获取下一个节点信息 请求:{"req":"AIP_GetNextNote","rid":149,"para":{"UserID":"","ServerID":"","NoteID":""}} 返回:{"ret":0,"rid":149,"data":{"Ret":""}} Ret 成功:下一个节点信息,失败:空 50) 获取用户 UserID 的下一个用户ID 请求:{"req":"AIP_GetNextUser","rid":150,"para":{"UserID":"","ServerID":""}} 返回:{"ret":0,"rid":150,"data":{"Ret":""}} Ret 成功:下一个用户ID 失败:空 51) 获取指定节点的逻辑高度(单位基于当前坐标系) 请求:{"req":"AIP_GetNoteHeight","rid":151,"para":{"Name":""}} 返回:{"ret":0,"rid":151,"data":{"Ret":""}} Ret 成功:获取指定节点的逻辑高度(单位基于当前坐标系),失败:0 52) 获取节点个数 请求:{"req":"AIP_GetNoteNum","rid":152,"para":{"NoteType":""}} 返回:{"ret":0,"rid":152,"data":{"Ret":""}} Ret 成功:节点个数 53) 获取指定节点的X逻辑坐标位置(坐标单位由CurrXYMode指定) 请求:{"req":"AIP_GetNotePosX","rid":153,"para":{"Name":""}} 返回:{"ret":0,"rid":153,"data":{"Ret":""}} Ret 成功:指定节点的X逻辑坐标 54) 获取指定节点的Y逻辑坐标位置(坐标单位由CurrXYMode指定) 请求:{"req":"AIP_GetNotePosY","rid":154,"para":{"Name":""}} 返回:{"ret":0,"rid":154,"data":{"Ret":""}} Ret 成功:指定节点的Y逻辑坐标 55) 根据序号获得节点 请求:{"req":"AIP_GetNoteByIndex","rid":155,"para":{"Index":"","NoteType":""}} 返回:{"ret":0,"rid":155,"data":{"Ret":""}} Ret 成功:节点名称 失败:空 56) 获取指定节点的逻辑宽度(单位基于当前坐标系) 请求:{"req":"AIP_GetNoteWidth","rid":156,"para":{"Name":""}} 返回:{"ret":0,"rid":156,"data":{"Ret":""}} Ret 成功:指定节点的逻辑宽度 57) 获取原始文件 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_GetOriginalFile","rid":157,"para":{"FileName":"","OriginalIndex":""}} 返回:{"ret":0,"rid":157,"data":{"Ret":""}} Ret <>0 成功,0失败 58) 获取原始文件个数 请求:{"req":"AIP_GetOriginalFileCount","rid":158,"para":{}} 返回:{"ret":0,"rid":158,"data":{"Ret":""}} Ret 成功:原始文件的个数 59) 获取原始文件名 请求:{"req":"AIP_GetOriginalFileName","rid":159,"para":{"OriginalIndex":""}} 返回:{"ret":0,"rid":159,"data":{"Ret":""}} Ret 成功:原始文件名 60) 获取原始文档类型 请求:{"req":"AIP_GetOriginalFileType","rid":160,"para":{"OriginalIndex":""}} 返回:{"ret":0,"rid":160,"data":{"Ret":""}} Ret 成功:原始文档类型 61) 获取指定页面的高度(像素) 请求:{"req":"AIP_GetPageHeight","rid":161,"para":{"PageIndex":""}} 返回:{"ret":0,"rid":161,"data":{"Ret":""}} Ret 成功:指定页面的高度 62) 获取页面显示模式信息 请求:{"req":"AIP_GetPageMode","rid":162,"para":{"ZoomPercent":""}} 返回:{"ret":0,"rid":162,"data":{"Ret":""}} Ret 成功:>0 63) 获取指定页面的宽度(像素) 请求:{"req":"AIP_GetPageWidth","rid":163,"para":{"PageIndex":""}} 返回:{"ret":0,"rid":163,"data":{"Ret":""}} Ret 成功:指定页面的宽度 64) 获得所有打印机 请求:{"req":"AIP_GetPrinterList","rid":164,"para":{}} 返回:{"ret":0,"rid":164,"data":{"Ret":""}} Ret 成功:格式为<+打印机名/;打印机状态码/;任务数/;-> 失败:空 65) 获得打印机的任务列表和状态 请求:{"req":"AIP_GetPrinterStatusByStr","rid":165,"para":{"PrintName":""}} 返回:{"ret":0,"rid":165,"data":{"Ret":""}} Ret 成功:非空 失败:空 66) 获取指定节点或页面的旋转类型 请求:{"req":"AIP_GetRotateType","rid":166,"para":{"Name":""}} 返回:{"ret":0,"rid":166,"data":{"Ret":""}} Ret 成功:>=0 失败:<0 67) 获取当前智能卡的证书序列 请求:{"req":"AIP_GetSerialNumber","rid":167,"para":{}} 返回:{"ret":0,"rid":167,"data":{"Ret":""}} Ret 成功:智能卡的证书序列 68) 获得sheet数量(excel) 请求:{"req":"AIP_GetSheetCount","rid":168,"para":{}} 返回:{"ret":0,"rid":168,"data":{"Ret":""}} Ret >=0 成功,<0 失败 69) 根据Sheet名称获得sheet序号 请求:{"req":"AIP_GetSheetIndex","rid":169,"para":{"SheetName":""}} 返回:{"ret":0,"rid":169,"data":{"Ret":""}} Ret >=0 成功,<0 失败 70) 获得sheet名称(excel) 请求:{"req":"AIP_GetSheetName","rid":170,"para":{"SheetIndex":""}} 返回:{"ret":0,"rid":170,"data":{"Ret":""}} Ret 成功:sheet名称 失败:空 71) 获得指定范围的公式(excel) 请求:{"req":"AIP_GetSheetRangeFormula","rid":171,"para":{"SheetIndex":"","RngName":""}} 返回:{"ret":0,"rid":171,"data":{"Ret":""}} Ret 成功:指定范围的公式 失败:空 72) 获得指定范围的文字(excel) 请求:{"req":"AIP_GetSheetRangeText","rid":172,"para":{"SheetIndex":"","RngName":""}} 返回:{"ret":0,"rid":172,"data":{"Ret":""}} Ret 成功:指定范围的文字 失败:空 73) 获得指定范围的值(excel) 请求:{"req":"AIP_GetSheetRangeValue","rid":173,"para":{"SheetIndex":"","RngName":""}} 返回:{"ret":0,"rid":173,"data":{"Ret":""}} Ret 成功:指定范围的值 失败:空 74) 随机生成一个唯一的临时文件名 请求:{"req":"AIP_GetTempFileName","rid":174,"para":{"FileType":""}} 返回:{"ret":0,"rid":174,"data":{"Ret":""}} Ret 成功:临时文件名 失败:空 75) 获取用户 pcUserID 的用户的相关信息 请求:{"req":"AIP_GetUserInfo","rid":175,"para":{"UserID":"","ServerID":""}} 返回:{"ret":0,"rid":175,"data":{"Ret":"","UserType":"","UserLastTime":"","PenColor":"","PenWidth":""}} Ret 成功:1 失败:0 UserType用户类型 UserLastTime最后登录时间 PenColor笔的颜色 PenWidth笔的宽度 76) 获取指定类型的用户信息 请求:{"req":"AIP_GetUserInfoEx","rid":176,"para":{"UserID":"","ServerID":"","Type":""}} 返回:{"ret":0,"rid":176,"data":{"Ret":""}} Ret 成功:指定类型的用户信息 77) 获取当前登录用户的远程地址。仅当用户是远程登录时有效 请求:{"req":"AIP_GetUserRemoteAddr","rid":177,"para":{}} 返回:{"ret":0,"rid":177,"data":{"Ret":""}} Ret 成功:登录用户的远程地址 失败:空 78) 获取参数对应的值 请求:{"req":"AIP_GetValue","rid":178,"para":{"Name":""}} 返回:{"ret":0,"rid":178,"data":{"Ret":""}} Ret 成功:参数对应的值 79) 获取参数对应的内容 请求:{"req":"AIP_GetValueEx","rid":179,"para":{"Name":"","ValueType":"","ValueName":"","ParaN":"","ParaS":""}} 返回:{"ret":0,"rid":179,"data":{"Ret":""}} Ret 成功:1 失败:<=0 80) 跳转到下一页 请求:{"req":"AIP_GotoNext","rid":180,"para":{}} 返回:{"ret":0,"rid":180,"data":{}} 81) 定位到参数指定的位置 请求:{"req":"AIP_GotoPosition","rid":181,"para":{"Type":"","Name":"","PageIndex":"","PosX":"""Posy":""}} 返回:{"ret":0,"rid":181,"data":{"Ret":""}} Ret 成功:1 失败:<>1 82) 跳转到上一页 请求:{"req":"AIP_GotoPrev","rid":182,"para":{}} 返回:{"ret":0,"rid":182,"data":{}} 83) 使AIP文档中指定类型变成灰色 请求:{"req":"AIP_GrayData","rid":183,"para":{"GrayType":""}} 返回:{"ret":0,"rid":183,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 84) 隐藏指定工具条按钮 请求:{"req":"AIP_HideBarItems","rid":184,"para":{"Menu1":"","Menu2":"","ToolBar1":"","ToolBar2":"","ExtBar1":"","ExtBar2":""}} 返回:{"ret":0,"rid":184,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 85) 隐藏指定菜单 请求:{"req":"AIP_HideMenuItem","rid":185,"para":{"MenuState":""}} 返回:{"ret":0,"rid":185,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 86) 设置通过Http上传的数据流 RelateFile需先进行UrlEncode编辑 请求:{"req":"AIP_HttpAddPostBuffer","rid":186,"para":{"Name":"","RelateFile":"","Buffer":"","Len":""}} 返回:{"ret":0,"rid":186,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 87) 设置Http上传当前打开的AIP文件 请求:{"req":"AIP_HttpAddPostCurrFile","rid":187,"para":{"Name":""}} 返回:{"ret":0,"rid":187,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 88) 加入当前文件到待上传列表 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_HttpAddPostCurrFileEx","rid":188,"para":{"Name":"","FileName":""}} 返回:{"ret":0,"rid":188,"data":{"Ret":""}} Ret 成功:1 失败:=0 89) 设置通过Http上传的文件 File需先进行UrlEncode编辑 请求:{"req":"AIP_HttpAddPostFile","rid":189,"para":{"Name":"","File":""}} 返回:{"ret":0,"rid":189,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 90) 设置通过Http上传的字符串变量 请求:{"req":"AIP_HttpAddPostString","rid":190,"para":{"Name":"","Value":""}} 返回:{"ret":0,"rid":190,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 91) 设置通过Http上传的数字变量 请求:{"req":"AIP_HttpAddPostValue","rid":191,"para":{"Name":"","Value":""}} 返回:{"ret":0,"rid":191,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 92) 初始化Http , 在调用Http的时候必须首先初始化 请求:{"req":"AIP_HttpInit","rid":192,"para":{}} 返回:{"ret":0,"rid":192,"data":{"Ret":""}} Ret 成功:<>0 失败:=0 93) 触发Http上传Post操作 HttpURL需先进行UrlEncode编辑 请求:{"req":"AIP_HttpPost","rid":193,"para":{"HttpURL":""}} 返回:{"ret":0,"rid":193,"data":{"Ret":""}} Ret 成功:HTTP的返回信息 失败:空 94) 执行菜单快捷键操作 请求:{"req":"AIP_InputHotKey","rid":194,"para":{"Type":""}} 返回:{"ret":0,"rid":194,"data":{"Ret":""}} Ret 成功:1 失败:0 95) 设置各部门打印份数。可重复调用,本接口只有网络版有效 请求:{"req":"AIP_InsertDepartmentCopy","rid":195,"para":{"DepName":"","Copys":""}} 返回:{"ret":0,"rid":195,"data":{"Ret":""}} Ret 成功:<>0 失败:0 96) 插入附件 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_InsertEmbFile","rid":196,"para":{"FilePath":"","FileData":"","EmbName":"","Page":"","Left":"","Top":""}} 返回:{"ret":0,"rid":196,"data":{"Ret":""}} Ret 成功:插入的节点名称 失败:空 97) 创建空白页面,批示页,编辑页。(必须用户登录) 请求:{"req":"AIP_InsertEmptyPage","rid":197,"para":{"PageIndex":"","Type":"","Width":"","Height":""}} 返回:{"ret":0,"rid":197,"data":{"Ret":""}} Ret 成功:<>0 失败:0 98) 动态添加编辑域|手写域|超链接.(必须登录) 请求:{"req":"AIP_InsertNote","rid":198,"para":{"Name":"","PageIndex":"","Type":"","PosX":"","PosY":"","Width":"","Height":""}} 返回:{"ret":0,"rid":198,"data":{"Ret":""}} Ret 成功:节点名字符串 失败:空 99) 插入节点 请求:{"req":"AIP_InsertNote2","rid":199,"para":{"Name":"","NoteType":"","Value":"","StartPage":"","EndPage":"","TagType":"","TagName":"","Offset":"","Zoom":""}} 返回:{"ret":0,"rid":199,"data":{"Ret":""}} Ret 成功:节点名称 失败:空 100) 插入节点 请求:{"req":"AIP_InsertNoteEx","rid":200,"para":{"Name":"","NoteType":"","TagType":"","TagName":"","Level":""}} 返回:{"ret":0,"rid":200,"data":{"Ret":""}} Ret 成功:节点的名字 失败:空 101) 插入图片(用户必须登录) 请求:{"req":"AIP_InsertPicture","rid":201,"para":{"PicName":"","PicValue":"","Page":"","Left":"","Top":"","Zoom":""}} 返回:{"ret":0,"rid":201,"data":{"Ret":""}} Ret 成功:节点的名字 失败:空 102) 判断打印机状态 请求:{"req":"AIP_IsConverting","rid":202,"para":{}} 返回:{"ret":0,"rid":2023,"data":{"Ret":""}} Ret 成功:1正在打印 0未在打印 -1打印出错 103) 判定是否为空白文档 请求:{"req":"AIP_IsEmptyDoc","rid":203,"para":{}} 返回:{"ret":0,"rid":203,"data":{"Ret":""}} Ret 成功:1空白文档 <>1非空白文档 104) 判断文件夹是否存在 Folder需先进行UrlEncode编辑 请求:{"req":"AIP_IsFolderExist","rid":204,"para":{"Folder":""}} 返回:{"ret":0,"rid":204,"data":{"Ret":""}} Ret 成功:1存在 <>1不存在 105) 判断当前是否登录 请求:{"req":"AIP_IsLogin","rid":205,"para":{}} 返回:{"ret":0,"rid":205,"data":{"Ret":""}} Ret 成功:<>0 0无用户登录 106) 判断当前是否打开文件 请求:{"req":"AIP_IsOpened","rid":206,"para":{}} 返回:{"ret":0,"rid":206,"data":{"Ret":""}} Ret 成功:<>0 0当前没有打开文件 107) 查看文件、用户、节点进行保护限制的状态 请求:{"req":"AIP_IsProtect","rid":207,"para":{"Name":"","Source":"","Type":""}} 返回:{"ret":0,"rid":207,"data":{"Ret":""}} Ret 成功:1受到保护 0未保护 -1发生错误 108) 文件是否被修改(从上一次保存到现在) 请求:{"req":"AIP_IsSaved","rid":208,"para":{}} 返回:{"ret":0,"rid":208,"data":{"Ret":""}} Ret 成功:<>0文档没修改 0文档被修改 109) 获取是否存在登录用户 请求:{"req":"AIP_IsUserExist","rid":209,"para":{"UserID":"","ServerID":""}} 返回:{"ret":0,"rid":209,"data":{"Ret":""}} Ret 成功:<>0存在此登录用户 0不存在匹配的登录用户信息 110) 打开文件 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_LoadFile","rid":210,"para":{"FileName":""}} 返回:{"ret":0,"rid":210,"data":{"Ret":""}} Ret 成功:1 失败:0 111) 加载Base64编码的字符串 请求:{"req":"AIP_LoadFileBase64","rid":211,"para":{"Base64String":""}} 返回:{"ret":0,"rid":211,"data":{"Ret":""}} Ret 成功:<>0 失败:0 112) 打开AIP文件, 如果打开的不是 AIP 文件, 将进行自动转化 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_LoadFileEx","rid":212,"para":{"FileNameOrUrl":"","AddOri":"","Normal":"","Type":""}} 返回:{"ret":0,"rid":212,"data":{"Ret":""}} Ret 成功:1 失败:0 113) 异步打开文件 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_LoadFileExAsync","rid":213,"para":{"FileNameOrUrl":"","AddOri":"","Normal":"","Type":""}} 返回:{"ret":0,"rid":213,"data":{"Ret":""}} Ret 成功:1 114) 以原始文件打开方式打开或创建文件,不转化为aip文件 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_LoadOriginalFile","rid":214,"para":{"FileNameOrUrl":"","Type":""}} 返回:{"ret":0,"rid":214,"data":{"Ret":""}} Ret 成功:1 失败:0 115) 异步打开原始文件 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_LoadOriginalFileAsync","rid":215"para":{"FileNameOrUrl":"","Type":""}} 返回:{"ret":0,"rid":215,"data":{"Ret":""}} Ret 成功:1 116) 登录当前系统。只有登录用户才可以对AIP文件进行操作(批注|盖章... ...) 请求:{"req":"AIP_Login","rid":216,"para":{"UserID":"","UserType":"","UserAccess":"","UserAccess":"","RemoteAddr":""}} 返回:{"ret":0,"rid":216,"data":{"Ret":""}} Ret 成功:0 失败:<>0 117) 用于登录AIP网络版服务器 RemoteAddr需先进行UrlEncode编辑 请求:{"req":"AIP_LoginEx","rid":217,"para":{"LoginData":"","DataLen":"","RemoteAddr":""}} 返回:{"ret":0,"rid":217,"data":{"Ret":""}} Ret 成功:0 失败:<>0 118) 用户退出 请求:{"req":"AIP_LoginEx","rid":218,"para":{}} 返回:{"ret":0,"rid":218,"data":{"Ret":""}} Ret 成功:1 失败:0 119) 插入批示页。或者合并AIP文件(必须用户登录) FileName需先进行UrlEncode编辑 请求:{"req":"AIP_MergeFile","rid":219,"para":{"PageStartIndex":"","FileName":""}} 返回:{"ret":0,"rid":219,"data":{"Ret":""}} Ret 成功:1 失败:0 120) 支持多页合并为一个页面(AIP的版本必须大于3.0) 请求:{"req":"AIP_MergerPage","rid":220,"para":{"Column":"","Row":"","Flag":"","PageWidth":"","PageHeight":"","StartPage":"","EndPage":"","MarginVert":"","MarginHorz":"","SpanVert":"","SpanHorz":""}} 返回:{"ret":0,"rid":220,"data":{"Ret":""}} Ret 成功:<>0 失败:0 121) 修改节点的名称 请求:{"req":"AIP_ModifyName","rid":221,"para":{"OldName":"","NewName":""}} 返回:{"ret":0,"rid":221,"data":{"Ret":""}} Ret 成功:<>0 失败:0 122) 部分保护word文档内容 请求:{"req":"AIP_PartialProtect","rid":222,"para":{"PosList":"","Pwd":"","Para":""}} 返回:{"ret":0,"rid":222,"data":{"Ret":""}} Ret 成功:0 失败:<>0 123) 打印当前文档 请求:{"req":"AIP_PrintDoc","rid":223,"para":{"PrintFlag":"","ShowDlg":""}} 返回:{"ret":0,"rid":223,"data":{"Ret":""}} Ret 成功:<>0 失败:0 124) 打印文档,提供更详细的打印控制 请求:{"req":"AIP_PrintDocEx","rid":224,"para":{"PrinterName":"","PrintFlag":"","ShowDlg":"","Zoom":"","FromPage":"","ToPage":"","OriSize":"","Copys":"","Collate":"","TranFirst":"","Dulpex":""}} 返回:{"ret":0,"rid":224,"data":{"Ret":""}} Ret 成功:<>0 失败:0 125) 保护或解除文档保护 请求:{"req":"AIP_ProtectDoc","rid":225,"para":{"Type":"","Pwd":"","Protect":""}} 返回:{"ret":0,"rid":225,"data":{"Ret":""}} Ret 成功:<>0 失败:0 126) 对文件、用户、节点进行保护限制 请求:{"req":"AIP_ProtectObject","rid":226,"para":{"Name":"","Source":"","Type":"","Old":"","New":""}} 返回:{"ret":0,"rid":226,"data":{"Ret":""}} Ret 成功:1 失败:0 127) 保护或者解除保护指定的sheet(excel) 请求:{"req":"AIP_ProtectSheet","rid":227,"para":{"SheetIndex":"","Pwd":"","Protect":""}} 返回:{"ret":0,"rid":227,"data":{"Ret":""}} Ret 成功:1 失败:0 128) 解密文件 InFile、OutFile需先进行UrlEncode编辑 请求:{"req":"AIP_PwdDecFile","rid":228,"para":{"InFile":"","OutFile":"","Pwd":""}} 返回:{"ret":0,"rid":228,"data":{"Ret":""}} Ret 成功:0 失败:<>0 129) 加密文件 InFile、OutFile需先进行UrlEncode编辑 请求:{"req":"AIP_PwdEncFile","rid":229,"para":{"InFile":"","OutFile":"","Pwd":"","Flag":"0"}} 返回:{"ret":0,"rid":229,"data":{"Ret":""}} Ret 成功:加密密码 失败:空 130) 读取文件数据 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_ReadLocalFile","rid":230,"para":{"FileName":"","Flag":"0"}} 返回:{"ret":0,"rid":230,"data":{"Ret":""}} Ret 成功:文件数据 失败:空 131) 单步恢复操作 请求:{"req":"AIP_Redo","rid":231,"para":{}} 返回:{"ret":0,"rid":231,"data":{"Ret":""}} 132) 恢复所有撤销的操作 请求:{"req":"AIP_RedoAll","rid":232,"para":{}} 返回:{"ret":0,"rid":232,"data":{"Ret":""}} 133) 重置打印机 请求:{"req":"AIP_ResetPrinterByStr","rid":233,"para":{"PrintName":""}} 返回:{"ret":0,"rid":233,"data":{"Ret":""}} Ret 成功:1 失败:<>1 134) 执行控件内部菜单 请求:{"req":"AIP_RunCommand","rid":234,"para":{"CmdType":"","CmdCode":"","RunMode":""}} 返回:{"ret":0,"rid":234,"data":{"Ret":""}} Ret 成功:1 失败:<>1 135) 将对应的页保存为相应类型图片,以字符串方式返回 请求:{"req":"AIP_SaveAsBase64","rid":235,"para":{"SaveType":"","PageStart":"","PageEnd":"","PageWidth":"","PageHeight":"","ZoomPercent":"","Reserve":""}} 返回:{"ret":0,"rid":235,"data":{"Ret":""}} Ret 成功:base64字符串 136) 将base64解开并存储到本地文件 FilePath需先进行UrlEncode编辑 请求:{"req":"AIP_SaveBinaryFileFromBase64","rid":236,"para":{"FilePath":"","Base64":""}} 返回:{"ret":0,"rid":236,"data":{"Ret":""}} 137) 文件另存 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_SaveTo","rid":237,"para":{"FileNameOrUrl":"","SaveType":"","Closed":""}} 返回:{"ret":0,"rid":237,"data":{"Ret":""}} Ret 成功:1 失败:0 138) 将AIP文件保存为TIFF格式 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_SaveToTiff","rid":238,"para":{"FileName":"","DPIX":"","DPIY":"","Bpp":"","Gray":""}} 返回:{"ret":0,"rid":238,"data":{"Ret":""}} Ret 成功:1 失败:0 139) 查找文字 请求:{"req":"AIP_SearchText","rid":239,"para":{"SearchText":"","MatchCase":"","FindNext":""}} 返回:{"ret":0,"rid":239,"data":{"Ret":""}} 140) 设置背景文件 FileNameOrUrl需先进行UrlEncode编辑 请求:{"req":"AIP_SetBackgroundDoc","rid":240,"para":{"FileNameOrUrl":"","Type":"","PageIndex":""}} 返回:{"ret":0,"rid":240,"data":{"Ret":""}} Ret 成功:1 失败:<>1 141) 设置指定页面的位置到指定窗口位置 请求:{"req":"AIP_SetCurrPagePos","rid":241,"para":{"PagePosType":"","PagePos":""}} 返回:{"ret":0,"rid":241,"data":{"Ret":""}} Ret 成功:1 失败:0 142) 设置当前系统时间 请求:{"req":"AIP_SetCurrTime","rid":242,"para":{"DateTime":""}} 返回:{"ret":0,"rid":242,"data":{"Ret":""}} Ret 成功:1 失败:0 143) 设置当前用户的操作对特定用户的可见性 请求:{"req":"AIP_SetCurrUserVisibilityForUser","rid":243,"para":{"UserID":"","ServerID":"","Del":""}} 返回:{"ret":0,"rid":243,"data":{"Ret":""}} Ret 成功:1 失败:0 144) 设置显示当前用户操作信息的密码(只有当前登录用户才可以设置) 请求:{"req":"AIP_SetCurrUserVisibilityPwd","rid":244,"para":{"Pwd":""}} 返回:{"ret":0,"rid":244,"data":{"Ret":""}} Ret 成功:<>0 失败:0 145) 设置用户界面颜色 请求:{"req":"AIP_设置用户界面颜色","rid":245,"para":{"Type":"","Colour":""}} 返回:{"ret":0,"rid":245,"data":{"Ret":""}} 146) 设置书签的内容。只针对word和wps 请求:{"req":"AIP_SetFieldValue","rid":246,"para":{"FieldName":"","Value":"","SheetName":""}} 返回:{"ret":0,"rid":246,"data":{"Ret":""}} Ret 成功:1 失败:0 147) 设置添加区域的位置 请求:{"req":"AIP_SetNotePos","rid":247,"para":{"NoteName":"","Left":"","Top":"","Width":"","Height":""}} 返回:{"ret":0,"rid":247,"data":{"Ret":""}} Ret 成功:1 失败:0 148) 设置页面显示模式 请求:{"req":"AIP_SetPageMode","rid":248,"para":{"ZoomType":"","ZoomPercent":""}} 返回:{"ret":0,"rid":248,"data":{"Ret":""}} 149) 设置远程服务器的地址。主要是满足智能卡用户验证其证书或者签名的合法性。网络版本用户专用 请求:{"req":"AIP_SetRemoteAddr","rid":249,"para":{"Addr":""}} 返回:{"ret":0,"rid":249,"data":{"Ret":""}} 150) 设置指定节点或页面的旋转类型 请求:{"req":"AIP_SetRotateType","rid":250,"para":{"Name":"","RotateType":""}} 返回:{"ret":0,"rid":250,"data":{"Ret":""}} Ret 成功:0 失败:<>0 151) 设置文档是否被修改 请求:{"req":"AIP_SetSaved","rid":251,"para":{"Saved":""}} 返回:{"ret":0,"rid":251,"data":{"Ret":""}} Ret 成功:0 152) 设置指定类型的用户信息 请求:{"req":"AIP_SetUserInfoEx","rid":252,"para":{"UserID":"","ServerID":"","Type":"","Value":""}} 返回:{"ret":0,"rid":252,"data":{"Ret":""}} Ret 成功:1 失败:0 153) 设置特定用户的节点信息是否显示 请求:{"req":"AIP_SetUserVisible","rid":253,"para":{"UserID":"","ServerID":"","NewValue":""}} 返回:{"ret":0,"rid":253,"data":{"Ret":""}} Ret 成功:1 失败:0 154) 设置参数对应的内容 请求:{"req":"AIP_SetValue","rid":254,"para":{"Name":"","Value":""}} 返回:{"ret":0,"rid":254,"data":{"Ret":""}} Ret 成功:1 失败:<=0 155) 设置参数对应的内容 请求:{"req":"AIP_SetValueEx","rid":255,"para":{"Name":"","Type":"","ParaN":"","ParaS":""}} 返回:{"ret":0,"rid":255,"data":{"Ret":""}} Ret 成功:1 失败:<=0 156) 显示或隐藏所有用户的节点信息 请求:{"req":"AIP_ShowAllNotes","rid":256,"para":{"Show":"0"}} 返回:{"ret":0,"rid":256,"data":{"Ret":""}} Ret 成功:1 失败:<=0 157) 显示文件选择框 请求:{"req":"AIP_ShowDialog","rid":257,"para":{"Title":"","InitValue":"","Filter":"","DialogType":""}} 返回:{"ret":0,"rid":257,"data":{"Ret":""}} Ret 成功:文件路径或目录路径 失败:空 158) 显示文件属性 请求:{"req":"AIP_ShowFileInfo","rid":258,"para":{}} 返回:{"ret":0,"rid":258,"data":{"Ret":""}} 159) 显示文件安全设置对话框 请求:{"req":"AIP_ShowFileSecurity","rid":259,"para":{}} 返回:{"ret":0,"rid":259,"data":{"Ret":""}} 160) 显示消息提示对话框 请求:{"req":"AIP_ShowMessage","rid":260,"para":{"Message":"","Message":"","Message":""}} 返回:{"ret":0,"rid":260,"data":{"Ret":""}} Ret 请参见MSDN或windowsAPI MessageBox 161) 对指定字符串数据签名(GBK编码) 请求:{"req":"AIP_SignDatay","rid":261,"para":{"Data":"","Pin":""}} 返回:{"ret":0,"rid":261,"data":{"Ret":""}} Ret 成功:签名后内容 失败:空 162) 控件进入等待状态 请求:{"req":"AIP_SleepSecond","rid":262,"para":{"SleepSecond":""}} 返回:{"ret":0,"rid":262,"data":{"Ret":""}} Ret 成功:返回等待时间(秒) 163) 将当前文档的指定页保存(暂时仅支持保存为PDF) SavePath需先进行UrlEncode编辑 请求:{"req":"AIP_SplitPages","rid":263,"para":{"Pages":"","SavePath":"","SaveType":""}} 返回:{"ret":0,"rid":263,"data":{"Ret":""}} Ret 成功:0 失败:<>0 164) 开始下载文件。下载状态会通过AIP_NotifyAfterAction事件通知 FileName、Url需先进行UrlEncode编辑 请求:{"req":"AIP_StartDownloadFile","rid":264,"para":{"Url":"","FileName":"","Waiting":""}} 返回:{"ret":0,"rid":264,"data":{"Ret":""}} Ret 成功:0 失败:<>0 165) 停止当前的异步下载线程 请求:{"req":"AIP_StopDownloadFile","rid":265,"para":{}} 返回:{"ret":0,"rid":265,"data":{"Ret":""}} Ret 成功:0 失败:<>0 166) 单步撤销操作 请求:{"req":"AIP_Undo","rid":266,"para":{}} 返回:{"ret":0,"rid":266,"data":{"Ret":""}} 167) 撤销本次所有操作 请求:{"req":"AIP_UndoAll","rid":267,"para":{}} 返回:{"ret":0,"rid":267,"data":{"Ret":""}} 168) 解压缩 File、Dir需先进行UrlEncode编辑 请求:{"req":"AIP_UnzipFile","rid":268,"para":{"File":"","Dir":"","Pwd":""}} 返回:{"ret":0,"rid":268,"data":{"Ret":""}} Ret 成功:0 失败:<>0 169) 校验针对指定字符串数据的签名(GBK编码) 请求:{"req":"AIP_VerifyData","rid":269,"para":{"Data":"","SignData":"","Cert":""}} 返回:{"ret":0,"rid":269,"data":{"Ret":""}} Ret 成功:0 失败:<>0 170) 校验文档中的节点 请求:{"req":"AIP_VerifyNotes","rid":270,"para":{"NoteName":"","ParaS":"","ParaN":""}} 返回:{"ret":0,"rid":270,"data":{"Ret":""}} Ret 成功: lParam=0:"O-信息" 失败:"X-信息" lParam=0 成功:0 失败:<>0 171) 将数据写入文件 FileName需先进行UrlEncode编辑 请求:{"req":"AIP_WriteLocalFile","rid":271,"para":{"FileName":"","FileData":"","Flag":""}} 返回:{"ret":0,"rid":271,"data":{"Ret":""}} Ret 成功:0 失败:<>0 172) 播放Flash FileName需先进行UrlEncode编辑 请求:{"req":"AIP_PlayFlash","rid":272,"para":{"FileName":"","LoopPlay":""}} 返回:{"ret":0,"rid":272,"data":{"Ret":""}} 173) 请求退出小程序 未连接到小程序侦听WS端口时直接关闭到中间件的WS连接即可 请求:{"req":"AIP_Exit","rid":273,"para":{}} 无返回 5、点聚AIP电子签章网页小程序接收的通知: 这些通知必须通过WebSocket连接到此小程序侦听的端口才能接收到。 A、ActiveX事件: 1) 点击时触发 {"event":"AIP_NotifyClick","data":{"Name":\"\"}} Name点击名称 2) 执行ActionType操作前触发 {"event":"AIP_JSNotifyBeforeAction","data":{"Name":"","Value":"","ActionType":"0","Type":""}} 3) 点击菜单按钮时触发 {"event":"AIP_JSNotifyMenuMsg","data":{"Cmd":""}} Cmd为请求命令 4) 执行ActionType操作后触发 {"event":"AIP_NotifyAfterAction","data":{"Name":"","Value":"","ActionType":"0","Type":""}} 5) 在异步调用完成时,触发本消息 {"event":"AIP_NotifyAsyncCall","data":{"CallID":"","Value":"","RetN":"0","Ret":""}} 6) 执行ActionType操作前触发 {"event":"AIP_NotifyBeforeAction","data":{"Name":"","Value":"","ActionType":"0","Type":""}} 6) 改变当前用户时触发 {"event":"AIP_NotifyChangeCurrUser","data":{}} 7) 改变当前用户颜色时触发 {"event":"AIP_NotifyChangePage","data":{}} 8) 改变当前页面时触发 {"event":"AIP_NotifyChangePenColor","data":{}} 9) 改变当前用户笔的宽度时触发 {"event":"AIP_NotifyChangePenWidth","data":{}} 10) 在页面缩放、预览、阅读模式改变时触发 {"event":"AIP_NotifyChangeStatus","data":{"StatusType":"1"}} 11) 值改变时触发 {"event":"AIP_NotifyChangeValue","data":{"Name":"","Value":""}} 12) AIP文档关闭完成时触发 {"event":"AIP_NotifyCloseDoc","data":{}} 13) AIP引擎初始化完毕之后触发 {"event":"AIP_NotifyCtrlReady","data":{}} 14) AIP文档打开完成的时候触发 {"event":"AIP_NotifyDocOpened","data":{"OpenResult":""}} 15) 捕获部分Word/Excel/Wps事件 {"event":"AIP_NotifyDocumentEvent","data":{"Name":""}} 16) AIP全屏幕显示状态改变时候触发 {"event":"AIP_NotifyFullScreen","data":{}} 17) 鼠标在文档上按住左键,移动鼠标,此时会在页面上画出一个矩形的线框,松开鼠标左键,此时会触发NotifyLineAction事件 {"event":"AIP_NotifyLineAction","data":{"Page":"","StartPos":"","EndPos":""}} 18) 点击菜单按钮时触发 {"event":"AIP_NotifyMenuMsg","data":{"Cmd":""}} 19) AIP修改状态发生改变时触发 {"event":"AIP_NotifyModifyStatus","data":{}} 20) 节点位置改变时触发 {"event":"AIP_NotifyPosChange","data":{"NoteName":""}} 21) 在通过AIP_SetValue设置("SET_PENMESSAGE_OUTPUTMODE", "1")激活后,手写输入在可写区域以外时触发本消息。 {"event":"AIP_NotifyPressPen","data":{"ScreenX":"","ScreenY":"","Press":""}} 22) 指定名称重置时触发 {"event":"AIP_NotifyReset","data":{"Name":""}} 23) 用户选择节点时触发 {"event":"AIP_NotifySelect","data":{"Name":"","NoteType":""}} 24) 提交时触发 {"event":"AIP_NotifySumbit","data":{"Name":""}} B、PluginOK支持的事件通知: 1) AIP_FullScreen 小程序是否响应了热键全屏 {"event":""AIP_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记 2) Wrl_AppletExit 小程序退出通知 {"event":"Wrl_AppletExit","data":{"ID":1}} 6、其它 请求参数的JSON数据包,请确保是UTF-8无签名的编码。 更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.pdf”及“PluginOK中间件安全解决方案.pdf”。 如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938