首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除Office插件中的headerReferences和footerReferences?

如何删除Office插件中的headerReferences和footerReferences?
EN

Stack Overflow用户
提问于 2021-05-27 14:03:42
回答 1查看 77关注 0票数 0

当我清除body和sections时,我希望Header和Footer的引用将自动删除,但不幸的是,如果我查看文件,我发现这些引用仍然存在。

这就是我清理主体和部分的方法。

代码语言:javascript
复制
Word.run(async context => {
    context.document.body.clear();
    return context.sync().then(r => {
        const sections = context.document.sections;
        sections.load();
        return context.sync().then(function () {
            sections.items.forEach(function (section) {
                // Clear the Body
                section.body.clear();

                // Clear any Headers
                section.getHeader("Primary").clear();
                section.getHeader("FirstPage").clear();
                section.getHeader("EvenPages").clear();

                // Clear any Footers
                section.getFooter("Primary").clear();
                section.getFooter("FirstPage").clear();
                section.getFooter("EvenPages").clear();
            });
        });
    });
}).catch(handleError);

这是我在清除所有项目后在.docx文件中看到的内容。

代码语言:javascript
复制
<w:headerReference r:id='rId9'
                   w:type='even'/>
<w:headerReference r:id='rId10'
                   w:type='default'/>
<w:footerReference r:id='rId11'
                   w:type='even'/>
<w:footerReference r:id='rId12'
                   w:type='default'/>
<w:headerReference r:id='rId13'
                   w:type='first'/>
<w:footerReference r:id='rId14'
                   w:type='first'/>

预期结果:

代码语言:javascript
复制
<w:headerReference r:id='rId8'
                   w:type='default'/>
<w:footerReference r:id='rId9'
                   w:type='default'/>

有没有办法删除它们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-08 20:32:42

现在,据我所知,可以通过调用body.select()方法来删除未使用的引用。

代码语言:javascript
复制
Word.run(async context => {
    context.document.body.clear();
    return context.sync().then(r => {
        const sections = context.document.sections;
        sections.load();
        return context.sync().then(function () {
            sections.items.forEach(function (section) {
                // Clear the Body
                section.body.clear();

                // Clear any Headers
                section.getHeader("Primary").clear();
                section.getHeader("FirstPage").clear();
                section.getHeader("EvenPages").clear();

                // Clear any Footers
                section.getFooter("Primary").clear();
                section.getFooter("FirstPage").clear();
                section.getFooter("EvenPages").clear();
            });

            context.document.body.select(); //This line is needed
            
            return context.sync().then(function(){
                console.log("Done");
            });
        });
    });
}).catch(handleError);

你可以在这里看到更多关于它的信息:https://github.com/OfficeDev/office-js/issues/1904

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67716502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档