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/P2IA.jarおよびjar/PCIA.jarをCLASSPATHにコピーし、
bin/Pdf2ImgOCX.dllおよびbin/Pdf2PdfImgOCX.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のサンプルと解説
import com.pdftools.p2ia.*; import com.pdftools.NativeLibrary; import java.io.*; public class gen { /** * @param args */ public static void main(String[] args) { try { //PDFファイルを開く Pdf2Img doc = new Pdf2Img(); if(!doc.open(args[0], "")) { //エラー表示 int iError = doc.getErrorCode(); if(iError == NativeLibrary.ERRORCODE.PDF_E_PASSWORD) throw new IOException("The file is encrypted. Incorrect password."); else if(iError >= 0x8A120000 && iError <= 0x8A12FFFF) throw new IOException("No valid license key found (" + iError + ")"); else if((iError & 0x80000000) != 0) throw new IOException("Error Opening file."); } //出力ファイル生成 doc.createImage(args[1]); //画像ファイルの形式を確認 int iLen = args[1].length(); if(iLen > 3) { //画像の形式がTIFFの場合、圧縮形式をLZWにしてPDFのすべてのページを順に画像になった複数ページのTIFF画像に変換する if(args[1].substring(iLen-3, iLen).compareToIgnoreCase("tif") == 0 || args[1].substring(iLen-4, iLen).compareToIgnoreCase("tiff") == 0) { //変換のオプションを設定 doc.setBitsPerPixel(24); doc.setCompression(NativeLibrary.COMPRESSION.eComprLZW); for(int iPage = 1; iPage <= doc.getPageCount(); iPage++) doc.renderPage(iPage); } //TIFF形式以外の場合は、最初のページだけを変換 else doc.renderPage(1); } //終了 doc.closeImage(); doc.close(); } catch(Throwable e) { e.printStackTrace(); } } }
サンプルコード
ご質問、お問い合わせ
(記載の会社名および製品名は、各社の登録商標および商標です。)