From 8ed8e4e931c1cb3d3c814a53a07f73b566c3b719 Mon Sep 17 00:00:00 2001 From: Alexander Marsalek Date: Fri, 2 Jul 2021 14:06:44 +0200 Subject: v4.2.0 --- .../pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java | 73 ---------------------- 1 file changed, 73 deletions(-) delete mode 100644 pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java (limited to 'pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java') diff --git a/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java b/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java deleted file mode 100644 index 01501f97..00000000 --- a/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox/utils/PdfBoxUtils.java +++ /dev/null @@ -1,73 +0,0 @@ -package at.gv.egiz.pdfas.lib.impl.pdfbox.utils; - -import org.apache.pdfbox.cos.COSArray; -import org.apache.pdfbox.cos.COSDictionary; -import org.apache.pdfbox.cos.COSName; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.encryption.AccessPermission; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.gv.egiz.pdfas.common.exceptions.PdfAsValidationException; - -public class PdfBoxUtils { - private static final Logger logger = LoggerFactory - .getLogger(PdfBoxUtils.class); - - public static void checkPDFPermissions(PDDocument doc) - throws PdfAsValidationException { - - AccessPermission accessPermission = doc.getCurrentAccessPermission(); - if (doc.isEncrypted()) { - throw new PdfAsValidationException("error.pdf.sig.12", null); - } - - if (!accessPermission.isOwnerPermission()) { - throw new PdfAsValidationException("error.pdf.sig.12", null); - } - - } - - public static int countSignatures(PDDocument doc, String sigName) { - int count = 0; - COSDictionary trailer = doc.getDocument().getTrailer(); - COSDictionary root = (COSDictionary) trailer - .getDictionaryObject(COSName.ROOT); - COSDictionary acroForm = (COSDictionary) root - .getDictionaryObject(COSName.ACRO_FORM); - COSArray fields = (COSArray) acroForm - .getDictionaryObject(COSName.FIELDS); - for (int i = 0; i < fields.size(); i++) { - COSDictionary field = (COSDictionary) fields.getObject(i); - String type = field.getNameAsString("FT"); - if ("Sig".equals(type)) { - String name = field.getString(COSName.T); - if (name != null) { - logger.debug("Found Sig: " + name); - try { - if (name.startsWith(sigName)) { - String numberString = name.replace(sigName, ""); - - logger.debug("Found Number: " + numberString); - - int SigIDX = Integer.parseInt(numberString); - if (SigIDX > count) { - count = SigIDX; - } - } - } catch (Throwable e) { - logger.info("Found a different Signature, we do not need to count this."); - } - } - } - - } - - count++; - - logger.debug("Returning sig number: " + count); - - return count; - } - -} -- cgit v1.2.3