翻譯|使用教程|編輯:胡濤|2022-06-15 10:46:40.540|閱讀 215 次
概述:本文主要介紹如何在C#的word文檔中重置從1開(kāi)始的每個(gè)部分的頁(yè)碼,歡迎查閱!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
開(kāi)發(fā)人員廣泛使用節(jié)來(lái)為每個(gè)不同的節(jié)設(shè)置不同的格式或布局選項(xiàng),例如為不同的節(jié)使用不同的頁(yè)眉和頁(yè)腳信息,并為每個(gè)節(jié)動(dòng)態(tài)重置頁(yè)碼。在 Spire.Doc for .NET 的幫助下,我們可以輕松地在 C# 和 VB.NET 中插入詞段和刪除詞段。我們將向您展示如何使用 Spire.Doc 輕松地為每個(gè)部分重置從 1 開(kāi)始的頁(yè)碼。
首先確保已正確安裝,然后通過(guò)以下路徑在下載的 Bin 文件夾中添加 Spire.Doc.dll 作為參考:“..\Spire.Doc\Bin\NET4.0\ Spire.Doc .dll”。這是如何重置每個(gè)部分的頁(yè)碼的代碼。
第 1 步:加載三個(gè)不同的 word 文檔
Document document1 = new Document(); document1.LoadFromFile("..\\..\\1.docx"); Document document2 = new Document(); document2.LoadFromFile("..\\..\\2.docx"); Document document3 = new Document(); document3.LoadFromFile("..\\..\\3.docx");
第 2 步: 使用section方法將所有文檔合并為一個(gè)word文檔
foreach (Section sec in document2.Sections) { document1.Sections.Add(sec.Clone()); } foreach (Section sec in document3.Sections) { document1.Sections.Add(sec.Clone()); }
第 3 步:瀏覽文檔
//Traverse every section of document1 foreach (Section sec in document1.Sections) { //Traverse every object of the footer foreach (DocumentObject obj in sec.HeadersFooters.Footer.ChildObjects) { if (obj.DocumentObjectType == DocumentObjectType.StructureDocumentTag) { DocumentObject para = obj.ChildObjects[0]; foreach (DocumentObject item in para.ChildObjects) { if (item.DocumentObjectType == DocumentObjectType.Field)
第 4 步:找到字段類(lèi)型 FieldNumPages 并將其更改為 FieldSectionPages
//Find the item and its field type is FieldNumPages if ((item as Field).Type == FieldType.FieldNumPages) { //Change field type to FieldSectionPages (item as Field).Type = FieldType.FieldSectionPages;
第 5 步 : 重新開(kāi)始節(jié)的頁(yè)碼并將起始頁(yè)碼設(shè)置為 1
document1.Sections[1].PageSetup.RestartPageNumbering = true; document1.Sections[1].PageSetup.PageStartingNumber = 1; document1.Sections[2].PageSetup.RestartPageNumbering = true; document1.Sections[2].PageSetup.PageStartingNumber = 1;
第 6 步:將文檔保存到文件并啟動(dòng)它。
document1.SaveToFile("sample.docx",FileFormat.Docx); System.Diagnostics.Process.Start("sample.docx");
完整代碼:
namespace ResetPageNumber { class Program { static void Main(string[] args) { Document document1 = new Document(); document1.LoadFromFile("..\\..\\1.docx"); Document document2 = new Document(); document2.LoadFromFile("..\\..\\2.docx"); Document document3 = new Document(); document3.LoadFromFile("..\\..\\3.docx"); foreach (Section sec in document2.Sections) { document1.Sections.Add(sec.Clone()); } foreach (Section sec in document3.Sections) { document1.Sections.Add(sec.Clone()); } foreach (Section sec in document1.Sections) { foreach (DocumentObject obj in sec.HeadersFooters.Footer.ChildObjects) { if (obj.DocumentObjectType == DocumentObjectType.StructureDocumentTag) { DocumentObject para = obj.ChildObjects[0]; foreach (DocumentObject item in para.ChildObjects) { if (item.DocumentObjectType == DocumentObjectType.Field) { if ((item as Field).Type == FieldType.FieldNumPages) { (item as Field).Type = FieldType.FieldSectionPages; } } } } } } document1.Sections[1].PageSetup.RestartPageNumbering = true; document1.Sections[1].PageSetup.PageStartingNumber = 1; document1.Sections[2].PageSetup.RestartPageNumbering = true; document1.Sections[2].PageSetup.PageStartingNumber = 1; document1.SaveToFile("sample.docx",FileFormat.Docx); System.Diagnostics.Process.Start("sample.docx"); } } }
歡迎下載|體驗(yàn)更多E-iceblue產(chǎn)品
獲取更多信息請(qǐng)咨詢 ;技術(shù)交流Q群(767755948)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn