跳到主要内容

连接器类

连接器是一个允许从外部源编辑文本文档、电子表格、演示文稿、PDF 和可填写表单的类。它与插件具有相同的接口。

下面可以找到此类可用的方法。

addContextMenuItem

调用该函数将项目添加到上下文菜单。上下文菜单的操作过程与 plugins 相同,但 onClick 方法除外,该方法用于代替通过 ID 订阅。

参数

名称类型描述
itemsContextMenuItem[]包含上下文菜单项参数的数组。

ContextMenuItem

名称类型描述
idstring项目 ID。
textstring项目标题。
datastring项目数据(此数据将发送到点击事件回调)。
disabledboolean指定当前项是否已禁用。
iconsstring项目图标(请参阅插件 config文档)。
onClickfunction点击事件回调。仅适用于 addContextMenuItem 方法。
itemsContextMenuItem[]包含当前项的上下文菜单项的数组。

示例

const connector = docEditor.createConnector();
connector.attachEvent("onContextMenuShow", (options) => {
connector.addContextMenuItem([{
text: "mainItem",
onClick: () => {
console.log("[CONTEXTMENUCLICK] menuSubItem1");
},
}]);
});

addToolbarMenuItem

调用该函数将项目添加到工具栏菜单。使用工具栏菜单的过程与 plugins 相同,除了使用 onClick 方法代替通过 ID 订阅。

参数

名称类型描述
itemsToolbarMenuMainItem工具栏主菜单项参数。

ToolbarMenuMainItem

名称类型描述
guidstring插件 guid。
tabsToolbarMenuTab[]包含当前工具栏菜单选项卡的数组项。

ToolbarMenuTab

名称类型描述
idstring选项卡 ID。
textstring选项卡文本。
itemsToolbarMenuItem[]包含当前标签的工具栏菜单项的数组。

ToolbarMenuItem

名称类型描述
idstring项目 ID。
typeToolbarMenuItemType项目类型。
textstring项目标题。如果此字段为"",则工具栏按钮仅显示图标,不显示标题。
hintstring项目提示。
iconsstring | object项目图标(请参阅插件 config 文档)。
disabledboolean指定当前项目是否已锁定。
enableToggleboolean指定工具栏菜单项(当 "split == false" 时)或其顶部(当 "split == true" 时)是否可以切换。
lockInViewModeboolean指定工具栏菜单项是否在视图模式(预览、查看表单、断开连接等时)中自动锁定。
separatorboolean指定工具栏菜单项之间是否使用分隔符。
splitboolean指定工具栏菜单项是否分为两部分并包含下拉菜单。
onClickfunction点击事件回调。
itemsToolbarMenuItem[]包含当前项的上下文菜单项的数组。

ToolbarMenuItemType

类型描述
"button" | "big-button"工具栏菜单项类型。buttonbig-button 值相同,可以同样用于指定工具栏按钮。

示例

const connector = docEditor.createConnector();
connector.addToolbarMenuItem({
tabs: [
{
text: "Connector",
items: [
{
id: "toolConnector1",
type: "button",
text: "Meaning",
hint: "Meaning",
lockInViewMode: true,
icons: "./icon.svg",
items: [
{
id: "toolC1",
text: "Text",
data: "Hello",
onClick: (data) => {
console.log(`[TOOLBARMENUCLICK]: ${data}`);
},
},
],
},
],
},
],
});

attachEvent

被调用以添加事件侦听器的函数,该函数将在指定事件传递到目标时被调用。所有可用事件的列表与插件的列表相同:

参数

名称类型描述
namestring事件名称。
callbackfunction事件侦听器。

示例

const connector = docEditor.createConnector();
connector.attachEvent("onChangeContentControl", (obj) => {
console.log(`[EVENT] onChangeContentControl: ${JSON.stringify(obj)}`);
});

callCommand

调用的函数,用于将数据发送回编辑器。它允许连接器发送可以插入到结果文档文件中的结构化数据(格式化的段落、表格、文本部分和单独的单词等)。

参数

名称类型描述
commandfunction定义用JavaScript编写的命令,其目的是形成可插入结果文档文件(格式化段落、表格、文本部分和单独单词等)的结构化数据。然后将数据发送给编辑器。该命令必须与 Office JavaScript API 语法兼容。
callbackfunction方法返回的结果。这是一个可选参数。
isNoCalcboolean定义是否可以重新计算文档。true 值不会重新计算文档(仅当您的编辑肯定不需要重新计算文档时才使用它)。false 值用于在执行 command 参数中的函数后重新计算文档。默认值为 false

此方法在与其他JavaScript数据隔离的上下文中执行。如果需要将某些参数或其他数据传递给此方法,请使用 Asc.scope 对象。

示例

const connector = docEditor.createConnector();
connector.callCommand(() => {
const oDocument = Api.GetDocument();
const oParagraph = Api.CreateParagraph();
oParagraph.AddText("Hello");
oDocument.InsertContent([oParagraph]);
}, () => {
console.log("[COMMAND] Callback command");
});

connect

调用该函数将连接器连接到编辑器。

备注

请注意,只有在您已经使用了disconnect 方法断开连接器,并需要将连接器重新连接到编辑器时,才应调用此方法。在创建连接器时,无需使用 connect 方法,因为它会同 createConnector 方法一起自动被调用。

示例

const connector = docEditor.createConnector();
connector.connect();

createWindow

调用该函数来创建 连接器模态窗口 以在编辑器内显示附加信息。

示例

const connector = docEditor.createConnector();
const testConnectorWindow = connector.createWindow();

detachEvent

调用该函数以删除事件侦听器。

参数

名称类型描述
namestring事件名称。

示例

const connector = docEditor.createConnector();
connector.detachEvent("onChangeContentControl");

disconnect

调用该函数以断开连接器与编辑器的连接。

示例

const connector = docEditor.createConnector();
connector.disconnect();

executeMethod

调用该函数以使用连接器执行某些编辑器方法。这些方法的完整列表与插件相同:

参数

名称类型描述
namestring必须执行的特定方法的名称。
argsarray正在使用的方法具有的参数(如果有)。
callbackfunction方法返回的结果。这是一个可选参数。

示例

const connector = docEditor.createConnector();
connector.executeMethod("GetCurrentWord", [], (word) => {
console.log(`[METHOD] GetCurrentWord: ${word}`);
});

updateContextMenuItem

调用该函数来使用指定项更新上下文菜单中的项。

参数

名称类型描述
itemsContextMenuItem[]包含上下文菜单项参数的数组。

示例

const connector = docEditor.createConnector();
const items = [
{
id: "onConvert",
text: "Convert to Markdown or HTML",
},
];

connector.updateContextMenuItem(items);