PowerPointからPDFへの変換（Java）

それは私たちがより印象的なメッセージを提供するのに役立ちますので、私たちはしばしば会議でアイデアや複雑なデータを提示するためにPowerPointを使用しています。しかし、我々は情報の目的のためにファイルを共有する必要があるときに、PDF形式は、ページレイアウトに固定されており、それが変更することが困難であるとして、PPT / PPTXよりも優れています。この記事では、我々は、次の側面から、Javaで**PowerPointのPPTまたはPPTXをPDFに変換する方法**を示していきます。

> この記事の主な内容は、以下の部分を含みます。

- **[PowerPointの全体をPDFに変換する](#powerpointの全体をpdfに変換する)**
- **[特定のスライドをPDFに変換する](#特定のスライドをpdfに変換する)**
- **[PowerPointドキュメントをPDF/A1、PDF/A2、PDF/A3へ変換する](#powerpointドキュメントをpdfa1pdfa2pdfa3へ変換する)**
- **[PDFにPowerPointを変換するときにページサイズを設定する](#pdfにpowerpointを変換するときにページサイズを設定する)**

### 【依存関係の追加】

> この方法は、無料のFree Spire.Presentation 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.presentation</artifactId>
        <version>7.8.2</version>
    </dependency>
</dependencies>
```

#### 2. 公式サイトよりJarファイルをダウンロード
まず、[Free Spire.Presentation for Java](https://jp.e-iceblue.com/introduce/free-spire-presentation-for-java.html) の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Presentation.jarファイルを依存関係としてプロジェクトにインポートしてください。

## PowerPointの全体をPDFに変換する

> 次の手順は、PDFにPowerPointプレゼンテーション全体を変換する方法を示しています。

- **Presentation** クラスのインスタンスを作成します。
- **Presentation.loadFromFile()** メソッドを使用して、PowerPointプレゼンテーションを読み込みます。
- **Presentation.saveToFile()** メソッドを使用してPDFにそれを保存します。

***Java***
```Java
import com.spire.presentation.*;

public class wholePPTtoPDF {

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

        //Presentation クラスのインスタンスを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("C:/Sample.pptx");

        //PowerPointの全体をPDFに保存する
        ppt.saveToFile("ToPDF1.pdf", FileFormat.PDF);
    }
}

```

#### 【結果のPDFファイル】
![PowerPointの全体をPDFに変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/86713c5e-f839-153f-8e2d-d98c780f37b8.png)

## 特定のスライドをPDFに変換する

> プレゼンテーション全体ではなく、特定のスライドだけをPDFに変換したい場合、以下の手順で行います。

- **Presentation** クラスのインスタンスを作成します。
- **Presentation.loadFromFile()** メソッドを使用して、PowerPointプレゼンテーションを読み込みます。
- **Presentation.getSlides().get(slideIndex)** メソッドを使用して、そのインデックスによって目的のスライドを取得します。
- **ISlide.saveToFile(filePath, FileFormat.PDF)** メソッドを使用してPDFにそれを保存します。

***Java***
```Java
import com.spire.presentation.*;

public class specificSlideToPDF {

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

        //Presentation クラスのインスタンスを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("C:/Sample.pptx");

        //第2スライドを取得する
        ISlide slide= ppt.getSlides().get(1);

        //第2スライドをPDFに保存する
        slide.SaveToFile("ToPdf2.pdf", FileFormat.PDF);
    }
}
```

#### 【結果のPDFファイル】
![特定のスライドをPDFに変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/04c68944-5b6c-e723-3d88-46250eca17ec.png)

## PowerPointドキュメントをPDF/A1、PDF/A2、PDF/A3へ変換する

> Spire.PDFでは、プレゼンテーションのスライドをPDFに保存する際に、PDF/A1、PDF/A2、PDF/A3というPDF準拠レベルを設定するオプションが用意されています。

**Presentation** クラスのインスタンスを作成します。
**Presentation.loadFromFile()** メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
**PowerPoint.getSaveToPdfOption().setPdfConformanceLevel()** メソッドを呼び出して、PDF準拠レベルを設定する。
**Presentation.saveToFile()** メソッドを使用して、PDFに保存します。

***Java***
```Java
import com.spire.pdf.PdfConformanceLevel;
import com.spire.presentation.*;

public class PPTToPDFA {

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

        //Presentation クラスのインスタンスを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("C:/Sample.pptx");

        //PDFの準拠レベルをPDF/Aに設定する
        ppt.getSaveToPdfOption().setPdfConformanceLevel(PdfConformanceLevel.Pdf_A_1_A);

        //PDF/Aに保存する
        ppt.saveToFile("ToPdf3.pdf", FileFormat.PDF);
    }
}
```

#### 【結果のPDFファイル】
![PowerPointドキュメントをPDF/A1、PDF/A2、PDF/A3へ変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/701edcbe-fadb-2611-d3e3-367377631fcd.png)

## PDFにPowerPointを変換するときにページサイズを設定する

> PowerPointスライドのサイズが指定されている場合に、PDFに変換する方法を以下に示します。

- **Presentation** クラスのインスタンスを作成します。
- **Presentation.loadFromFile()** メソッドを使用して、PowerPointプレゼンテーションを読み込みます。
- **Presentation.getSlideSize().setType(SlideSizeType.A3)** メソッドを呼び出し、A3としてのスライドサイズを設定します。
- **Presentation.saveToFile()** メソッドを使用してPDFに保存します。

***Java***
```Java
import com.spire.presentation.*;

public class PPTtoPDFWithSpecificPageSize {

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

        //Presentation クラスのインスタンスを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("C:/Sample.pptx");

        //ページサイズをA3に設定する
        ppt.getSlideSize().setType(SlideSizeType.A3);

        //PDFに保存する
        ppt.saveToFile("ToPdf4.pdf", FileFormat.PDF);
    }
}
```

#### 【結果のPDFファイル】
![PDFにPowerPointを変換するときにページサイズを設定する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/1dc98f5b-ad10-71d7-4b83-a596995d14aa.png)

#### 【ヒント】
この記事では、Spire.Presentationの助けを借りて、Javaでプログラム的にPDF形式にPowerPointプレゼンテーションを変換する方法を学びました。あなたが他の質問を持っている場合は、[Spire.Presentationのフォーラム](https://www.e-iceblue.com/forum/)を訪問すること自由に感じなさい。