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

C# 删除Word文档中的段落

在编辑Word文档时,我们有时需要调整段落的布局、删除不必要的段落以优化文档的结构和阅读体验。本文将通过以下3个简单示例演示如何使用免费.NET库删除Word文档中的段落 。

目录

C# 删除Word中的指定段落

C# 删除Word中的所有段落

C# 删除Word中的空白段落


免费.NET Word 库 - Free Spire.Doc for .NET。该库支持实现创建、编辑、转换Word文档等多种操作,可以直接在Visual Studio中通过NuGet搜索 “FreeSpire.Doc”,然后点击“安装”将其引用到程序中。或者通过该链接下载产品包,解压后再手动将dll文件添加引用至程序。

Free Spire.Doc for .NET | 下载下载.NET Word库用以阅读、创建、操作、转换以及打印MS Word文档。icon-default.png?t=N7T8https://www.e-iceblue.cn/Downloads/Free-Spire-Doc-NET.html

C# 删除Word中的指定段落

通过 Section.Paragraphs 属性获取 ParagraphCollection 对象后,再用 RemoveAt(int index) 方法可以实现删除指定索引处的段落。具体代码如下:

using Spire.Doc;

namespace RemoveParagraphs
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //加载Word文档
            Document document = new Document();
            document.LoadFromFile("南极洲.docx");

            //获取第一节
            Section section = document.Sections[0];

            //删除第四段
            section.Paragraphs.RemoveAt(3);

            //保存文档
            document.SaveToFile("删除指定段落.docx", FileFormat.Docx2016);
        }
    }
}

C# 删除Word中的所有段落

ParagraphCollection 类的 Clear() 方法可以直接删除指定section中所有段落,要删除文档每一节中的所有段落,可以通过循环实现。具体代码如下:

using Spire.Doc;

namespace RemoveAllParagraphs
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //加载Word文档
            Document document = new Document();
            document.LoadFromFile("南极洲.docx");

            //遍历所有节
            foreach (Section section in document.Sections)
            {
                //删除段落
                section.Paragraphs.Clear();
            }

            //保存文档
            document.SaveToFile("删除所有段落.docx", FileFormat.Docx2016);
        }
    }
}

C# 删除Word中的空白段落

删除空白段落需要先遍历每一节中的所有段落并判断其中是否包含内容,如果为空白行则通过DocumentObjectCollection.Remove() 方法将其删除。具体代码如下:

using Spire.Doc;
using Spire.Doc.Documents;
using System;

namespace RemoveEmptyLines
{
    class Program
    {

        static void Main(string[] args)
        {

            //加载Word文档
            Document doc = new Document(); 
            doc.LoadFromFile("南极洲1.docx");

            //遍历所有段落
            foreach (Section section in doc.Sections)
            {
                for (int i = 0; i < section.Body.ChildObjects.Count; i++)
                {
                    if (section.Body.ChildObjects[i].DocumentObjectType == DocumentObjectType.Paragraph)
                    {
                        //判断当前段落是否为空白段落
                        if (String.IsNullOrEmpty((section.Body.ChildObjects[i] as Paragraph).Text.Trim()))
                        {
                            //删除空白段落
                            section.Body.ChildObjects.Remove(section.Body.ChildObjects[i]);
                            i--;
                        }
                    }

                }
            }

            //保存文档
            doc.SaveToFile("删除空白行.docx", FileFormat.Docx2016);

        }
    }
}

更多功能示例,可点击:Spire.Doc for .NET 中文教程


http://www.kler.cn/a/291839.html

相关文章:

  • CarWatchdog
  • 【服务器】MyBatis是如何在java中使用并进行分页的?
  • 【机器学习】机器学习的基本分类-强化学习(Reinforcement Learning, RL)
  • java集合基础
  • 学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】
  • jdk和cglib动态代理区别
  • Golang 内存泄漏详解:原因、检测与修复
  • 【论文阅读】LLM4CP: Adapting Large Language Models for Channel Prediction(2024)
  • 啄木鸟上门安装维修系统源码开发
  • 【个人笔记】VCS工具与命令
  • 钢铁百科:Q420DR力学性能、Q420DR执行标准、Q420DR低温容器钢板
  • 自己设计的QT系统,留个档
  • Docker 容器编排之 Docker Compose
  • Arcgis将图层转shape文件
  • 【大数据】DataX深度解析:数据同步的神器是如何工作的?
  • Android Gradle 插件的说明
  • AI生成图片,ChatGPT生成路虎女逆行打人插图。
  • 语音测试(一)ffmpeg视频转音频
  • 【2024高教社杯全国大学生数学建模竞赛】B题 生产过程中的决策问题——解题思路 代码 论文
  • 浅谈C# 虚函数
  • halcon+c#+abb机器人=激光熔覆视觉工作站
  • ActiViz中的粒子系统详细解析
  • 基于SpringBoot+Vue+MySQL的社区维修平台
  • 揭秘美国大健康电商:为何Newsbreak广告成为其市场破局利器?
  • Qt QT中QString 类的使用--获取指定字符位置、截取子字符串等
  • 鸿蒙(API 12 Beta3版)图形【AR Engine简介】 AR引擎服务