0
1

More than 1 year has passed since last update.

JavaでPDF を画像に変換する

Posted at

はじめに

PDFを画像に変換することにはいくつかの利点があります。まず、この変換によりPDFファイルの内容を異なるデバイスで表示することができます。また、変換された画像ファイルはウェブページに簡単に埋め込むことができ、インターネット上での表示や共有が容易です。さらに、画像ファイルを印刷したりアーカイブに保存したりすることで、ドキュメントを簡単に共有することができます。PDFリーダーに依存せずに利用できるのも大きなメリットです。重要なのは、PDFを画像に変換することで、コンテンツの完全性を保護する方法も提供されることです。次は変換のチュートリアルです。

ツール

  • IntelliJ IDEA 2018 (jdk 1.8.0)
  • Free Spire.PDF for Java
    ご注意ください。この無料版は最初の3ページのみの変換に対応しています。さらに多くのページを変換したい場合は、商用版をご利用いただけます。使用する前に、一時的な許可を申請してください。

Jarファイルの導入

  • Free Spire.PDF for Javaをダウンロードして解凍します。
  • IDEAで新しいプロジェクトを作成します。
  • 「File」>「Project Structure」>「Modules」>「Dependencies」をクリックします。
  • 「+」の「JARs or Directories」を選択します。
  • 「Spire.Pdf.jar」を見つけてプロジェクトにインポートします。
    image.png

コード:

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

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

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

        //PDFを読み込む
        pdf.loadFromFile("Sample.pdf");

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

            //全ページを画像に変換し、画像のDpiを設定する
            BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);

            //画像を.pngファイルとして保存する
            File file = new File("C:\\Users\\Administrator\\Desktop\\Images" + "/" + String.format(("ToImage-img-%d.png"), i));
            ImageIO.write(image, "PNG", file);
        }
        pdf.close();
    }
}

image.png

まとめ

上記のコードを使用することで、簡単にPDFを画像形式に変換することができます。
特定のページを変換したい場合は、以下のコードを参考にしてください:

//最初のページを画像に変換し、画像のDpiを設定する
BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500);

また、このライブラリはPDFからWordExcelXPSなどへの他の変換もサポートしています。

0
1
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
0
1