diff options
Diffstat (limited to 'pdf-as-pdfbox-2/src')
-rw-r--r-- | pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java | 19 |
1 files changed, 14 insertions, 5 deletions
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 a33517cb..3cf0853f 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 @@ -938,16 +938,25 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { if(placeholders!=null) { for(int i = 0; i < placeholders.size(); ++i) { //take smallest id - if(!existingPlaceholders.contains(placeholders.get(i).getPlaceholderName())) { + if(!existingPlaceholders.contains(placeholders.get(i).getPlaceholderName())) { SignaturePlaceholderData spd = placeholders.get(i); if (spd.getId() != null) { if(result == null) { result = spd; } else { - String currentID = result.getId(); - String testID = spd.getId(); - if(testID.compareToIgnoreCase(currentID) < 0) { - result = spd; + try{ + int currentID = Integer.parseInt(result.getId()); + int testID = Integer.parseInt(spd.getId()); + if(testID < currentID) { + result = spd; + } + }catch(Exception e){ + //fallback to string compare + String currentID = result.getId(); + String testID = spd.getId(); + if(testID.compareToIgnoreCase(currentID) < 0) { + result = spd; + } } } } |