チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.Doc for .NET»段落»C#/VB.NET:Word の空の行を削除する方法
2022-09-01

C#/VB.NET:Word の空の行を削除する方法

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

C#/VB.NET:Word の空の行を削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 710 times