文档彩票走势图>>E-iceblue中文文档>>在word中重置页码
在word中重置页码
开发人员广泛使用节来为每个不同的节设置不同的格式或布局选项,例如为不同的节使用不同的页眉和页脚信息,并为每个节动态重置页码。在 Spire.Doc for .NET 的帮助下,我们可以轻松地在 C# 和 VB.NET 中插入词段和删除词段。我们将向您展示如何使用 Spire.Doc 轻松地为每个部分重置从 1 开始的页码。
技术交流Q群(767755948)
首先确保已正确安装,然后通过以下路径在下载的 Bin 文件夹中添加 Spire.Doc.dll 作为参考:“..\Spire.Doc\Bin\NET4.0\ Spire.Doc .dll”。这是如何重置每个部分的页码的代码。
第 1 步:加载三个不同的 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方法将所有文档合并为一个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 步:找到字段类型 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 步 : 重新开始节的页码并将起始页码设置为 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 步:将文档保存到文件并启动它。
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"); } } }