WordJS body.getOoxml错误添加空段

时间:2016-09-02 20:45:23

标签: javascript ms-word ms-office openxml office-js

在wordjs中获取ooxml的代码会生成一个额外的空段落。但在我的加载项中,我需要getOoxml - >修改它 - >然后使用insertOoxml替换它。但是这会导致每个替换操作添加一个额外的段落。

return new Promise((resolve, reject) => {
    // Run a batch operation against the Word object model.
    Word.run(function (context) {

        // Create a proxy object for the document body.
        var body = context.document.body;
        let paras: Word.ParagraphCollection = body.paragraphs.load();

        // Queue a command to get the current selection.
        // Create a proxy range object for the selection.
        let ooxml = body.getOoxml();
        // Queue a commmand to load the text in document body.
        context.load(body, 'text');

        // Synchronize the document state by executing the queued commands, and return a promise to indicate task completion.
        return context.sync()
            .then(function () {

                let text = body.text;
                resolve({
                    text: text,
                    ooxml: ooxml.value,
                })
            });
    })
    .catch(this.errorHandler);
});

所以在单词中我只有2个段落(我已经显示了隐藏的段落):

  

111111111

     

222222222

返回的内容为:

<w:p w:rsidR="003431F8" w:rsidRDefault="003431F8" w:rsidP="003431F8"><w:r><w:t>111111111</w:t></w:r></w:p><w:p w:rsidR="003431F8" w:rsidRDefault="003431F8" w:rsidP="003431F8"><w:r><w:t>222222222</w:t></w:r></w:p><w:p w:rsidR="00000000" w:rsidRDefault="003431F8"/>

以下是上述XML结果中的空段落:

<w:p w:rsidR="00000000" w:rsidRDefault="003431F8"/>

我正在使用Word 2016,docx文件。和OfficeJs lib托管在这里:https://appsforoffice.microsoft.com/lib/1/hosted/Office.js

1 个答案:

答案 0 :(得分:0)

此问题已修复。你用的是什么构造?您使用的是最新的Office更新吗?