JavaでWord文書の既存のテキストから箇条書きや番号付きリストを作成する方法

箇条書きリストと番号付きリストは、一般的に使用されるリスト形式であり、どちらもテキストコンテンツの構造を明確にし、読者が主旨を得やすいようにすることができます。Word文書でこの2つのリスト形式を使用すると、文書の内容をより簡潔かつ効率的に表示することができます。この記事では、無料の[Free Spire.Doc for Java](https://jp.e-iceblue.com/introduce/free-spire-doc-for-java.html)を使って、**Word文書内の既存のテキストから箇条書きリストと番号付きリストをコードで作成する方法**を紹介します。

## 【依存関係の追加】

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

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

```XML
<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](https://jp.e-iceblue.com/download/free-spire-doc-for-java.html) の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Doc.jarファイルを依存関係としてプロジェクトにインポートしてください。

## Word文書内のテキストに箇条書きと番号付きリストのスタイルを適用する

Free Sipire.Doc for Java は、テキストに箇条書きのスタイルを適用する **ListFormat.applyBulletStyle()** メソッドと、テキストに番号付きリストのスタイルを適用する **ListFormat.applyNumberedStyle()** メソッドを提供します。**ListFormat.getCurrentListLevel().setNumberPosition()** メソッドでリストの水平方向の位置を設定することもできます。

> **既存のテキストに箇条書きと番号付きリストのスタイルを適用する詳細な手順は以下の通りです。**

- **Document** クラスのオブジェクトを作成します。
- **Document.loadFromFile()** メソッドを使用して Word 文書を読み込みます。
- **Document.getSections().get()** メソッドでドキュメントの最初のセクションを取得します。
- 第3段落から第5段落までをループしてください。
- **ListFormat.applyBulletStyle()** でこれら3つのセクションを箇条書きにし、**ListFormat.getCurrentListLevel().setNumberPosition()** でリストの水平位置を設定します。
- 第7段落から第9段落までをループしてください。
- **ListFormat.applyNumberedStyle()** でこれら3つの段落を番号付きリストに設定し、**ListFormat.getCurrentListLevel().setNumberPosition()** でリストを水平に設定しています。
- **Document.saveToFile()** メソッドでドキュメントを保存します。

**Java**

```Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.formatting.ListFormat;

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

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

        //Wordドキュメントを読み込む
        document.loadFromFile("SARスーパーグループとエクスカバータ.docx");

        //ドキュメントの最初のセクションを取得する
        Section section = document.getSections().get(0);

        //第3段落から第5段落にかけてループする
        for(int i = 2; i <= 4; i++){
            Paragraph para = section.getParagraphs().get(i);
            ListFormat listFormat = para.getListFormat();

            //箇条書きのスタイルを適用する
            listFormat.applyBulletStyle();

            //リストの水平位置を設定する
            listFormat.getCurrentListLevel().setNumberPosition(-10);
        }

        //第7段落から第9段落にかけてループする
        for(int i = 6; i <= 8; i++){
            Paragraph para = section.getParagraphs().get(i);
            ListFormat listFormat = para.getListFormat();

            //番号付きリストのスタイルを適用する
            listFormat.applyNumberedStyle();

            //リストの水平位置を設定する
            listFormat.getCurrentListLevel().setNumberPosition(-10);

        }

        //ドキュメントを保存する
        document.saveToFile("リストの作成.docx", FileFormat.Docx_2013);
    }
}
```

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

![Word文書内のテキストに箇条書きと番号付きリストのスタイルを適用する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/7aa16ee8-2b09-b42f-6316-24ef7889d697.png)

> **Word文書内の既存のテキストから箇条書きや番号付きのリストを作成する方法は、こちらの記事でご紹介しています。文書操作の詳細については、[Spire.Doc Forum](https://www.e-iceblue.com/forum/spire-doc-f6.html)を参照してください。**