我们从网上复制内容到 Word 文档中时,段落之间可能会出现很多空白,显得文章冗长的同时,也降低了文章的可读性。本文将教大家如何使用 Spire.Doc for .NET 通过代码的方式实现删除空白行、空白段。
安装 Spire.Doc for .NET
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc 从已有 Word 文件中删除空白行
详细步骤如下:
- 创建 Document 对象。
- 用 Document.LoadFromFile() 方法加载示例文档。
- 在文档中循环查找空白段落。
- 用 DocumentObjectCollection.Remove() 方法删除空白段落。
- 用 Document.SaveToFile() 方法保存文档到另一个文件。
- C#
- VB.NET
using System;
using Spire.Doc;
using Spire.Doc.Documents;
namespace removeblankline
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Document对象
            Document doc = new Document();
            //加载示例文档
            doc.LoadFromFile(@"D:\testp\示例.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.Docx2013);
        }
    }
}Imports System
Imports Spire.Doc
Imports Spire.Doc.Documents
Namespace RemoveEmptyLines
    Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建Document对象 Dim doc As Document = New Document '加载示例文件
            doc.LoadFromFile("D:\testp\示例.docx")
            '循环查询文档中的所有段落 For Each section As Section In doc.Sections For i As Integer = 0 To section.Body.ChildObjects.Count - 1 '确定段落是否为空白段落
                    If section.Body.ChildObjects(i).DocumentObjectType = DocumentObjectType.Paragraph Then
                        '删除空白段落 If String.IsNullOrEmpty((TryCast(section.Body.ChildObjects(i),Paragraph)).Text.Trim()) Then section.Body.ChildObjects.Remove(section.Body.ChildObjects(i)) i -= 1 End If End If Next Next '保存文件
            doc.SaveToFile("删除空白行.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace结果展示

申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
 



 
					



