From f6d416f004ed294cff71e25358d7b37a9750a1b6 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Fri, 13 Jan 2023 14:02:43 +0100 Subject: fix(sigblock): invalid preview in case of sig-blocks with more than half page height Issue: #68 ## Info: This is only a work-around, because it looks like a general issue in methods to create visual signature tables. T --- .../pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java') 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 ef1f14b2..42f16598 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 @@ -363,7 +363,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { } properties = new PDFAsVisualSignatureProperties(pdfObject.getStatus().getSettings(), pdfObject, - (PdfBoxVisualObject) visualObject, positioningInstruction, signatureProfileSettings); + (PdfBoxVisualObject) visualObject, positioningInstruction, signatureProfileSettings, false); properties.buildSignature(); @@ -825,7 +825,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { positioningInstruction = Positioning.determineTablePositioning(new TablePos(), "", origDoc, visualObject, pdfObject.getStatus().getSettings()); } - + origDoc.close(); final SignaturePositionImpl position = new SignaturePositionImpl(); @@ -839,15 +839,16 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { final PDFAsVisualSignatureProperties properties = new PDFAsVisualSignatureProperties( pdfObject.getStatus().getSettings(), pdfObject, (PdfBoxVisualObject) visualObject, - positioningInstruction, signatureProfileSettings); - + positioningInstruction, signatureProfileSettings, true); + + // build visual-signature form properties.buildSignature(); - PDDocument visualDoc; + + PDDocument visualDoc; synchronized (PDDocument.class) { visualDoc = PDDocument.load(properties.getVisibleSignature()); } - final float stdRes = 72; final float targetRes = resolution; final float factor = targetRes / stdRes; @@ -859,7 +860,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants { visualDoc.close(); pdfRenderer = null; - + final BufferedImage cutOut = new BufferedImage( (int) (position.getWidth() * factor), (int) (position.getHeight() * factor), -- cgit v1.2.3