2016-08-02 123 views
0

我正在使用下面的代碼在現有document.It中添加一個新頁面,它正在工作,但新創建的頁面複製舊頁面(頁眉和頁腳)的屬性。我想添加/附加一個沒有頁眉和頁腳的新頁面到現有文檔。 請建議什麼是錯的here.Is有什麼辦法讓最後一頁,並刪除頁眉和頁腳添加一個沒有頁眉和頁腳的新頁面OpenXML

下面的代碼是給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

頁眉和頁腳與使用關係部分相連,像這樣:

<w:sectPr> 
. . . 
<w:footerReference r:id="rId10" w:type="default"/> 
. . . 
</w:sectPr> 

因此,爲了從節中刪除頁眉/頁腳,一個需要從SectionProperties元素中刪除它們。對於除最後一節以外的所有節,SectionProperties元素都存儲爲該節中最後一個段落的子元素。對於最後一節,SectionProperties存儲爲body元素的子元素。因此,爲了不頭部添加頁面和頁腳您需要:

  1. 創建新的段落
  2. 從身體得到最後一節的屬性和插入它的克隆到新的段落(用做:secProp.Clone(真) )
  3. 從身體
  4. 新建段補充人體
  5. 與分頁符新段落添加到身體(新段(新潤(新的突破(){類型= BreakValues.Page刪除最後一節的屬性})))
  6. 添加新的空段性質的新的段落,你已經在你的代碼

做欲瞭解更多信息,請看這裏:http://officeopenxml.com/WPsection.php

+0

感謝馬爾科,我用你的腳步,但仍末頁頁腳/頭是因爲它是。如果我僅使用我的第一個代碼(帶有新的空白部分屬性的新段落),我得到(使用生產力工具)一個Section屬性w:sectPr在帶有頁腳和頁眉的Body下參考。最後一段內部的另一段屬性沒有頁眉頁腳引用。我不確定如果沒有頁眉頁腳爲什麼最後一頁仍然顯示它 – user32124

相關問題