JavaでPDFをHTMLに変換する方法

PDF形式は、異なるデバイスで文書の表示を統一することができます。しかし、Webページに表示させるのは容易ではありません。PDF文書をWebページで表示したい場合は、HTMLファイルに変換して表示します。これによって、大きな文書の読み込みを高速化することもできます。
また、HTMLファイルの重要な利点として、検索エンジンがHTMLファイルの内容を取得しやすいということがあります。もし、あなたのページがより多くの閲覧数を持つようにしたい場合は、あなたのウェブサイト上のこれらのPDFファイルをHTMLファイルに変換する方が良いでしょう。
この記事では、無料の[Free Spire.PDF for Java](https://jp.e-iceblue.com/introduce/free-spire-pdf-for-java.html)を使用して**PDF文書をHTMLファイルに変換する方法**を紹介します。
**[PDFをHTMLに変換する](#pdfをhtmlに変換する)**
**[PDFをSVGを埋め込んだHTMLに変換する](#pdfをsvgを埋め込んだhtmlに変換する)**
**[PDFをHTMLストリームに変換する](#pdfをhtmlストリームに変換する)**
## 【依存関係の追加】
この方法は、無料のFree Spire.PDF 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.pdf.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
```
### 2. 公式サイトよりJarファイルをダウンロード
まず、[Free Spire.PDF for Java](https://jp.e-iceblue.com/download/free-spire-pdf-for-java.html)の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Pdf.jarファイルを依存関係としてプロジェクトにインポートしてください。
## PDFをHTMLに変換する
詳しい手順は以下の通りです。
- **PdfDocument** クラスのオブジェクトを作成します。
- **PdfDocument.loadFromFile()** メソッドでPDFファイルを読み込みます。
- **PdfDocument.saveToFile()** メソッドを使用して、PDFファイルをHTMLファイルに変換します。

**Java**
```java
import com.spire.pdf.*;

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

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

        //PDFファイルを読み込む
        pdf.loadFromFile("C:/偶然は本当にあるのか？.pdf");

        //PDFファイルをHTMLファイルとして保存する
        pdf.saveToFile("PDFからHTMLへの変換.html",FileFormat.HTML);
        pdf.close();
    }
}
```
## PDFをSVGを埋め込んだHTMLに変換する
詳しい手順は以下の通りです。
- **PdfDocument** クラスのオブジェクトを作成します。
- **PdfDocument.loadFromFile()** メソッドでPDFファイルを読み込みます。
- **PdfDocument.getConvertOptions().setPdfToHtmlOptions()** メソッドでSVGを埋め込むかどうかを設定します。
- **PdfDocument.saveToFile()** メソッドで、PDFファイルをHTMLファイルに変換します。

**Java**
```java
import com.spire.pdf.*;

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

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

        //PDFファイルを読み込む
        doc.loadFromFile("C:/偶然は本当にあるのか？.pdf");

        //SVGの埋め込みを有効にする
        doc.getConvertOptions().setPdfToHtmlOptions(true);

        //PDFファイルをHTMLファイルとして保存する
        doc.saveToFile("PDFからSVGを埋め込んだHTMLへの変換.html", FileFormat.HTML);
        doc.close();
    }
}
```
## PDFをHTMLストリームに変換する
詳しい手順は以下の通りです。
- **PdfDocument** クラスのオブジェクトを作成します。
- **PdfDocument.loadFromFile()** メソッドでPDFファイルを読み込みます。
- **PdfDocument.saveToStream()** メソッドを使用して、PDFファイルをHTMLストリームに変換します。

**Java**
```java
import com.spire.pdf.*;

import java.io.*;


public class convertPDFToHTMLStream {
    public static void main(String[] args) throws FileNotFoundException {

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

        //PDFファイルを読み込む
        pdf.loadFromFile("C:/偶然は本当にあるのか？.pdf");

        //PDFファイルをHTMLストリームとして保存する
        File outFile = new File("PDFからHTMLストリームへの変換.html");
        OutputStream outputStream = new FileOutputStream(outFile);
        pdf.saveToStream(outputStream, FileFormat.HTML);
        pdf.close();
    }
}
```
## 【変換結果の表示】
![PDFをHTMLに変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/8af1fedf-b27e-d7a2-2f7a-258ff95de3e1.png)

> **以上、PDFファイルをHTMLファイルに変換する方法について紹介しました。Free Spire.PDF for Javaは、他の多くのフォーマットの変換をサポートしています。もっと詳しく知りたい方は、[Spire.PDF for Javaチュートリアル](https://jp.e-iceblue.com/tutorials/java/spire-pdf-java/pdf-java-program-guide-content.html)にジャンプしてください。**