From dce9a1535236da947d9f866421c4f0b8ae47e527 Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Wed, 26 Mar 2014 10:59:51 +0100 Subject: Example Table in AP seems OK --- .../pdfbox/PDFAsVisualSignatureProperties.java | 40 +++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureProperties.java') diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureProperties.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureProperties.java index 055f035d..24ef3881 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureProperties.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureProperties.java @@ -7,10 +7,13 @@ import java.io.FileInputStream; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.font.PDFont; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDFTemplateBuilder; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDFTemplateCreator; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDVisibleSigProperties; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDVisibleSignDesigner; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import at.gv.egiz.pdfas.common.settings.ISettings; import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings; @@ -21,9 +24,12 @@ import at.knowcenter.wag.egov.egiz.table.Table; public class PDFAsVisualSignatureProperties extends PDVisibleSigProperties { + private static final Logger logger = LoggerFactory.getLogger(PDFAsVisualSignatureProperties.class); + private ISettings settings; - private Table main; + private PDFBoxTable main; + private PDFont tableFont; private PDFAsVisualSignatureDesigner designer; @@ -31,18 +37,23 @@ public class PDFAsVisualSignatureProperties extends PDVisibleSigProperties { this.settings = settings; try { SignatureProfileSettings profileSettings = TableFactory - .createProfile("SIGNATURBLOCK_DE", settings); - - X509Certificate cert = new X509Certificate(new FileInputStream( - "/home/andy/certificates/test.crt")); + .createProfile(object.getStatus().getRequestedSignature().getSignatureProfileID(), + settings); + //float width = object.getStatus().getRequestedSignature().getSignaturePosition().getWidth(); + object.getStatus().getRequestedSignature().getCertificate(); + X509Certificate cert = object.getStatus().getRequestedSignature().getCertificate(); CertificateHolderRequest request = new CertificateHolderRequest( cert); - main = TableFactory.createSigTable(profileSettings, "main", + Table mainTable = TableFactory.createSigTable(profileSettings, "main", settings, request); - - main.setWidth(400); + + main = new PDFBoxTable(mainTable, null, 230.f); + + //tableFont = PDFont. + + //main.setWidth(100); } catch (Throwable e) { e.printStackTrace(); } @@ -50,8 +61,11 @@ public class PDFAsVisualSignatureProperties extends PDVisibleSigProperties { PDDocument origDoc = PDDocument.load(new ByteArrayInputStream( object.getStampedDocument())); - designer = new PDFAsVisualSignatureDesigner(origDoc, 1); - + designer = new PDFAsVisualSignatureDesigner(origDoc, 1, this); + designer.coordinates(100, 100); + float[] form_rect = new float[] {0,0, main.getWidth() + 2, main.getHeight() + 2}; + logger.info("AP Rect: {} {} {} {}", form_rect[0], form_rect[1], form_rect[2], form_rect[3]); + designer.formaterRectangleParams(form_rect); //this.setPdVisibleSignature(designer); } catch (Throwable e) { e.printStackTrace(); @@ -60,14 +74,16 @@ public class PDFAsVisualSignatureProperties extends PDVisibleSigProperties { @Override public void buildSignature() throws IOException { - PDFAsVisualSignatureBuilder builder = new PDFAsVisualSignatureBuilder(this); + PDFAsVisualSignatureBuilder builder = new PDFAsVisualSignatureBuilder(this, this.settings); PDFAsTemplateCreator creator = new PDFAsTemplateCreator(builder); setVisibleSignature(creator.buildPDF(designer)); } - public Table getMainTable() { + public PDFBoxTable getMainTable() { return main; } + + } -- cgit v1.2.3