//入力PDF docの取得は「PDFを開く」を参照
PtlParamOptimize paramOptimize = new PtlParamOptimize(); //最適化用パラメータクラス
doc.optimize(paramOptimize); //最適化の実行
// 出力PDFの保存は「PDFの保存」を参照
本項で扱う最適化用パラメータはすべてparamOptimizeに設定する。
//入力PDF docの取得は「PDFを開く」を参照
//最適化用パラメータparamOptimizeの取得は「PDF最適化の基礎」を参照
//画像の最適化用パラメータクラスの取得
PtlParamOptimizeImage paramOptimizeImage = paramOptimize.getParamOptimizeImage();
//ここで具体的な画像の最適化パラメータを設定する
//最適化実行は「PDF最適化の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照
画像の最適化はこのPtlParamOptimizeImageを取得することで行います。
//入力PDF docの取得は「PDFを開く」を参照
//最適化用パラメータparamOptimizeの取得は「PDF最適化の基礎」を参照
//画像最適化用パラメータparamOptimizeImageの取得は「画像の最適化の基礎」を参照
//カラー画像用最適化パラメータクラスの取得
PtlParamOptimizeImageColor paramOptimizeImageColor = paramOptimizeImage.getParamOptimizeImageColor()
//ここでパラメータクラスの内容を指定する
//最適化実行は「PDF最適化の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照
上記はカラー画像の最適化パラメータを指定して最適化を実行した例です。
グレースケール画像の最適化の場合は以下のパラメータを用います。
//グレースケール画像最適化パラメータクラスの取得
PtlParamOptimizeImageGrayScale paramOptimizeImageGrayScale = paramOptimizeImage.getParamOptimizeImageGrayScale();
モノクロ2値画像の最適化の場合は以下のパラメータを用います
//モノクロ2値画像最適化パラメータクラスの取得
PtlParamOptimizeImageMono paramOptimizeImageMono = paramOptimizeImage.getParamOptimizeImageMono();
これらパラメータに適用できる内容は以下のものです。
//圧縮タイプをJPEGに指定
paramOptimizeImageColor.setCompress(PtlParamOptimizeImageColor.COMPRESS_TYPE.COMPRESS_JPEG);
//圧縮品質を「中」に指定
paramOptimizeImageColor.setQuality(PtlParamOptimizeImageColor.QUALITY_TYPE.QUALITY_MIDDLE);
本例はカラー画像を最適化している関数ですが、グレースケール画像にも適用できます。
//ダウンサンプリング方法を「バイキュービック法」で指定
paramOptimizeImageColor.setDownSampling(PtlParamOptimizeImageDownSampling.DOWNSAMPLING_TYPE.DOWNSAMPLING_BICUBIC);
//ダウンサンプリング率の下限値を指定
paramOptimizeImageColor.setMinDownSamplingRate(minDownSamplingRate);
//ダウンサンプリングを行う基準のPPIを指定。これより大きいとダウンサンプリングする
paramOptimizeImageColor.setSourcePPI(sourcePPI);
//ダウンサンプリング後のPPIを指定
paramOptimizeImageColor.setTargetPPI(targetPPI);
本例はカラー画像を最適化している関数ですが、グレースケール画像・モノクロ2値画像にも適用できます。
//入力PDF docの取得は「PDFを開く」を参照
//最適化用パラメータparamOptimizeの取得は「PDF最適化の基礎」を参照
//画像最適化用パラメータparamOptimizeImageの取得は「画像の最適化の基礎」を参照
int filterFlag = PtlParamOptimizeImage.FILTER_NONE; //フラグ用変数
//「ASCII85Decode」「DCTDecode」「FlateDecode」を同時指定するフラグ
filterFlag = filterFlag | PtlParamOptimizeImage.FILTER_ASCII85Decode;
filterFlag = filterFlag | PtlParamOptimizeImage.FILTER_DCTDecode;
filterFlag = filterFlag | PtlParamOptimizeImage.FILTER_FlateDecode;
paramOptimizeImage.setValidFilter(filterFlag); //フィルターの設定
//最適化処理は「PDF最適化の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照
本例はフィルターを指定した画像の最適化を例示しているが、他にも以下のような関数がある
//ダウンサンプリングをする画像の最小サイズを指定
paramOptimizeImage.setMinSampleSize(minSampleSize);
minSampleSizeより縦・横の画素数が共に大きい場合にダウンサンプリングを行う
//入力PDF docの取得は「PDFを開く」を参照
//最適化用パラメータparamOptimizeの取得は「PDF最適化の基礎」を参照
paramOptimize.setRemoveOutlines(true); //しおりを削除するよう指定
//最適化実行は「PDF最適化の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照
本例はしおりを削除するよう指定しているが、以下の関数でそれぞれの要素を削除指定できる
paramOptimize.setRemoveAnnots(true); //注釈・フォームを削除するよう指定
paramOptimize.setRemoveArticles(true); //アーティクルを削除するよう指定
paramOptimize.setRemoveThumbnails(true); //サムネールを削除するよう指定
paramOptimize.setRemoveJavaScripts(true); //JavaScriptを削除するよう指定
//入力PDF docの取得は「PDFを開く」を参照
//最適化用パラメータparamOptimizeの取得は「PDF最適化の基礎」を参照
paramOptimize.setMergeFonts(true);
//最適化処理は「PDF最適化の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照
・画像種別ごとの最適化パラメータの指定
『PDF CookBook(第3巻)2.2.1 カラー画像最適化オプションの取得・指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0018.html
『PDF CookBook(第3巻)2.2.2 グレースケール画像最適化オプションの取得・指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0019.html
『PDF CookBook(第3巻)2.2.3 モノクロ画像最適化オプションの取得・指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0020.html
・カラー画像とグレースケール画像に適用できる関数
『PDF CookBook(第3巻)2.3.1 JPEG圧縮設定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0028.html
・カラー画像とグレースケール画像、モノクロ2値画像に適用できる関数
『PDF CookBook(第3巻)2.2.4 ダウンサンプリング方法の指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0021.html
『PDF CookBook(第3巻)2.2.7 ダウンサンプリング率の下限値の指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0024.html
『PDF CookBook(第3巻)2.2.8 ダウンサンプリング対象の画像をPPIで絞り込む』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0025.html
『PDF CookBook(第3巻)2.2.9 ダウンサンプリング後のPPIを指定する』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0026.html
『PDF CookBook(第3巻)2.2.9 ダウンサンプリング後のPPIを指定する』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0026.html
・PtlParamOptimizeImageを用いたパラメータの指定
『PDF CookBook(第3巻)2.2.5 最適化を行う画像の対象とするフィルターの指定』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0022.html
『PDF CookBook(第3巻)2.2.6 ダウンサンプリングする画素数の指定』
『PDF CookBook(第3巻)5.2.1 オープンアクションの削除』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0047.html
『PDF CookBook(第3巻)5.2.2 しおりの削除』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0048.html
『PDF CookBook(第3巻)5.2.3 注釈・フォームの削除』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0049.html
『PDF CookBook(第3巻)5.2.4 アーティクルの削除』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0050.html
『PDF CookBook(第3巻)5.2.5 サムネールの削除』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0051.html
『PDF CookBook(第5巻)10.2.1 PDFに設定されたJavaScriptの一括削除』
https://www.antenna.co.jp/ptl/cookbook/vol5/i03-0074.html