JavaはPowerPointドキュメントの背景色と背景画像を設定します

Powerpointドキュメントを作成する場合、背景が非常に重要です。背景を統一させたら、Powerpointのプレゼンテーションが　美しく見えるようになります。この記事では、JavaアプリケーションでFree Spire.Presentation for Javaを利用して、無地の背景色とグラデーションの背景色を設定や、PowerPointスライドの背景画像を追加する方法を紹介します。

**JARパッケージのインポート**
**方法1：** [Free Spire.Presentation for Java](https://www.e-iceblue.com/Download/presentation-for-java-free.html)をダウンロードして解凍したら、libフォルダーのSpire.Presentation.jarパッケージを依存関係としてJavaアプリケーションにインポートします。

**方法2：**Mavenリポジトリから直接にJARパッケージをインストールしたら、pom.xmlファイルを次のように構成します。

```java
<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation.free</artifactId>
        <version>2.6.1</version>
    </dependency>
</dependencies>
```

**単色の背景色を設定する:**

```java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import java.awt.*;

public class PPTbackground {

    public static void main(String[] args) throws Exception {

        //PowerPointドキュメントを読み込む
        Presentation ppt = new Presentation();
        ppt.loadFromFile("file1.pptx");

        //スライドの数を取得する
        int slideCount = ppt.getSlides().getCount();

        ISlide slide = null;

        //スライドをループして、各スライドに無地の背景色を設定する
        for(int i = 0; i < slideCount;i++) {
            slide = ppt.getSlides().get(i);
            slide.getSlideBackground().setType(BackgroundType.CUSTOM);

            //単色の背景の塗りつぶしを設定する
            slide.getSlideBackground().getFill().setFillType(FillFormatType.SOLID);
            slide.getSlideBackground().getFill().getSolidColor().setColor(Color.PINK);
        }
        //結果ファイルを保存する
        ppt.saveToFile("bg1.pptx", FileFormat.PPTX_2010);
    }
}
```

**無地の背景のエフェクト画像：**
![p1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/ea556c44-75c3-04bd-7f3c-93dffd668d4e.jpeg)


**グラデーションの背景色を設定する：**

```java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import java.awt.*;

public class PPTbackground {

    public static void main(String[] args) throws Exception {

        //PowerPointドキュメントを読み込む
        Presentation ppt = new Presentation();
        ppt.loadFromFile("file1.pptx");

        //スライドの数を取得する
        int slideCount = ppt.getSlides().getCount();

        ISlide slide = null;

        //スライドをトラバースし、各スライドにグラデーションの背景色を設定する
        for(int i = 0; i < slideCount;i++) {
            slide = ppt.getSlides().get(i);
            slide.getSlideBackground().setType(BackgroundType.CUSTOM);

            //グラデーションの背景色の塗りつぶしを設定する
            slide.getSlideBackground().getFill().setFillType(FillFormatType.GRADIENT);
            slide.getSlideBackground().getFill().getGradient().getGradientStops().append(0, Color.WHITE);
            slide.getSlideBackground().getFill().getGradient().getGradientStops().append(1, Color.PINK);

        }
        //結果ファイルを保存する
        ppt.saveToFile("bg2.pptx", FileFormat.PPTX_2010);
    }
}
```

**グラデーション背景色の効果画像：**
![p2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/9ec214b3-b610-44ff-69a7-48189bdc612b.jpeg)


**背景画像を追加する：**

```java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import java.awt.*;

public class PPTbackground {

    public static void main(String[] args) throws Exception {

        //PowerPointドキュメントを読み込む
        Presentation ppt = new Presentation();
        ppt.loadFromFile("file1.pptx");

        //スライドの数を取得する
        int slideCount = ppt.getSlides().getCount();
        ISlide slide = null;

        //スライドをループして、各スライドに背景画像を追加する
        for(int i = 0; i < slideCount;i++) {
            slide = ppt.getSlides().get(i);
            slide.getSlideBackground().setType(BackgroundType.CUSTOM);

            //画像の背景の塗りつぶしを設定する
            slide.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
            slide.getSlideBackground().getFill().getPictureFill().setAlignment(RectangleAlignment.NONE);
            slide.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
            slide.getSlideBackground().getFill().getPictureFill().getPicture().setUrl((new java.io.File("background.jpg")).getAbsolutePath());

        }
        //結果ファイルを保存する
        ppt.saveToFile("bg3.pptx", FileFormat.PPTX_2010);
    }
}
```

**背景画像を追加する効果：**
![p3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/48512b84-8aaa-2c00-4cc7-4d7b0131afc0.jpeg)