LoginSignup
1
0

More than 1 year has passed since last update.

JavaでWord文書の空白行を削除する方法

Last updated at Posted at 2022-11-22

Word文書を扱っていると、大量の空白行に遭遇することが多く、文書の美観を損ねるだけでなく、文書の読みやすさも損なわれてしまいます。本記事では、無料の専門家向け開発ツール「Free Spire.Doc for Java」を使って、Word文書内の空白行や段落を素早く削除する方法を紹介します。具体的な操作手順は、以下のとおりです。

【依存関係の追加】

この方法は、無料のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。

1. Maven

Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

2. 公式サイトよりJarファイルをダウンロード

まず、Free Spire.Doc for Java の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Doc.jarファイルを依存関係としてプロジェクトにインポートしてください。

Word文書内の空白行や空白段落を削除する

Word文書中の空行を削除するには、Sectionクラスのオブジェクトの文字列を取得し、それが空であるかどうかを検出する必要があります。そして、空文字列を持つオブジェクトを削除します。

詳細な手順は以下の通りです。

  • Document クラスのインスタンスを作成します。
  • Document.loadFromFile() メソッドでWord文書を読み込みます。
  • Section.getBody().getChildObjects().remove() メソッドで段落が空白かどうかを検出し、空白の段落を削除します。
  • Document.saveToFile() メソッドでドキュメントを保存します。

Java

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;

public class removeEmptyLines {
    public static void main(String[] args) {

        //Documentクラスのオブジェクトを作成する
        Document document = new Document();

        //Word文書の読み込み
        document.loadFromFile("ドキュメント.docx");

        //文書内の空白行を検索して削除する
        for (Object sectionObj : document.getSections()) {
            Section section = (Section) sectionObj;
            for (int i = 0; i < section.getBody().getChildObjects().getCount(); i++){
                String s = ((Paragraph)(section.getBody().getChildObjects().get(i))).getText().trim();
                if (s.isEmpty()) {
                    section.getBody().getChildObjects().remove(section.getBody().getChildObjects().get(i));
                    i--;
                }
            }
        }
        String result = "空行の削除.docx";

        //ドキュメントを保存する
        document.saveToFile(result, FileFormat.Docx_2013);
    }
}

【結果のWordドキュメント】

Word文書内の空白行や空白段落を削除する

この記事では、Word文書内の空白行を削除する詳細を表示します。もし何か質問があったり、無料のSpire.Doc for Javaについてもっと知りたい場合は、Spire.Doc Forumに移動してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0