在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
答案 0 :(得分:0)
此问题已修复。你用的是什么构造?您使用的是最新的Office更新吗?