如何给linux-wps写一个javascript插件


有一个开源文献管理软件zotero,有ms office/libreoffice/google docs的插件,但是没有wps的插件。linux和win下可以运行zotero和wps,但是因为缺乏这个插件无法配合使用。不知道能不能参考三者的zotero插件代码移植到wps上去?Ms-Office/libreoffice/google docs的zotero插件代码都是公开的,wps也有插件开发的文档:https://open.wps.cn/docs/client/wpsload


建了一个zotero-wps插件开发项目,感兴趣的同学一起去那边交流吧,争取早日搞定这个插件,可以在linux下同时使用wps和zotero。zotero-wps插件开发的交流QQ群:1029775161,https://github.com/l0o0/Zotero-WPS


补充1,刚刚看了ms-office的zotero插件,貌似里面是用vba写的。依据wps的接口文档说明,wps支持vba和js,所以ms-office的zotero插件改一改估计也能通过vba控制win-wps,但是想在linux-wps上,必须得js控制。


补充2,安装nodejs,npm和wpsjs之后,可以使用JavaScript启动linux-wps,说明linux-wps已经存在JavaScript接口了
linux下安装最新版nodejs和npm参考https://bbs.deepin.org/zh/post/210908
https://open.wps.cn/docs/client/wpsLoad


补充3,已经成功用wps的开发接口文档使用js在linux-wps建立加载项了,证明linux-wps支持js插件

img


补充4,google doc有类似的zotero插件,而且就是用js写的,可能用这个移值更方便,https://github.com/zotero/zotero-google-docs-integration


Zotero 插件与 WPS 不兼容。
功能区里有显示Zotero,但只加载了部分功能,大多数不能用,插件不兼容。
重新开发就相当于一个项目。

看样子朋友是打算用linux系统吧
WPS与MS office的兼容性较好,但不直接支持endnote 和 zotero 或者 endnote 和 zotero不支持WPS

