From 9b5a0b6a386f20be2c7c38ef1c456f5476656293 Mon Sep 17 00:00:00 2001 From: Emina Ahmetovic Date: Thu, 13 Aug 2020 12:48:06 +0200 Subject: bugfix in placeholder id search pdf-as-web --- .../lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas') diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java index d657ae79..f2ef70f1 100644 --- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java +++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java @@ -33,6 +33,7 @@ import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; import at.gv.egiz.pdfas.lib.api.sign.SignParameter; import at.gv.egiz.pdfas.lib.impl.ErrorExtractor; import at.gv.egiz.pdfas.lib.impl.SignaturePositionImpl; +import at.gv.egiz.pdfas.lib.impl.configuration.PlaceholderWebConfiguration; import at.gv.egiz.pdfas.lib.impl.configuration.SignatureProfileConfiguration; import at.gv.egiz.pdfas.lib.impl.pdfbox2.PDFBOXObject; import at.gv.egiz.pdfas.lib.impl.pdfbox2.placeholder.SignaturePlaceholderExtractor; @@ -108,6 +109,11 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { PDFAsVisualSignatureProperties properties = null; String placeholder_id = ""; + if(PlaceholderWebConfiguration.getValue(PLACEHOLDER_WEB_ID) != null && !PlaceholderWebConfiguration.getValue(PLACEHOLDER_WEB_ID).equalsIgnoreCase("")){ + placeholder_id = PlaceholderWebConfiguration.getValue(PLACEHOLDER_WEB_ID); + } + + if (!(genericPdfObject instanceof PDFBOXObject)) { // tODO: throw new PdfAsException(); @@ -152,10 +158,13 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { //gives a list of all placeholders List placeholders = SignaturePlaceholderExtractor.listPlaceholders(); - if(checkAvailablePlaceholders(placeholders,existingSignatureLocations(doc))!=null) - { - placeholder_id = (checkAvailablePlaceholders(placeholders, existingSignatureLocations(doc))).getId(); - }; + if(placeholder_id.equalsIgnoreCase("")){ + if(checkAvailablePlaceholders(placeholders,existingSignatureLocations(doc))!=null) + { + placeholder_id = (checkAvailablePlaceholders(placeholders, existingSignatureLocations(doc))).getId(); + }; + } + SignaturePlaceholderData signaturePlaceholderData = PlaceholderFilter .checkPlaceholderSignatureLocation(pdfObject.getStatus(), pdfObject.getStatus().getSettings(),placeholder_id); -- cgit v1.2.3