}
private void readPdfAInfo() {
byte[] metadata = null;
XMPMeta xmpMeta = null;
XMPProperty pdfaidConformance = null;
XMPProperty pdfaidPart = null;
try {
metadata = reader.getMetadata();
xmpMeta = XMPMetaParser.parse(metadata, null);
pdfaidConformance = xmpMeta.getProperty(XMPConst.NS_PDFA_ID, "pdfaid:conformance");
pdfaidPart = xmpMeta.getProperty(XMPConst.NS_PDFA_ID, "pdfaid:part");
} catch (Throwable e) {
throw new PdfAConformanceException(MessageLocalization.getComposedMessage("only.pdfa.documents.can.be.opened.in.PdfAStamper"));
}
if (pdfaidConformance == null || pdfaidPart == null) {
throw new PdfAConformanceException(MessageLocalization.getComposedMessage("only.pdfa.documents.can.be.opened.in.PdfAStamper"));
}
switch (((PdfAConformance) pdfIsoConformance).getConformanceLevel()) {
case PDF_A_1A:
case PDF_A_1B:
if (!"1".equals(pdfaidPart.getValue())) {
throw new PdfAConformanceException(MessageLocalization.getComposedMessage("only.pdfa.1.documents.can.be.opened.in.PdfAStamper", "1"));
}
break;
case PDF_A_2A:
case PDF_A_2B:
case PDF_A_2U:
if (!"2".equals(pdfaidPart.getValue())) {
throw new PdfAConformanceException(MessageLocalization.getComposedMessage("only.pdfa.1.documents.can.be.opened.in.PdfAStamper", "2"));
}
break;
case PDF_A_3A:
case PDF_A_3B:
case PDF_A_3U:
if (!"3".equals(pdfaidPart.getValue())) {
throw new PdfAConformanceException(MessageLocalization.getComposedMessage("only.pdfa.1.documents.can.be.opened.in.PdfAStamper", "3"));
}
break;
}