AIPSignApplet.txt 59.6 KB
Newer Older
1
点聚AIP电子签章内嵌网页小程序:基于跨浏览器的原生小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )单机高级版开发,底层调用北京点聚信息技术有限公司的ActiveX控件(3.1版)HWPostil.ocx(此控件版权归北京点聚信息技术有限公司所有)实现。最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。
2 3 4 5 6 7

1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装。

2、AIP电子签章内嵌网页小程序控制相关接口:
W
wangzuohuai 已提交
8
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost:80?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
HTTP网页在线测试:http://zorrosoft.com/aipfull.html       HTTPS网页在线测试:https://zorrosoft.com/aipframe.html
前端集成可参考以上测试网页进行,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;
        }
W
wangzuohuai 已提交
26 27 28 29
如果在网页Header区没有标记小程序初始显示位置和大小,请在启动小程序的JSON参数里,添加以下参数:
"Left":20,"Top":20,"Width":480,"Height":320

B、网页中嵌入元素
30 31 32 33 34 35 36 37 38 39
支持IFrame的:
<iframe name="AIPSignApplet" id="AIPSignApplet" src="AIPSignApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no">
或者直接用
<div id="AIPSignApplet" class="AIPSignApplet"</div>

另外需要嵌入用到的JS脚本,脚本程序是完全开源的。

1)、请求启动AIP电子签章内嵌网页小程序:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
W
wangzuohuai 已提交
40
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示
41
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
W
wangzuohuai 已提交
42
BarW和BarH分别是网页右侧和底部预留区域,ScrollTop为顶部滚动预留高度
43 44 45
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
Url:加载小程序所在的网页实际地址
Open:为需要签章的文件路径,磁盘目录斜杠用/
46
注意:Open和Url如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递
47 48
举例:
自动识别当前浏览器指定位置和大小启动:
W
wangzuohuai 已提交
49
{"req":"Wrl_AppletStart","rid":8,"para":{"Type":"0","Title":"AIPSign Applet","NodeName":"AIPSignApplet","PID":"AIPSignApplet","Flag":0,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"ScrollTop":0,"Url": "http://zorrosoft.com/AIPApplet.html","Open":"http://zorrosoft.com/Files/PluginOK.pdf"}}
50 51 52 53

指定页面内加载后适配网页切换显示:
http://zorrosoft.com/aipframe.html

W
wangzuohuai 已提交
54
启动后会先后收到三个JSON数据包
55
A、{"ret":0,"rid":1,"data":{"ID":2}}
W
wangzuohuai 已提交
56
代表小程序WS侦听服务就绪
W
wangzuohuai 已提交
57
B、{"event":"Wrl_Listen","aid":2,"data":{"SID":"123","PID":"AIPSignApplet","port":1200}}
58
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能。
W
wangzuohuai 已提交
59
代表小程序创建成功,返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
W
wangzuohuai 已提交
60
C、{"event":"Wrl_AppletOK","aid":2,"rid":8,"data":{"SID":"123","PID":"AIPSignApplet","Port":1200}}
61 62 63

2)、请求控制AIP电子签章内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
W
wangzuohuai 已提交
64
ID为Wrl_AIPSignApplet或Wrl_AppletStart启动小程序时返回的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
65 66 67 68 69 70 71 72 73 74 75
{"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电子签章内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
W
wangzuohuai 已提交
76
ID为Wrl_AIPSignApplet或Wrl_AppletStart启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度
77 78 79 80 81 82 83 84 85 86 87 88
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}}

W
wangzuohuai 已提交
89 90 91 92 93 94 95 96 97 98
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":".png"}}

W
wangzuohuai 已提交
99
8)、请求缩放内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
W
wangzuohuai 已提交
100 101
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":11,"para":{"ID":1,"Scale":120}}
102 103 104

