当前位置: 首页 > 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

http://www.lryc.cn/news/423446.html

相关文章:

  • 基于STM32+Qt设计的无人超市收银系统(206)
  • 开源免费的表单收集系统TDuck
  • Python 生成器、迭代器、可迭代对象 以及应用场景
  • 马斯克对欧盟的反应
  • uniapp + 安卓APP + H5 + 微信小程序实现PDF文件的预览和下载
  • Elasticsearch 8 RAG 技术分享
  • 根据字典值回显,有颜色的
  • 多台PC网络ADB连接同一台RK3399 Android7.1.2设备
  • 前端黑科技:使用 JavaScript 实现网页扫码功能
  • 【人工智能】全景解析:【机器学习】【深度学习】从基础理论到应用前景的【深度探索】
  • MySQL与PostgreSQL语法区别
  • vue2+OpenLayers 天地图上凸显出当前地理位置区域(4)
  • 基于Python、Django开发Web计算器
  • 高性能并行计算面试-核心概念-问题理解
  • java-activiti笔记
  • Layui——隐藏表单项后不再进行验证
  • Github Copilot 使用技巧
  • 【实现100个unity特效之20】用unity实现物品悬浮和发光像素粒子特效
  • GPT-4o mini发布,轻量级大模型如何颠覆AI的未来?
  • 高性能的 C++ Web 开发框架 CPPCMS + WebSocket 模拟实现聊天与文件传输案例。
  • 合合信息OCR支持30类国内常见票据一站式分类识别,支持医疗发票、数电票识别
  • LeetCode-day40-3151. 特殊数组 I
  • 技术研究:Redis 数据结构与 I/O 模型
  • 46-扇孔的处理及铺铜以及布线
  • LVS实验的三模式总结
  • 游戏安全入门-扫雷分析远程线程注入
  • bert-base-chinese模型的完整训练、推理和一些思考
  • JS基础5(JS的作用域和JS预解析)
  • Doris 夺命 30 连问!(中)
  • 书生.浦江大模型实战训练营——(四)书生·浦语大模型全链路开源开放体系