JavaでWord文書に背景色、背景画像、背景テクスチャを追加する方法

Wordドキュメントの背景は、ドキュメントのスタイルや 個性を決定する上で重要な役割を担っています。Wordのデフォルトのページ背景は白であることは周知の通りです。ドキュメントをよりスタイリッシュで目を引くものにするために、色の背景、画像の背景、またはテクスチャの背景を設定することができます。今回は、[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.2.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ドキュメントの背景に単色を適用する手順は次のとおりです。
- **Document** のオブジェクトを作成します。
- **Document.loadFromFile()** メソッドを使用して Word ファイルを読み込みます。
- **Document.getBackground().setType()** メソッドを使用して、背景の種類を **Color** に設定します。
- **Document.getBackground().setColor()** メソッドを使用して、背景色を設定します。
- **Document.saveToFile()** メソッドを使用してドキュメントを保存します。

**Java**
```Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.BackgroundType;

import java.awt.*;

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

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

        //Wordドキュメントを読み込む
        document.loadFromFile("C:\\定義を超えた意味.docx");

        //背景の種類を色に設定する
        document.getBackground().setType(BackgroundType.Color);

        //背景色をライト ブルーに設定する
        document.getBackground().setColor(new Color(173,216,230));

        //ドキュメントを保存する
        document.saveToFile("背景色.docx", FileFormat.Docx);
    }
}
```
![ドキュメントの背景に単色を追加](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/ffa05186-a663-6ee7-eec7-7a71415f9170.png)

## ドキュメントの背景にグラデーションの色を追加
Wordドキュメントの背景にグラデーションカラーを適用する手順は次のとおりです。
- **Document** のオブジェクトを作成します。
- **Document.loadFromFile()** メソッドを使用して Word ファイルを読み込みます。
- **Document.getBackground().setType()** を使用して、背景の種類を **Gradient** に設定します。
- **BackgroundGradient.setColor1()** メソッドと **BackgroundGradient.setColor2()** メソッドを使用してグラデーションの色を2色設定します。
- **BackgroundGradient.setShadingVariant()** メソッドを使用して、グラデーションのバリアントを **Shading_Down** に設定します。
- **BackgroundGradient.setShadingStyle()** メソッドを使用して、シェードスタイルを **Vertical** に設定します。
- **Document.saveToFile()** メソッドを使用して、ドキュメントを保存します。

**Java**
```Java
import com.spire.doc.BackgroundGradient;
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.BackgroundType;
import com.spire.doc.documents.GradientShadingStyle;
import com.spire.doc.documents.GradientShadingVariant;

import java.awt.*;

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

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

        //Wordドキュメントを読み込む
        document.loadFromFile("C:\\定義を超えた意味.docx");

        //背景の種類をグラデーションにする
        document.getBackground().setType(BackgroundType.Gradient);

        //グラデーションに2色設定する
        BackgroundGradient gradient = document.getBackground().getGradient();
        gradient.setColor1(Color.white);
        gradient.setColor2(new Color(173,216,230));

        //グラデーション バリアントをシェーディン グダウンに設定する
        gradient.setShadingVariant(GradientShadingVariant.Shading_Down);

        //グラデーションのスタイルを縦に設定する
        gradient.setShadingStyle(GradientShadingStyle.Vertical);

        //ドキュメントを保存する
        document.saveToFile("グラデーションの背景色.docx", FileFormat.Docx);
    }
}
```
![ドキュメントの背景にグラデーションの色を追加](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/ea7bfef2-e62a-1565-4f5d-e31612a5f7d7.png)

## ドキュメントの背景に画像を追加
以下は、Wordドキュメントの背景に画像を追加する手順です。
- **Document** のオブジェクトを作成します。
- **Document.loadFromFile()** メソッドを使用して Word ファイルを読み込みます。
- **Document.getBackground().setType()** メソッドを使用して、背景の種類を **Picture** に設定します。
- **Document.getBackground().setPicture()** メソッドを使用して、背景画像を設定します。
- **Document.saveToFile()** メソッドを使用してドキュメントを保存します。

**Java**
```Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.BackgroundType;

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

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

        //Wordドキュメントを読み込む
        document.loadFromFile("C:\\定義を超えた意味.docx");

        //背景の種類を画像にする
        document.getBackground().setType(BackgroundType.Picture);

        //背景画像を設定する
        document.getBackground().setPicture("C:\\背景.jpeg");

        //ドキュメントを保存する
        document.saveToFile("背景画像.docx", FileFormat.Docx);
    }
}
```
![ドキュメントの背景に画像を追加](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/59cc8de9-04d7-59a2-1d2b-2b9337aea970.png)

## ドキュメントの背景にテクスチャを追加
テクスチャーとは、表面や物質の感触や形状のことで、テクスチャーバックグラウンドは、基本的に背景に画像を追加するものです。以下は、Wordドキュメントの背景にテクスチャを追加する手順です。
- **Document** のオブジェクトを作成します。
- **Document.loadFromFile()** メソッドを使用して Word ファイルを読み込みます。
- **Document.getBackground().setType()** メソッドを使用して、背景の種類を **Texture** に設定します。
- **Document.getBackground().setPicture()** メソッドを使用して、背景画像を設定します。
- **Document.saveToFile()** メソッドを使用して、ドキュメントを保存します。

**Java**
```Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.BackgroundType;

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

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

        //Wordドキュメントを読み込む
        document.loadFromFile("C:\\定義を超えた意味.docx");

        //背景の種類をテクスチャーに設定する
        document.getBackground().setType(BackgroundType.Texture);

        //テクスチャ画像を設定する
        document.getBackground().setPicture("C:\\テクスチャ.png");

        //ドキュメントを保存する
        document.saveToFile("背景テクスチャ.docx", FileFormat.Docx);
    }
}
```
![ドキュメントの背景にテクスチャを追加](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/35135566-ce85-7b0a-7d36-a98e277d8a49.png)

> 背景はWordドキュメントのスタイルの1つの側面ですが、テキストの書式設定など、ドキュメントの外観に影響を与えることができる他の設定も存在します。 Word ドキュメントのスタイル設定方法について詳しく知りたい方は、[Spire.Doc for Javaのチュートリアル](https://jp.e-iceblue.com/tutorials/java/spire-doc-java/doc-java-program-guide-content.html)にアクセスしてください。 または、[Spire.Doc Forum](https://www.e-iceblue.com/forum/spire-doc-f6.html)で、この方法について議論することもできます。