2013-05-31 53 views
1

我已經創建了一個Word文檔docx,現在正在使用OpenXml生產力工具對其進行「反向工程」處理。我使用.FeedData()將樣式,主題等填充到文檔中,我將它保存爲反射中的.xml文件 - 並且一切進展順利,直到找到頁腳。FeedData into FooterPart

下面是我在做什麼的樣式(這工作完全正常):

StyleDefinitionsPart styleDefinitionsPart = mainPart.AddNewPart<StyleDefinitionsPart>(); 
using (FileStream fs = new FileStream(Server.MapPath("styles.xml"), FileMode.Open, FileAccess.Read)) 
{ 
    styleDefinitionsPart.FeedData(fs); 
} 

看着我的文檔,一切都在那裏 - 現在我反思頁腳部分,將XML保存到頁腳。 XML並添加這樣的部分:

FooterPart footerPart = mainPart.AddNewPart<FooterPart>(); 
using (FileStream fs = new FileStream(Server.MapPath("footer.xml"), FileMode.Open, FileAccess.Read)) 
{ 
    footerPart.FeedData(fs); 
} 

其他的一切看起來不錯,我可以看到我的文檔中的一部分,但只是頁腳沒有出現在文檔中,我究竟錯在這裏做什麼?我是否需要告訴文檔需要使用哪個腳註部分?

回答

0

固定。似乎必須有在身體的一些內容,然後才能添加頁腳和標題給它,那麼你需要添加一個引用到他們這樣每個部分:

foreach (var section in mainPart.Document.Body.Elements<WP.SectionProperties>()) 
{ 
    section.PrependChild<WP.HeaderReference>(new WP.HeaderReference() { Id = mainPart.GetIdOfPart(headerPart) }); 
    section.PrependChild<WP.FooterReference>(new WP.FooterReference() { Id = mainPart.GetIdOfPart(footerPart) }); 
} 

記住要添加頁眉和頁腳最後,所以文檔中有內容。

非常感謝這個答案:Add Header and Footer to an existing empty word document with OpenXML SDK 2.0