aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java b/src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java
new file mode 100644
index 0000000..dd0560d
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/utils/PdfAUtil.java
@@ -0,0 +1,40 @@
+package at.gv.egiz.pdfas.utils;
+
+/**
+ * PDF/A utility class
+ * @author dferbas
+ *
+ */
+public class PdfAUtil {
+
+ /**
+ * Extract pdfa version from pdf metadata
+ * @param pdfMetadata
+ * @return
+ */
+ public static String findPdfAVersion(String pdfMetadata) {
+
+ String inf = pdfMetadata;
+ String pdfaNsMark = "http://www.aiim.org/pdfa/ns/id/";
+ String partMark = "<pdfaid:part>";
+ String confMark = "<pdfaid:conformance>";
+ int pdfaI = inf.indexOf(pdfaNsMark);
+
+ if (pdfaI > -1) {
+ int part = inf.indexOf(partMark);
+ StringBuffer version = new StringBuffer("PDF/A-");
+ part = part + partMark.length();
+ version.append(inf.substring(part, part + 1));
+ int conf = inf.indexOf(confMark);
+
+ conf = conf + confMark.length();
+ version.append(inf.substring(conf, conf + 1));
+
+ return version.toString();
+ } else {
+ return null;
+
+ }
+ }
+
+}