彩票走势图

Word控件Spire.Doc 【页面设置】教程(6) 如何在C#的word文档中重置从1开始的每个部分的页码

翻译|使用教程|编辑:胡涛|2022-06-15 10:46:40.540|阅读 160 次

概述:本文主要介绍如何在C#的word文档中重置从1开始的每个部分的页码,欢迎查阅!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

开发人员广泛使用节来为每个不同的节设置不同的格式或布局选项,例如为不同的节使用不同的页眉和页脚信息,并为每个节动态重置页码。在 Spire.Doc for .NET 的帮助下,我们可以轻松地在 C# 和 VB.NET 中插入词段和删除词段。我们将向您展示如何使用 Spire.Doc 轻松地为每个部分重置从 1 开始的页码。

Spire.Doc for.NET 最新下载

首先确保已正确安装,然后通过以下路径在下载的 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");
}
}
}


欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询  ;技术交流Q群(767755948)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP