Web から Word ドキュメントにコンテンツをコピーすると、段落間に空白が多くなり、長い文章に見えると同時に、文章の可読性が低下する可能性があります。この記事では、Spire.Doc for .NET を使用して C# および VB.NET でプログラムによって既存の Word ドキュメント内の空の行/空白の段落を削除する方法を示します。
Spire.Doc for.NET をインストールします
まず、Spire.Doc for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
既存の Word ドキュメント内の空白の行を削除する
詳細な手順は次のとおりです。
- Document インスタンスを作成します。
- Document.LoadFromFile() メソッドを使用してサンプルの Word ドキュメントをロードします。
- ドキュメント内のすべての段落をループして、段落が空白の段落であるかどうかを決定します。
- DocumentObjectCollection.Remove() メソッドを使用し、Word から空白の段落を削除します。
- Document.SaveToFile() メソッドを使用して、結果を別のファイルに保存します。
- C#
- VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using System;
namespace RemoveEmptyLines
{
class Program
{
static void Main(string[] args)
{
//Documentインスタンスを作成する
Document doc = new Document();
//Word ドキュメントをロードする
doc.LoadFromFile(@"input.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("RemoveEmptyLines.docx", FileFormat.Docx2013);
}
}
}
Imports Spire.Doc
Imports Spire.Doc.Documents
Namespace RemoveEmptyLines
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Documentインスタンスを作成する
Dim doc As Document = New Document()
'Word ドキュメントをロードする
doc.LoadFromFile("input.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 Is 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("RemoveEmptyLines.docx", FileFormat.Docx2013)
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。