1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaでPDFを画像に変換する方法(PNG, JPG, SVG, TIFF)

Last updated at Posted at 2022-11-25

PDFファイルは、ファイル共有に適しており、文書内の内容が変更されることなく、デバイス間で正しく表示されることが保証されています。しかし、PDF文書を個々の画像ファイルに変換した方が有利な場合もあります。例えば、PDFをJPGファイルに変換すると、文書全体のサイズを小さくすることができます。つまり、ファイルを別の人に転送したり、Webサイトにアップロードしたりするのが容易になるわけです。今回は、無料のFree Spire.PDF for Javaを使って、PDFをPNG、JPG、SVG、TIFFの画像ファイルに変換する方法を紹介します。

【依存関係の追加】

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

1. Maven

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

<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 の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Pdf.jarファイルを依存関係としてプロジェクトにインポートしてください。

PDFをPNGに変換する

PNGファイルは、Portable Network Graphic (ポータブル・ネットワーク・グラフィックス、PNG) フォーマットで保存された画像で、一般的にWeb画像、電子写真、背景が透明な画像を保存するために使用されます。以下は、Spire.PDF for Javaを使用して、PDF文書を複数のPNG画像ファイルに変換する手順です。

  • PdfDocument クラスオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドでPDFファイルを読み込む。
  • PdfDocument.getConvertOptions().setPdfToImageOptions() メソッドに 0 を指定して、生成される画像の背景を透明化します。
  • ドキュメント内のページをループし、PdfDocument.saveAsImage(pageIndex) メソッドで特定のページをバッファ画像として保存しています。
  • ImageIO.write() メソッドを用いて、画像データをPNGファイルとして書き出します。

Java

import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class convertPdfToTransparentPng {

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

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

        //PDF文書の読み込み
        doc.loadFromFile("洞窟芸術.pdf");

        //背景を透明にする
        doc.getConvertOptions().setPdfToImageOptions(0);

        //BufferedImage変数を宣言する
        BufferedImage image;

        //ページをループする
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //現在のページをバッファリング画像として保存する
            image = doc.saveAsImage(i);

            //画像データを.pngファイルとして書き込む
file file = new File(“图像/ + String.format(“图像-%d.png”, i;
            ImageIO.write(image, "png", file);
        }
        doc.close();
    }
}

【出力されるPNGファイル】

PDFをPNGに変換する

PDFをJPGに変換する

JPGファイルは、JPEG形式で保存されたラスターイメージで、一般的にデジタル写真や画像編集ソフトウェアで作成されたグラフィックを保存するために使用されます。以下は、Spire.PDF for Javaを使用して、PDF文書を個々のJPGファイルに変換する手順です。

  • PdfDocument クラスオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドでPDFファイルを読み込みます。
  • 文書内のページをループし、PdfDocument.saveAsImage(pageIndex) メソッドで特定のページをバッファ画像として保存します。
  • ImageIO.write() メソッドで画像データをJPGファイルとして書き出します。

Java

import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class convertPdfToJpg {

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

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

        //PDF文書の読み込み
        doc.loadFromFile("洞窟芸術.pdf");

        //BufferedImage変数を宣言する
        BufferedImage image;

        //ページをループする
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //現在のページをバッファリング画像として保存する
            image = doc.saveAsImage(i);

            //バッファリング画像を再作成する
            BufferedImage newImg = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
            newImg.getGraphics().drawImage(image, 0, 0, null);

            //画像データを.jpgファイルとして書き込む
            File file = new File("画像/" + String.format("画像-jpg-%d.jpg", i));
            ImageIO.write(newImg, "JPG", file);
        }
        doc.close();
    }
}

【出力されるJPGファイル】

PDFをJPGに変換する

PDFをSVGに変換する

SVGとは、Scalable Vector Graphic(スケーラブル・ベクター・グラフィック)のことです。これは、グラフィックが品質を失うことなく、任意のサイズに拡大縮小できることを意味します。以下は、Spire.PDF for Javaを使用して、PDFドキュメントを単一または複数の別々のSVGファイルに変換する手順です。

  • PdfDocument クラスオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドでPDFファイルを読み込みます。
  • PdfDocument.saveToFile() メソッドで各ページを個別のSVGファイルとして保存します。

Java

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class convertPdfToSvg {

    public static void main(String[] args) {

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

        //PDF文書の読み込み
        doc.loadFromFile("洞窟芸術.pdf");

        //PDF文書を1つのSVGファイルとして変換したい場合は、setOutputToOneSvg()メソッドに true を指定してください。
        //doc.getConvertOptions().setOutputToOneSvg(true);

        //各ページを個別のSVGファイルとして保存する
        doc.saveToFile("画像/SVG.svg", FileFormat.SVG);
        doc.close();
    }
}

【出力されるSVGファイル】

PDFをSVGに変換する

PDFをTIFFに変換する

TIFFは、編集が必要な高画質画像に最適なファイル形式です。TIFFファイルはサイズが大きいので、オンラインでの共有には向いていません。TIFFからPDFへの変換は、以下のように3行のコードで済みます。

  • PdfDocument クラスオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドでPDFファイルを読み込む。
  • PdfDocument.saveToTiff() メソッドを使用してPDFファイルをTIFFに保存する。

Java

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;

import java.awt.*;
import java.io.File;

public class convertPdfToTiff {

    public static void main(String[] args) {

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

        //PDF文書の読み込み
        pdf.loadFromFile("洞窟芸術.pdf");

        //PDF文書全体をTIFFに変換する
        pdf.saveToTiff("画像/Tiff.tiff");
    }
}

【出力されるTiffファイル】

PDFをTIFFに変換する

この記事では、PDFドキュメントを数種類の画像ファイルに変換する詳細な手順を説明します。あなたが他のファイル形式にPDFに変換する方法を知りたい場合は、Spire.PDF Forumに移動してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?