通过C#在Word中插入或删除分节符
在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距、纸张方向、页眉和页脚等。正确使用分节符可以极大地提升文档的组织性和专业性,特别是在长文档中,需要在不同部分应用不同的样式时。本文将介绍如何使用一个免费的.NET库通过C#实现插入或删除Word分节符。
免费.NET Word库
Free Spire.Doc for .NET 是一款免费的用于对 Word 文档进行操作的 .NET类库,适用于商业或个人用途(但有一定页数限制)。
安装:
我们可以直接在Visual Studio中通过NuGet搜索 “FreeSpire.Doc”,然后点击“安装”将其引用到程序中。或者通过该链接下载产品包,解压后再手动将dll文件添加引用至程序。
Word分节符类型
在Spire.Doc for .NET中,Paragraph.InsertSectionBreak(SectionBreakType breakType) 方法用于在段落中插入分节符。 其中SectionBreakType枚举中包含的几种分节符类型如下:
- SectionBreakType.NoBreak:表示连续分节符,即新节的内容将紧接着当前页的内容开始,无需新的一页。适用于在同一页面内分隔不同部分的情况。
- SectionBreakType.NewPage:表示下一页分节符,即新节将从下一页开始。
- SectionBreakType.OddPage:表示奇数页分节符,即新节将从下一个奇数页上开始。
- SectionBreakType.EvenPage:表示偶数页分节符,即新节将从下一个偶数页上开始。
- SectionBreakType.NewColumn:适用于多栏的文档,新节将从下一栏开始。
API参考链接:https://www.e-iceblue.com/apireference/net/Spire.Doc/html/T_Spire_Doc_Documents_SectionBreakType.htm
C# 在Word中插入分节符
主要步骤:
- 通过
LoadFromFile()
方法加载 Word 文档。 - 使用指定的节中的指定段落。
- 使用
InsertSectionBreak()
方法在段落末尾添加分段符。 - 使用
SaveToFile()
方法保存结果文档。
示例代码:
using Spire.Doc;
using Spire.Doc.Documents; namespace InsertSectionBreak
{
class Program
{
static void Main(string[] args)
{
//加载Word文档
Document doc = new Document();
doc.LoadFromFile("南极洲.docx"); //获取第一节
Section sec = doc.Sections[0]; //获取该节中第一个段落
Paragraph para = sec.Paragraphs[0]; //插入连续分节符
para.InsertSectionBreak(SectionBreakType.NoBreak); //保存文件
doc.SaveToFile("连续分节符.docx", FileFormat.Docx);
}
}
}
插入连续分节符:
C# 删除Word中的分节符
本示例删除所有分节符的操作是通过将原始Word文档每一节中的内容复制到新建Word文档中来实现的。
主要步骤如下:
- 通过 LoadFromFile() 方法加载原始Word 文档。
- 创建一个新的Word文档,并往其中添加一节。
- 遍历原始文档中每一节,并获取其子对象内容。
- 复制获取到的子对象,然后使用 Section.Body.ChildObjects.Add() 方法将子对象内容添加到新文档中。
- 使用 SaveToFile() 方法保存新Word文档。
示例代码:
using Spire.Doc; namespace DeleteSectionBreak
{
class Program
{
static void Main(string[] args)
{
//加载原始Word文档
Document doc = new Document();
doc.LoadFromFile("实验.docx"); //创建新Word文档
Document NewDoc = new Document();
//添加一节
Section sec = NewDoc.AddSection(); //遍历原始文档中所有节
for (int i = 0; i < doc.Sections.Count; i++)
{
//获取当前节
Section section = doc.Sections[i]; //遍历该节中所有子对象
for (int j = 0; j < section.Body.ChildObjects.Count; j++)
{
//获取子对象并复制到新文档中
DocumentObject obj = section.Body.ChildObjects[j];
sec.Body.ChildObjects.Add(obj.Clone());
}
} //保存新文档
NewDoc.SaveToFile("删除分节符.docx", FileFormat.Docx);
}
}
}
效果图:
该免费.NET Word库也支持操作分页符、页边距、页眉页脚的等各项页面设置,更多示例可点击查看:
https://www.e-iceblue.cn/spiredoc/spire-doc-for-net-program-guide-content.html
通过C#在Word中插入或删除分节符的更多相关文章
- word 的使用 —— 分页符与分节符
节的概念:节定义了一些格式, 如页边距.页面的方向.页眉和页脚,以及页码的顺序. 分节符是指为表示节的结尾插入的标记. 分节符的作用: 分节符起着分隔其前后文本格式的作用,如果删除了某个分节符,它前面 ...
- word2007里插入分节符
1.打开Word文档,将鼠标定位到需要插入分页符的位置(比如第2页的末尾处),切换到"页面布局"功能区. 2.在"页面设置"分组中单击"分隔符&quo ...
- Word中怎样删除分节符而不影响前节页面设置
在Word中,通过常规方法删除一个不需要的分节符时,会默认将分节符后面的页面设置带入前一节.比如,第一节是纵向排版,第二节是横向排版,当删除第二节的全部内容,包括二者之间的分节符之后,就会使得第一节的 ...
- word中正文分栏重新换页问题
小论文常需要正文分栏,但是标题.摘要不分栏的编排格式. 1.在摘要后面加入分隔符来将内容分为摘要和正文两个部分.选择 插入→分隔符→分节符(连续). 2.然后进行分栏.选择 格式→分栏. 3.此时如果 ...
- Word文档分节设置页码
在一篇论文中需要将摘要和目录作为一部分设置罗马数字页码,正文部分设置阿拉伯数字页码. 大致效果如下图所示: 这里面用到了分节符,步骤如下: 1 :点击开始菜单栏下 显示/隐藏编辑标记 2:点击插入菜单 ...
- Microsoft office(1)分页符和分节符
Microsoft office下的页面布局中的分页符和分节符的区别: 分页符:标记一页的终止并开始下一页的点 分节符:插入分节符并在下一页开始新节 一般情况下,分节符在分页符外围,分节符一般是各种格 ...
- Word2010插入页码分节符
不是分页符,分节符主要是为了插入前后两种不同类型的页码,比如前面查罗马数字,从目录开始插入阿拉伯数字.
- word双栏排版,最后一页由于分节符造成最后一页是空白页,删除分节符双栏就变成了单栏
遇到这个问题时,我们把心思都花在了如何“删除”这个空白页. 但是最有效的办法不是“删除”,而是(以word2007为例): Word 2007中文版: 鼠标放在最后一页,点击页面布局①,选择页面布局右 ...
- word中替换【换行符】与【回车符】
- 在 word 中对正文和目录进行分节显示页码
使用版本 word 2016 使目录独占一页:在正文第一页的第一个字符前插入分节符下一页(布局--分节符--下一页),此时会在正文第一个字符前插入分节符.在之前插入一张空白页,用于插入目录.(插入 - ...
随机推荐
- Spring5.X的注解配置项目
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- mysql 与驱动版本对应关系
原链接:点我直达
- c++ primer 第五版随笔
1.what is std::endl ? for example, std::cout << "hello world" << std::endl; st ...
- 解决方案 | MiKTex SSL connect error code 35
可能是:你的网络屏蔽了需要连接的网站,更换手机流量热点即可解决
- SQL Thinking
s2下半年我在内部有一次部门级别的技术分享会,以本文内容分享为主. 其实有很多人问过我相同的问题,遇到需要改写的慢sql,不知道怎么改,改好了以后也不知道等不等价?不等价了也不知道错在哪?这个要怎么破 ...
- Element-plus的徽章组件el-badge
Element-plus的徽章组件el-badge Element Plus 是一个基于 Vue.js 的 UI 组件库,它提供了一系列的常用 UI 组件供开发者使用.其中,徽章组件(el-badge ...
- 说说XXLJob分片任务实现原理?
XXL Job 是一个开源的分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展的分布式任务调度框架. 这两天咱们开发的 AI Cloud 项目中,也使用到了 XXL Job 来执行 ...
- .NET Core 3.x 基于AspectCore实现AOP,实现事务、缓存拦截器
最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理.给一个方法加一个缓存特性,那这个方法就会进行缓存.这个也是网上说的面向切面编程AOP. A ...
- UE5 打不开
在游戏开发中,出现了UE打不开的情况 初步推测,新增了接口Attacker, 而我们的DefaultPawn可能一下子实现了两个接口造成的 而这两个接口都在一个插件里,一个是c++实现的,一个是蓝图实 ...
- Python在linux系统和window系统相对路径导致找不到文件报错
文件路径 project1 -dir1 --test1.py -dir2 --test2.text -main.py test1.py from pathlib import Path "& ...