wps 在客户端建立服务器

wps加载项怎么实现在客户端建立一个服务器,然后与WPS加载项通讯

这个你可以用一种服务器编程语言,比如jsp python 或者 php,编写一个web service,wps加载项可以用http调用

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/198237
  • 这篇博客你也可以参考下:WPS表格中,找出两张表(格式相同,数据部分不同)不同之处并用红色标记
  • 除此之外, 这篇博客: WPS加载项是如何实现调用业务系统JS的 WPS通信原理中的 一、业务系统调用WPS原理 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    WPS监听服务 端口58890(http) 58891(https) 进程:wpscloudsvr.exe

    • 应用系统调用wps的SDK后,sdk把应用系统的动作封装起来 -> 访问并传参给监听服务
      该监听服务(wpscloudsvr.exe)负责调起wps。实现无弹窗调起
    • 同理,调用wps套红,水印等功能,也是该方法封装

    整个流程图是这样的
    流程图

    下图是调用WPS加载项功能的请求 /transfer/runParam
    参数data中 ksowebstartupwps://后面的base64编码,就是封装好的动作和参数
    请求
    那当该进程被关闭时怎么办?
    请求超时,则直接将浏览器地址改为ksoWPSCloudSvr://start=RelayHttpServer(意为启动该服务)进行跳转
    这个是浏览器自定义协议,由wps实现 类似Ftp:// http:// 等 是通过注册表实现的

    自定义协议参考
    https://www.cnblogs.com/Aricc/archive/2009/03/18/1415929.html

    此时监听服务已经启动,然后需要再次点击 重复上述步骤进行调用

    如图 onerror里面触发打开监听服务
    onerror


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^