PDFにリニアライズして保存リニアライズ処理を施して保存します。
PDFドキュメント保存時にリニアライズ処理を施すよう設定できます。リニアライズとはPDFをWebブラウザで開く際にできるだけ早く表示するために作られたオプション仕様です。一度リニアライズされて保存されたファイルでも、増分を追加して保存などの処理をするとリニアライズが解除されてしまうので、再度リニアライズ処理を施す必要があります。
本サンプルプログラムでは、入力PDFにリニアライズ処理を施してPDFドキュメントとして出力します。
package cookbook; import jp.co.antenna.ptl.*; public class SaveAsLinearized { // そのクラスのusageを表示する関数 private static void printUsage() { System.out.print("usage: java SaveAsLinearized in-pdf-file"); System.out.println(" out-pdf-file"); } /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 1) { printUsage(); return; } try (PtlParamInput inputFile = new PtlParamInput(args[0]); PtlParamOutput outputFile = new PtlParamOutput(args[1]); PtlPDFDocument doc = new PtlPDFDocument()) { // PDFファイルをロードします。 doc.load(inputFile); // リニアライズ doc.setSaveOption(PtlPDFDocument.SAVE_OPTION.SAVE_LINEARIZE); // ファイルに保存します。 doc.save(outputFile); } ...【AppendAnnotStampDefault.javaと同じ処理のため省略 ・エラーメッセージ処理と出力】... } }
SaveAsLinearized.java
C:\samples>java cookbook.SaveAsLinearized usage: java SaveAsLinearized in-pdf-file out-pdf-file C:\samples>java cookbook.SaveAsLinearized setopenmode.pdf setopenmodeLiniearized.pdf -- 完了 --