6.1.1 リニアライズ保存(Web表示用に最適化する保存処理)

images/SaveAsLinearized-top.png

狙い・効果

PDFにリニアライズして保存リニアライズ処理を施して保存します。

処理の概要

PDFドキュメント保存時にリニアライズ処理を施すよう設定できます。リニアライズとはPDFをWebブラウザで開く際にできるだけ早く表示するために作られたオプション仕様です。一度リニアライズされて保存されたファイルでも、増分を追加して保存などの処理をするとリニアライズが解除されてしまうので、再度リニアライズ処理を施す必要があります。

本サンプルプログラムでは、入力PDFにリニアライズ処理を施してPDFドキュメントとして出力します。

PDF Tool APIの主な機能

プログラム例

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  
-- 完了 --