自动化API

连接器 是一个允许从外部源编辑文本文档、电子表格、演示文稿和可填写表单的类。 使用"自动化API" 的示例可以在此处找到。

要创建连接器,请使用文档编辑器对象的createConnector方法 :

var connector = docEditor.createConnector()

请注意,该连接器仅适用于 ONLYOFFICE 开发者版

该类是一个额外的功能,在支付额外的费用后才能使用。如果您有任何疑问,请联系我们的销售团队:sales@onlyoffice.com

连接器与插件具有相同的接口。下面可以找到可用于此类的方法。

方法及其描述:

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

    参数
    名称 描述 类型
    name 事件名称。 string
    callback 事件侦听器。 函数
    示例
    connector.attachEvent("onChangeContentControl", function()
    {
        console.log("event: onChangeContentControl");
    });
    
  • callCommand -调用的函数,用于将数据发送回编辑器。 它允许连接器发送可以插入到结果文档文件中的结构化数据( 格式化的段落、表格、文本部分和单独的单词等)。

    ONLYOFFICE 文档生成器 命令只能用于创建内容并将其插入文档编辑器 (使用 Api.GetDocument().InsertContent(...))。由于在线编辑器中的联合编辑功能,存在此限制。
    参数
    名称 描述 类型
    command 定义用JavaScript编写的命令,其目的是形成可插入结果文档文件( 格式化段落、表格、文本部分和单独单词等)的结构化数据。然后将数据发送给编辑器。 该命令必须与 ONLYOFFICE 文档生成器 语法兼容。 函数
    callback 方法返回的结果。这是一个可选参数。 函数
    isNoCalc 定义是否可以重新计算文档。true 值用于在执行 command 参数中的函数后重新计算文档。false 值不会重新计算文档 (仅当您的编辑肯定不需要重新计算文档时才使用它)。默认值为 false boolean

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

    示例
    Asc.scope.text = "Hello world!";
    
    connector.callCommand(function() {
    
        var oDocument = Api.GetDocument();
        var oParagraph = Api.CreateParagraph();
        oParagraph.AddText(Asc.scope.text);
        oDocument.InsertContent([oParagraph]);
    
    }, function() { console.log("callback command"); });
    
  • connect - 调用该函数将连接器连接到编辑器。

    请注意,只有在使用 disconnect 方法断开连接器并需要再次将其连接到编辑器时, 才应调用此方法。创建连接器时,不需要使用 connect 方法, 因为它会与 createConnector 方法一起自动调用。
    示例
    connector.connect()
    
  • detachEvent - 调用该函数以删除事件侦听器。

    参数
    名称 描述 类型
    name 事件名称。 string
    示例
    connector.detachEvent("onChangeContentControl");
    
  • disconnect - 调用该函数以断开连接器与编辑器的连接。

    示例
    connector.disconnect()
    
  • executeMethod - 调用该函数以使用连接器执行某些编辑器方法。这些方法的完整列表与插件相同。 可以在 这里找到。

    参数
    名称 描述 类型
    name 必须执行的特定方法的名称。 string
    args 正在使用的方法具有的参数(如果有)。 array
    callback 方法返回的结果。这是一个可选参数。 函数
    示例
    connector.executeMethod("SetFormValue",[forms[i]["InternalId"],"OnlyOffice BANK"],null);