読み込んだ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です。 -- 完了 --