7.3.5 Web表示用に最適化されているか否かを判定する

images/CheckIsLinearized-top.png

狙い・効果

PDFがリニアライズされているかを判定します。

処理の概要

PDFがリニアライズされているかどうかを判定できます。

リニアライズして保存する方法については「6.1.1 リニアライズ保存(Web表示用に最適化する保存処理)」を参照してください。

本サンプルプログラムでは、入力PDFがリニアライズされているか否かを判定してコンソール上に出力します。

PDF Tool APIの主な機能

プログラム例

package cookbook;

import jp.co.antenna.ptl.*;

public class CheckIsLinearized {

    // そのクラスのusageを表示する関数
    private static void printUsage() {
        System.out.print("usage: java CheckIsLinearized in-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]);
             PtlPDFDocument doc = new PtlPDFDocument()) {
            // PDFファイルをロードします。
            doc.load(inputFile);

            try(PtlDocProperty docProperty = doc.getDocProperty()) {
                System.out.println("リニアライズ(線形化)されているかを判定します。");
                if(docProperty.isLinearized()){
                    System.out.println("このPDFは線形化されています。");
                }else {
                    System.out.println("このPDFは線形化されていません。");
                }
            }
        }
	...【AppendAnnotStampDefault.javaと同じ処理のため省略
	  ・エラーメッセージ処理と出力】...
    }
}

プログラムファイル名

CheckIsLinearized.java

入出力操作の例

C:\samples>java cookbook.CheckIsLinearized 
usage: java CheckIsLinearized in-pdf-file
C:\samples>java cookbook.CheckIsLinearized thepdf4.pdf 
リニアライズ(線形化)されているかを判定します。
このPDFは線形化されていません。
-- 完了 --

C:\samples>java cookbook.CheckIsLinearized thepdf4-linearized.pdf 
リニアライズ(線形化)されているかを判定します。
このPDFは線形化されています。
-- 完了 --