《Linux版WPS二次开发接口文档》提供了在Linux环境下对WPS Office进行深度定制和扩展所需的各种API及函数说明,旨在帮助开发者充分利用WPS的功能,创造更符合用户需求的应用程序。
Linux 版 WPS 二次开发接口文档
本段落档主要介绍 Linux 版 WPS 的二次开发接口文档,旨在提供 WPS 的基本操作功能,包括新建、打开、保存、关闭等基础操作以及对 WPS 基本对象(如文档、字体、段落和表格)的属性与方法调用实现。
1. 功能概述
Linux 版 WPS 二次开发接口提供了以下主要功能:创建新文件,打开现有文件,保存当前编辑内容及关闭相关文件。此外还支持对 WPS 中的基本对象(如文档、字体、段落和表格)的属性与方法调用实现。
2. 框架图
NPAPI 是浏览器端使用 Qt 提供插件 js 交互的基础机制,它实现了 js 和 C++之间的互操作性。HTML 页面代码包括 ,然后通过js可以访问到 webwps 对象,并调用其内部的同名方法和属性。
3. 技术说明
(1) WPS 窗口嵌入实现
利用 Qt 插件,自定义类需继承 QX11EmbedContainer 和 QtNPBindable 类。通过设置 MIME type 并在 readData 函数中启动WPS 进程,并将插件的 winID 传递给该进程。Wps端使用此winID来完成嵌入。
(2) js 调用插件函数
NPP_() 是提供给浏览器的方法,而 NPN_() 则是浏览器提供的方法。当加载 .so 文件时会调用 NP_Initialize 函数,并且保存 NP_Shutdown 函数指针供后续使用。
(3) 插件与 WPS 通信机制
在本地创建WPS对象并将其连接到通信线路,在插件端建立相应的方法,然后通过通信机制来实现远程信号和本地方法的链接。
4. 实例化说明
(1) 创建新文档:
在浏览器中新建一个WPS文档的具体步骤。HTML页面代码为 ,其调用方式如下:obj = document.webwps; obj.Application.Documents.Add(); 其中,obj 是自定义的 webwps 对象,用于访问插件中的各种方法和属性。
(2) 设置字体加粗:
在浏览器里将选中文本设置为加粗。js端执行通过 NPAPI 机制调用 Documents 下的方法 put_Bold 来实现这一操作:Var ft = obj.Application.Documents.ActiveDocument().Selection.Font; ft.put_Bold 使用中间变量ft可以方便地访问和修改字体的各种属性,避免了层层嵌套的繁琐过程。
5. 对象方法介绍
Application
此对象代表 WPS 应用程序,并包含最高级对象的属性与方法。 若要使用其他模块来控制WPS应用程序,则需要通过 CreateObject 或 GetObject 函数获取 Application 对象。