
読み込んだPDF/APDF/Aのタイプを表示します。
読み込んだPDF/AのタイプをPtlPDFDocument.PDFA_TYPEの列挙型定数で表します。
サンプルプログラムでは入力PDFがPDF/Aかどうかを判定し、PDF/Aのタイプを取得してコンソール上に表示します。
| 列挙型定数 | 説明 |
|---|---|
| PDFA_1A | PDF/A-1a |
| PDFA_1B | PDF/A-1b |
| PDFA_2A | PDF/A-2a |
| PDFA_2B | PDF/A-2b |
| PDFA_2U | PDF/A-2u |
| PDFA_3A | PDF/A-3a |
| PDFA_3B | PDF/A-3b |
| PDFA_3U | PDF/A-3u |
| PDFA_UNKNOWN | PDF/A-??? |
package cookbook;
import jp.co.antenna.ptl.*;
public class GetPDFAType {
// そのクラスのusageを表示する関数
public static void printUsage() {
System.out.println("usage: java GetPDFAType in-pdf-file");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
if (args.length < 1) {
printUsage(); // usageメッセージの表示
return;
}
// コマンドライン引数の取得
try (PtlParamInput inputFile = new PtlParamInput(args[0]);
PtlPDFDocument doc = new PtlPDFDocument()) {
// PDFファイルをロード
doc.load(inputFile);
// PDFファイルの種類を判定する
if(doc.isPDFA()){
System.out.print("この文書は");
switch (doc.getPDFAType()) {
case PDFA_1A:
System.out.println("PDF/A-1aです。");
break;
case PDFA_1B:
System.out.println("PDF/A-1bです。");
break;
case PDFA_2A:
System.out.println("PDF/A-2aです。");
break;
case PDFA_2B:
System.out.println("PDF/A-2bです。");
break;
case PDFA_2U:
System.out.println("PDF/A-2uです。");
break;
case PDFA_3A:
System.out.println("PDF/A-3aです。");
break;
case PDFA_3B:
System.out.println("PDF/A-3bです。");
break;
case PDFA_3U:
System.out.println("PDF/A-3uです。");
break;
case PDFA_UNKNOWN:
System.out.println("不明なタイプのPDF/Aです。");
break;
}
}else{
System.out.println("この文書はPDF/Aではありません。");
}
}
...【GetPDFVersion.javaと同じ処理のため省略
・エラーメッセージ処理と出力】...
}
}
GetPDFAType.java
C:\samples>java cookbook.GetPDFAType usage: java GetPDFAType in-pdf-file C:\samples>java cookbook.GetPDFAType Output_FixupPDFA-1b.pdf この文書はPDF/A-1bです。 -- 完了 -- C:\samples>java cookbook.GetPDFAType Output_FixupPDFA-2b.pdf この文書はPDF/A-2bです。 -- 完了 -- C:\samples>java cookbook.GetPDFAType Output_FixupPDFA-1bLinearized.pdf この文書はPDF/A-1bです。 -- 完了 -- C:\samples>java cookbook.GetPDFAType Output_FixupPDFA-2bLinearized.pdf この文書はPDF/A-2bです。 -- 完了 --
この操作例ではそれぞれ本書「2.2.1 PDF/A-1b、PDF/A-2b への変換」、「2.2.2 保存オプションの指定(PDF/A への変換)」で出力したPDFの種別を読み取っています。
次は、PDF/A-3bにおけるPDF/A種別の読み取り例です。
C:\samples>java cookbook.GetPDFAType sample_pdf2.0_PDF3b.pdf この文書はPDF/A-3bです。 -- 完了 --