我们从网上复制内容到 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 天的临时许可证。