PDF to Image Converter 複数ページの画像に変換するJavaサンプルと解説
「PDF to Image Converter」は、PDF文書を単一(TIFF、JPEG他)または、複数ページの画像(TIFF)または、画像化されたPDFに変換する機能を
アプリケーションに追加するライブラリ(API)
です。
機能、特徴
機能、特徴
- 単一または複数の画像を生成
- 画像フォーマット:TIFF、JPEG、JBIG2、JPEG2000、PNG、GIF、BMP など
- ラスタライズされたPDF文書を作成可能
- PDF文書の復号と暗号化可能
- 画像フィルター(スーパーサンプリング、バイキュービック、バイリニア)の設定でエイリアスやモアレを低減
- 色空間(グレースケール、RGB、CMYK、インデックス)選択可
- 解像度、色数 設定
- 非可逆圧縮やロスレスJPEG2000またはJBG2圧縮を選択可
- 画質やサイズ(非可逆圧縮)の最適化
- ハーフトーン方式(Floyd Steinberg、half-tone matrixなど)を選択可
- 微細なテキスト文字の線幅を太くする
廉価(低価格)版
PDFを画像に変換するライブラリの機能を限定した廉価(低価格)版も参照してください。
無償評価版のダウンロードとインストール
ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF to Image Converterダウンロード手順を参照してダウンロードください。
ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
サンプルのコンパイルおよび実行前に、jar/Pdf2ImgAPI.jar(またはjar/P2IA.jar)をCLASSPATHにコピーし、bin/Pdf2ImgAPI.dll(またはbin/Pdf2ImgOCX.dll)をPATHまたはjava.library.pathにコピーしてください。
また、無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。なお、ライセンスキーはプログラミングで指定できます。ソースコードを参照してください。
ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | P2IA.jar,PCIA.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
samples | 各種開発言語のサンプル |
また、無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。なお、ライセンスキーはプログラミングで指定できます。ソースコードを参照してください。
画像に変換するJavaサンプルと解説
PDF文書を画像に変換するJavaのサンプル・コードです。PDF文書のページを指定して単一の画像に変換するサンプルはこちらです。 PDF文書のすべてのページを複数ページの画像に変換するサンプルはこちらです。
//import com.pdftools.p2ia.*; //従来のライブラリを使う場合 import com.pdftools.pdf2imgapi.*; //R2ライブラリを使う場合 import java.io.IOException; public class mlt { public static void main(String[] args) { //インスタンス生成 Pdf2Img doc = new Pdf2Img(); // ライセンスキー //Pdf2Img.setLicenseKey("ライセンスキー文字列"); //適切なライセンスキーに替えてください。 try{ // 入力ファイル if(!doc.open("input.pdf", "")){ int err = doc.getErrorCode(); if(err >= 0x8A120000 && err <= 0x8A12FFFF) throw new Exception(String.format("ライセンスが無効です。(0x%08X)", err)); else throw new IOException(String.format("入力ファイルエラー(0x%08X)", err)); } // 出力ファイル if(!doc.createImage("sgl.tiff")){ int err = doc.getErrorCode(); throw new IOException(String.format("出力ファイルエラー(0x%08X)", err)); } // 変換 int pc = doc.getPageCount(); for(int p = 1; p <= pc; p++){ doc.renderPage(p); } }catch(Throwable e){ e.printStackTrace(); }finally{ //後始末 doc.closeImage(); doc.close(); doc.destroyObject(); } }
new Pdf2Img() | インスタンス生成 | ||||||||||||||||||
setLicenseKey() | ライセンスキー指定 ライセンスマネージャを使わない場合に指定します。 |
||||||||||||||||||
open() | 入力のPDFを開きます。
|
||||||||||||||||||
createImage() | 出力の画像ファイル名を指定 画像の形式は、複数ページの画像をサポートする.tif(または.tiff)を指定します。 利用できる形式は以下のとおりです。
| ||||||||||||||||||
getPageCount() | PDF文書の総ページ数を取得 | ||||||||||||||||||
renderPage() | PDFのページを指定 取得したページ数分を画像に変換します。 |
||||||||||||||||||
closeImage() | 出力ファイルを閉じます。 | ||||||||||||||||||
close() | 入力ファイルを閉じます。 | ||||||||||||||||||
destroyObject() | インスタンスを開放します。 |
サンプルコード
ご質問、お問い合わせ
(記載の会社名および製品名は、各社の登録商標および商標です。)