7.3.2 PDF/Aかどうかを取得

images/CheckIsPDFA-top.png

狙い・効果

PDF/Aかどうかを取得PDF/Aかどうかを取得する。

処理の概要

PDFドキュメントがPDF/Aかどうか判定できます。PDF/Aは長期保存のためのPDFの国際規格です。「フォントはすべて埋め込まれなければならない」などの条件を課すことによって、PDFを長期に渡って保存しても、表示される内容・色・見栄えが変らないで再生表示できることを目標としています。そのためにPDFの作り方について要求条件、制約条件、禁止条件を付けています。

本サンプルプログラムでは、入力PDFがPDF/A準拠PDFか否かを判定してコンソール上に出力します。

『PDF Tool API V7.0』以降のバージョンでは、入力PDFをPDF/A-1b, PDF/A-2bに変換して出力したり、PDF/Aの種類の確認などが可能です。詳細は「『PDF CookBook』(第5巻)第2章 PDF/A」を参照してください。

PDF Tool APIの主な機能

プログラム例

package cookbook;

import jp.co.antenna.ptl.*;

public class CheckIsPDFA {

    // そのクラスのusageを表示する関数
    private static void printUsage() {
        System.out.print("usage: java CheckIsPDFA 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("PDF/Aかどうかを判定します。");
            if(doc.isPDFA()){
                System.out.println("このPDFはPDF/Aです。");
            }else {
                System.out.println("このPDFはPDF/Aではありません。");
            }
        }
	...【AppendAnnotStampDefault.javaと同じ処理のため省略
	  ・エラーメッセージ処理と出力】...
    }
}

プログラムファイル名

CheckIsPDFA.java

入出力操作の例

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

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

C:\samples>java cookbook.CheckIsPDFA pdf_version_a.pdf 
PDF/Aかどうかを判定します。
このPDFはPDF/Aです。
-- 完了 --