我正在使用以下代码在现有文档中添加新页面。它正在工作,但新创建的页面复制旧页面的属性(页眉和页脚)。我想添加/追加没有标题的新页面页脚到现有文档。 请在这里建议有什么问题。有没有办法获取最后一页并删除页眉和页脚
下面的代码是this xml
Paragraph paragraph = new Paragraph();
ParagraphProperties paragraphProperties = new ParagraphProperties();
SectionProperties sectionProperties1 = new SectionProperties();
SectionType sectionType1 = new SectionType() { Val = SectionMarkValues.NextPage };
//sectionType1.Descendants<FooterReference>();
sectionProperties1.Append(sectionType1);
paragraphProperties.Append(sectionProperties1);
paragraph.Append(paragraphProperties);
mainPart.Document.Body.InsertAfter(paragraph, mainPart.Document.Body.LastChild);
答案 0 :(得分:0)
页眉和页脚使用关系连接部分,如下所示:
<w:sectPr>
. . .
<w:footerReference r:id="rId10" w:type="default"/>
. . .
</w:sectPr>
因此,为了从节中删除页眉/页脚,需要从SectionProperties元素中删除它们。对于除最后一节之外的所有节,SectionProperties元素将存储为节中最后一个段落的子元素。对于最后一节,SectionProperties存储为body元素的子元素。因此,为了添加没有页眉和页脚的页面,您需要:
有关详细信息,请参阅此处:http://officeopenxml.com/WPsection.php
答案 1 :(得分:0)
我知道这是一个非常古老的问题,但仍未解决,也许其他人正在寻找答案。 其原因是 Word 自动将页眉和页脚设置为“从前一个部分”,如果它不是文档中的第一部分。即使没有设置页眉和页脚。
参见 headerreference 类 (https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.headerreference) 的文档:
<块引用>如果给定部分省略了任何类型的标题,则应适用以下规则。
<块引用>这就是为什么页眉和页脚仍然显示在最后一页的原因。