文档半岛外围网上直营>>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");
}
}
}

QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线