在不支持Endnote插件的文字处理软件,如WPS,LibreOffice中。
(Endnote在windows和MacOS中有)
在Endnote中,直接将要引用的文献选中,托入文档后,会变成{ ffdfsf,2020#125}之类的格式,将文档另存为.RTF格式;
然后,在endnote中Tools-formatPaper-format paper,选择所存的rtf文档,选择引用和输出格式,即可。
在不支持Zotero插件的文字处理软件中,如WPS中,但需要用libreoffice的ODF中转。
文件格式在转换中,肯定会导致排版等错乱。做好准备。
(1)建议用libreoffice撰写文档,用zotero的原生工具栏插入zotero中的文献,保存为doc\docx等文档。
然后,用WPS打开,排版或分享。
WPS与MS office的兼容性相对较好,建议以doc格式保存(libreoffice也可以试试)。
(2)用WPS等撰写时, 在Zotero安装 zotero-odf-scan插件,在WPS等拖入引用的文献,然后用libreoffice打开,保存为odf文档。
用Zotero--Tools——ODF scan,导入上面的odf文档,to citations---保存为odf文档。
用libreoffice 打开,编辑

想想别的办法呢?比如wps下类似的插件,或者使用浏览器去编辑,去修改插件非常麻烦,需要了解对应软件的插件机制,对应插件的原理,然后再是实现插件的功能,周期长也容易出问题。
路有很多,不要只闷头走一条路,尝试走走旁边的路。

我个人也是使用 Linux + WPS + Zotero

我找过很多资料,最终结论是目前不可行,除非 WPS 主动提供对 Zotero 的支持

首先 zotero 是开源的,但 WPS 不是,也没有API文档(题主给的这个WPS插件文档不适用于WPS免费版),而且没有英文文档,也就是说外国使用 Zotero + WPS 的开发者工作起来将会非常困难

题主给的 oxt 格式的文件是 OpenOffice 的拓展插件,WPS不兼容这个

题主给的 dotm 文件是 Zotero 用在 Windows 下 Word 的插件,虽然 WPS 声称 100% 兼容 Word 的API,插件可以开箱即用,但是这个插件使用了Windows 下特有的 Windows COM API 进行通信,Linux下没有这个东西,所以这个插件也不可用

目前情况是,除非 WPS 主动提供支持,否则开发非常困难

建议发信到 wps@wps.cnwps_linux@wps.cn ,人数越多,官方提供支持的可能性就越大

zotero 是开源的,但 WPS 不是开源的没有API接口可用供使用,目前很难开发出来。

ms office上的插件都是按照微软DOM对象模型编写的,包括windows上运行的wps里的js插件也是dom的原理。在linux上的wps恐怕结构就不一样了,所以不是有windows上项目的开源就能简单转译的。恐怕是个大工程

你是想在linux服务器上部署一套浏览器上支持预览wps文档格式文件的服务吗?目前来说,zotero软件不支持wps服务,如果非要写个这样的插件,感觉只能通过中间服务进行转换,不过牵涉到文档的排版、样式等问题,估计比较麻烦。个人建议可以在linux服务器搭建一个开源的文件预览服务来支持浏览器预览功能,参考链接如下:
一款让你优雅、高效实现文件预览的解决方案 https://blog.csdn.net/qq_34279303/article/details/119078447

如果需要对应的jar包或者安装服务,可以私信我获取

Web 加载项自定义功能区,

onLoad 代表一个事件,仅在 WPS 应用装载该 WPS 加载项时触发一次。OnAddInLoad是开发者自定义的 JavaScript 函数,通常用来执行一些初始化操作。

tabs 可以包含多个 tab,每一个 tab 对应一个自定义功能区。

为 WPS Office For Linux 开发客户端 JavaScript 加载项需要注意

目前,WPS Office JS宏环境只在 WPS Office For Linux Pro 中存在,但这个版本并没有全面开放下载,仅在部分国产操作系统中单独适配(比如 UOS),而可公开下载的 WPS Office For Linux 开源版本并没有 JavaScript 宏环境……所以,虽然开源版的 WPS Office For Linux 能正常加载加载项的 UI,但实际上部分依赖 JS宏实现的功能并不能工作。比如监听编辑区用户动作、事件等。所以针对Linux版本的 WPS Office 客户端进行开发、测试的时候应该优先选用 WPS Office For Linux Pro 版本。

注意区分 OA助手和客户端加载项(插件)的区别

  1. OA助手加载项一般与自有OA服务进行搭配使用,可能需要自搭服务;它侧重于处理 OA 系统上的文件,实际上处理过程是在本地客户端完成,依赖 WPS Office 客户端的 JS宏环境支持。
  2. 客户端加载项,单纯的使用 WPS Office 客户端的 WPS JSAPI接口,它的能力取决于 WPS Office 客户端的 JS 宏环境的宏能力。
  3. 两者同属于客户端 JS 加载项范畴(因为文件的处理都依赖 WPS Office 客户端的 JS 宏环境)。

客户端加载项(WPS Office JavaScript 插件)

WPS Office 开发文档写了很多种集成模式,但“客户端加载项”应该是最简单的,与 WPS Office 客户端相关性最强的。其他的集成模式都是脱离 WPS Office 客户端单独使用的(不安装 WPS Office 客户端也能使用)。

客户端加载项技术

UI部分(DOM):

  1. 传统 DOM 技术(HTML+CSS+JavaScript),可用现成的前端框架,比如 JQuery UI、Bootstrap。
  2. Vue
  3. React

WEB API:

  1. XHR
  2. JQuery Ajax
  3. Axios.js(推荐)

Web Workers API ,还有浏览器端数据存储 API 等,传回、上传的数据可能涉及JSON,Lodash.js 这类库可以考虑。

业务部分:zotero API key,注意保护 API key 安全。

核心点:zotero web API 的浏览器端 JavaScript 封装,也就是用户、组织(groups)的 zotero 数据的获取、上传、编辑、删除功能的接口封装。只要这个部分完成了,剩下的应该很快。

您仅仅只是在浏览器中READoffice文档吗?

你是只要他在linux上运行吗?还是windows上面也可以?

如果是想重新编译一个插件可能需要较长的时间,我个人觉得可以找找基于linux原生的软件替换

1、找到Zotero.dotm文件,根据自己安装的目录一般是C:Program Files (x86)Zotero(如装在别的盘,去别的盘找相应的安装路径),找到Zotero.dotm文件,如下如所示。建议把两个文件都复制,不要剪切!!!

img


2、找到Word的STARUP文件夹目录,打开word选项(word需要2007版以上):

img


“高级”,往下拖到 “常规”,点击 “文件位置”,双击启动即打开了 “STARTUP” 目录。

img


打开后,把刚刚的Zotero.dotm文件粘贴进去后重启Word即可。

img


成功后如下图所示:

img

https://www.sogou.com/link?url=hedJjaC291MBtMZVirtXo7CqjI0tE6P9Irl9kkee06Bx8vGEym_maj5xR3MFSN60SHaupq_9TX8.

https://zhuanlan.zhihu.com/p/477497952
参考这个地址看一下,wps安装zotero

可以参考这个
https://www.csdn.net/tags/OtDaYg0sMzk4NjctYmxvZwO0O0OO0O0O.html