3、小程序安装、升级、卸载
1)、请求安装AIP电子签章内嵌网页小程序
W
wangzuohuai 已提交
105
请在测试网页输入框中,输入如下请求,然后点击发送,完成安装:
106

W
wangzuohuai 已提交
107
{"req":"Plugin_Install","rid":1,"para":{"Name":"AIP电子签章内嵌网页小程序","PID":"AIPSignApplet","Date":"2021-07-09","Desc":"PluginOK之上跨浏览器的AIP电子签章内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/AIPSignApplet.pid","MD5":"08D49279EB5B1E0988578D4325A9E0D6","Version":"1.3.5.1","Size":557056,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"2EDBE47C77CE79DB0B94B4717B904C4B84880F56514D21927B78FB0D2269D65587A9EE8D01F15E625B3A7F3BCB6A5583E998B0EC06321857A2FBC54C6C71992C60792C94C4F959BABDF3671B113DD3591165D6E1673B40CE4B0781BF92983ED1A26606C01A159C924C73571508DACDC079FB99FC509506D2FB5F94C09686F5D4D19F23FB337C169091D506A0CD3C4E77516ED43BED876A7DB8FF8F84228E11CEC3514C242A294A1787D5C424CF8E0344F984595CF10D54238911EFBE17E19A919108CDA1641471FAFDC52A5DAFE38BCD5A86664EB9300DA2D759B218D7929C46466B5D45C8AB7203B48273E16F0FDEEE3F020C17183D03FFD9600A7F86288453"}}
108 109 110 111 112

启动安装后,会不断收到安装进度直到安装结束。

2)、请求升级点聚AIP电子签章内嵌网页小程序:

W
wangzuohuai 已提交
113
{"req":"Plugin_Update","rid":1,"para":{"Name":"AIP电子签章内嵌网页小程序","PID":"AIPSignApplet","Date":"2021-07-09","Desc":"PluginOK之上跨浏览器的AIP电子签章内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/AIPSignApplet_Update.pid","MD5":"CFBD655B26A7E0E5580681079202A8BD","Version":"1.3.5.1","Size":557056,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"C69A6AAC823C3735887396DEC9F20FEE8D3530D8955D15CACBE617BE44D7E400CE7B41B88A93EB467A5C859C36DDD34AB1C91877C60F58B5919443FDC69A982BD6C0140FD7FFB459B9565798D772705FBCF3B6B36222C70A112323E8D6F5F3B5201C6AD63588A66FA18007B3A2C1FA095DAD7C87650C501C753BEE8BC4528B642435FE7029FE636797536975CA86076ACC05BD9E8EF6EEEF53A0E7C716D4E6A057263B263CC674981C11A37251E4F9DE9675AC3CBC84882BC68521D5E8B7D6F346F131A69CC1966B49BAAC31CB356C719C7DE6C44ACA231F2637F8E9AC06E1063AD783EB6A1055E609CD9F102ADFD4CBB73E459DC1C08E542CB61EEB6637FA9B"}}
114 115 116 117

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

3)、请求卸载AIP电子签章内嵌网页小程序:
W
wangzuohuai 已提交
118
正式版需要添加TK校验,具体规则请参考SDK包中文档“PluginOK中间件安全解决方案.doc”,可在SDK包中的打包程序WrlPackage.exe的中间件维护生成带TK的请求。
W
wangzuohuai 已提交
119
{"req":"Plugin_Remove","rid":3,"para":{"PID":"AIPSignApplet","Type":8}}
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234

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) 请求退出小程序
W
wangzuohuai 已提交
1235
正常关闭小程序流程和方法:先在此WS连接里请求此功能,前端收到关闭此连接通知时,再关闭到中间件的WS连接
1236
请求:{"req":"AIP_Exit","rid":273,"para":{}}
W
wangzuohuai 已提交
1237
无返回
1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328

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开发者手册.doc”及“PluginOK中间件安全解决方案”。
W
wangzuohuai 已提交
1329
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938