当前位置: 首页 > news >正文

C# 在Word中插入或删除分节符

在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距、纸张方向、页眉和页脚等。正确使用分节符可以极大地提升文档的组织性和专业性,特别是在长文档中,需要在不同部分应用不同的样式时。

本文将介绍如何使用一个免费的.NET库通过C#实现插入或删除Word分节符。

文章目录

    • 免费.NET Word库
    • Word分节符类型
    • C# 在Word中插入分节符
    • 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中插入分节符

主要步骤:

  1. 通过LoadFromFile()方法加载 Word 文档。
  2. 使用指定的节中的指定段落。
  3. 使用 InsertSectionBreak() 方法在段落末尾添加分段符。
  4. 使用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#插入分节符

C# 删除Word中的分节符

本示例删除所有分节符的操作是通过将原始Word文档每一节中的内容复制到新建Word文档中来实现的。
主要步骤如下:

  1. 通过LoadFromFile()方法加载原始Word 文档。
  2. 创建一个新的Word文档,并往其中添加一节。
  3. 遍历原始文档中每一节,并获取其子对象内容。
  4. 复制获取到的子对象,然后使用 Section.Body.ChildObjects.Add() 方法将子对象内容添加到新文档中。
  5. 使用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);}}
}

效果图:
C#删除分节

该免费.NET Word库也支持操作分页符、页边距、页眉页脚的等各项页面设置,更多示例可点击查看:
https://www.e-iceblue.cn/spiredoc/spire-doc-for-net-program-guide-content.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 创建一个简单的贪吃蛇游戏:HTML、CSS和JavaScript教程
  • VS2022使用.Net Framework4.0方法
  • 【实战营彩蛋InternLM 1.8B 模型 Android 端侧部署实践
  • GitHub开源项目精选:用React、TypeScript和Framer Motion复刻MacOS桌面
  • 内核函数调试
  • 机械学习—零基础学习日志(数学基础汇总1)
  • 如何识别并防御漏洞扫描类攻击
  • 大数据环境下用户数据隐私安全防护系统的设计与实现(论文+源码)_kaic
  • FPGA常见型号
  • 技术周总结 08.05-08.11周日
  • 如何为服务器生成一个TLS证书
  • 【OceanBase系列】—— OceanBase应急三板斧
  • 如何远程访问局域网内的电脑?干货分享,这三种简单方法请查收!建议收藏!
  • 数据仓库: 2- 数据建模
  • 【网络编程详解】
  • 【刷算法】求1+2+3+...+n
  • CentOS6 编译安装 redis-3.2.3
  • CODING 缺陷管理功能正式开始公测
  • maven工程打包jar以及java jar命令的classpath使用
  • miaov-React 最佳入门
  • Phpstorm怎样批量删除空行?
  • Vue 2.3、2.4 知识点小结
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端技术周刊 2019-01-14:客户端存储
  • 三栏布局总结
  • 微信小程序开发问题汇总
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (12)目标检测_SSD基于pytorch搭建代码
  • (BFS)hdoj2377-Bus Pass
  • (Java数据结构)ArrayList
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (接口封装)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (杂交版)植物大战僵尸
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .Net(C#)自定义WinForm控件之小结篇
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • /etc/fstab和/etc/mtab的区别
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @RestControllerAdvice异常统一处理类失效原因
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [16/N]论得趣
  • [2]十道算法题【Java实现】
  • [20160807][系统设计的三次迭代]
  • [20171101]rman to destination.txt
  • [2024-06]-[大模型]-[Ollama] 0-相关命令