PDF → 画像変換(ラスタライズ)
JPedalは、PDFファイルをBMP、GIF、HEIC、JPEG、JPEG2000、PNG、TIFF、WebPなどの主要画像フォーマットに高速変換します。競合ライブラリの3〜4倍の速度で動作し、メモリ使用量も最適化されています。各フォーマットごとに圧縮方式、品質、DPI等のエンコーダーオプションを詳細に設定できます。バイト配列からのインメモリ処理にも対応し、パスワード保護されたPDFの変換も可能です。
対応フォーマット
PNG
可逆圧縮で高品質な画像を生成。圧縮方式(NONE/DEFLATE等)を選択可能です。
JPEG
品質パラメータ(0-100)で圧縮率を制御。デフォルト品質75、最高品質100。
TIFF
マルチページTIFF対応。DEFLATE圧縮、DPI設定(XResolution/YResolution)が可能です。
WebP
Lossy/Lossless圧縮を選択可能。品質パラメータでファイルサイズを制御します。
HEIC
高効率画像フォーマットへの変換に対応。モバイル向けコンテンツ配信に最適です。
JPEG2000
JPXとJP2のサブタイプに対応。医療画像やアーカイブ用途に適しています。
BMP / GIF
レガシーフォーマットへの変換もサポート。既存システムとの互換性を維持します。
BufferedImage
JavaのBufferedImageとしてメモリ上に取得。後続のJava画像処理パイプラインに直接渡せます。
インメモリ処理
バイト配列からPDFを読み込み、ファイルI/Oなしで変換。セキュリティとパフォーマンスの両立を実現します。
フォーマット別コード例
各画像フォーマットへの変換コードを紹介します。すべてのフォーマットで同じパターンで実装できます。
PDFの各ページをPNG画像として出力
ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
convert.setPageScaling(1.0f);
try {
if (convert.openPDFFile()) {
for (int page = 1; page <= convert.getPageCount(); page++) {
BufferedImage bi = convert.getPageAsImage(page);
File out = new File("/path/to/output/" + page + ".png");
PngEncoderOptions options = new PngEncoderOptions();
options.setCompressionFormat(PngCompressionFormat.NONE);
JDeli.write(bi, options, out);
}
}
} catch (PdfException | IOException e) {
e.printStackTrace();
}
convert.closePDFfile();特長
競合の3〜4倍高速
独自のレンダリングエンジンにより、他のJava PDFライブラリと比較して3〜4倍の変換速度を実現します。
メモリ使用量の最適化
大量のPDFバッチ処理時もメモリ消費を最小限に抑え、サーバー環境で安定稼働します。
フォーマットごとの詳細制御
各出力フォーマットに専用のエンコーダーオプションクラスを提供。品質、圧縮、DPI等を細かく設定できます。
パスワード保護PDF対応
暗号化されたPDFファイルもパスワードを指定して変換可能です。
“JPedalを使えば、PDFページを画像として非常に高速かつ効率的にレンダリングできます。”
“JPedalは同じJava仮想マシン内で動作するため、大量のCPUリソースを節約できます。”
