7.3.1 署名付きPDFかどうかを取得

images/CheckIsSignatured-top.png

狙い・効果

署名付きPDFかどうかを判定署名付きPDFかどうかを判定します。

処理の概要

PDFドキュメントが電子署名付きPDFかどうかを判定できます。電子署名とは、電子文書に対して改ざんを検出するための仕組みです。PDFファイルに電子署名を付与することで、電子メールに添付して送付する見積書など配布するPDFファイルに署名することで第三者による文書の改ざんを防止することができます。また、信頼できる認証局(CA)から入手した証明書と、タイムスタンプサービスを利用すれば、いつ・だれが作成したPDFファイルであるかを保証することができ、文書の信頼性を高めることができます。

本サンプルプログラムでは、入力PDFが電子署名付きか否かを判定してコンソールに出力します。

PDF Tool APIの主な機能

プログラム例

package cookbook;

import jp.co.antenna.ptl.*;

public class CheckIsSignatured {

    // そのクラスのusageを表示する関数
    private static void printUsage() {
        System.out.print("usage: java CheckIsSignatured 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);

            System.out.println("署名付きかどうかを判定します。");
            if(doc.isSignatured()){
                System.out.println("このPDFは署名付きです。");
            }else {
                System.out.println("このPDFは署名付きではありません。");
            }
        }
	...【AppendAnnotStampDefault.javaと同じ処理のため省略
	  ・エラーメッセージ処理と出力】...
    }
}

プログラムファイル名

CheckIsSignatured.java

入出力操作の例

C:\samples>java cookbook.CheckIsSignatured 
usage: java CheckIsSignatured in-pdf-file

C:\samples>java cookbook.CheckIsSignatured blank.pdf  
署名付きかどうかを判定します。
このPDFは署名付きではありません。
-- 完了 --

C:\samples>java cookbook.CheckIsSignatured pdf_kaizan_press.pdf 
署名付きかどうかを判定します。
このPDFは署名付きです。
-- 完了 --