入力PDFからオープンアクションを削除します。
入力PDFからオープンアクションを削除して最適化します。
オープンアクションとはPDFが開かれた際に表示する宛先や行う動作のことです。表示する宛先とは、表示されるドキュメントのページやそのページ上のドキュメントウィンドウの位置、表示倍率といった項目で指定される表示手法のことであり、行う動作はドキュメント内の宛先へ移動する、アプリケーションの実行やメディアの再生、データ送信などの動作が該当します。
PtlParamOptimize.APIsetRemoveOpenAction(boolean remove): オープンアクションを削除
設定しない場合はデフォルト値としてfalseが使用されます。
package cookbook; import jp.co.antenna.ptl.*; public class OptimizeRemoveOpenAction { // そのクラスのusageを表示する関数 private static void printUsage() { System.out.println("usage: java OptimizeRemoveOpenAction in-pdf-file out-pdf-file"); } /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 2) { printUsage(); return; } try (PtlParamInput inputFile = new PtlParamInput(args[0]); PtlParamOutput outputFile = new PtlParamOutput(args[1]); PtlPDFDocument doc = new PtlPDFDocument()) { // PDFファイルをロードします。 doc.load(inputFile); optimizeDocByRemoveOpenAction(doc); // ファイルに保存します。 doc.save(outputFile); } catch (PtlException pex) { System.out.println("PtlException : ErrorCode = " + pex.getErrorCode() + "\n " + pex.getErrorMessage()); } catch (Exception ex) { System.out.println(ex.getMessage()); ex.printStackTrace(); } catch (Error ex) { System.out.println(ex.getMessage()); ex.printStackTrace(); } finally { System.out.println("-- 完了 --"); } } public static void optimizeDocByRemoveOpenAction(PtlPDFDocument doc) throws PtlException{ try(PtlParamOptimize paramOptimize = new PtlParamOptimize()) { //オープンアクションの削除フラグを設定 paramOptimize.setRemoveOpenAction(true); // 最適化の実行 doc.optimize(paramOptimize); } } }
OptimizeRemoveOpenAction.java
C:\samples>java cookbook.OptimizeRemoveOpenAction usage: java OptimizeRemoveOpenAction in-pdf-file out-pdf-file C:\samples>java cookbook.OptimizeRemoveOpenAction textWithOpenAction.pdf OptimizeRemoveOpenAction.pdf -- 完了 --