diff options
| author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-09 11:13:20 +0200 | 
|---|---|---|
| committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-09 11:13:20 +0200 | 
| commit | ef93017804ec5a3c786c8592eb5c76e9e62c5838 (patch) | |
| tree | bf94a6cecd29a12c5b3f16b00d229695155bbea1 /pdf-over-signer/src/main/java | |
| parent | b05d696205f220e711f04df6eb8389c6bdbe016a (diff) | |
| download | pdf-over-ef93017804ec5a3c786c8592eb5c76e9e62c5838.tar.gz pdf-over-ef93017804ec5a3c786c8592eb5c76e9e62c5838.tar.bz2 pdf-over-ef93017804ec5a3c786c8592eb5c76e9e62c5838.zip | |
add pdf-as parameter for logo scaling
Diffstat (limited to 'pdf-over-signer/src/main/java')
3 files changed, 16 insertions, 12 deletions
| diff --git a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java index 78dda185..e3c9d3d3 100644 --- a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java +++ b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java @@ -80,6 +80,9 @@ public class PdfAs4SignatureParameter {  	/** Whether so look for placeholder signatures or not. */  	public boolean searchForPlaceholderSignatures = false; +    /** The size to scale the logo to */ +    public double targetLogoSize = 65.0; +      /** The signature profile in use */      public Profile signatureProfile = Profile.getDefaultProfile(); @@ -103,15 +106,15 @@ public class PdfAs4SignatureParameter {                  }                  if (this.signatureProfile == Profile.BASE_LOGO)                  { -                    int emblemWidth = (this.emblem != null) ? this.emblem.getWidth() : 65; -                    int emblemHeight = (this.emblem != null) ? this.emblem.getHeight() : 65; +                    int emblemWidth = (this.emblem != null) ? this.emblem.getWidth() : 1; +                    int emblemHeight = (this.emblem != null) ? this.emblem.getHeight() : 1;                      double aspectRatio = ((double)emblemWidth) / emblemHeight; -                    double targetWidth = 65.0; -                    double targetHeight = 65.0; +                    double targetWidth = this.targetLogoSize; +                    double targetHeight = this.targetLogoSize;                      if (aspectRatio < 1) -                        targetWidth = 65.0 * aspectRatio; +                        targetWidth *= aspectRatio;                      else -                        targetHeight = 65.0 / aspectRatio; +                        targetHeight /= aspectRatio;                      conf.setValue("sig_obj." + sigProfile + ".table.main.Style.padding", "0");                      conf.setValue("sig_obj." + sigProfile + ".pos", "w:"+targetWidth+";f:0");                      conf.setValue("sig_obj." + sigProfile + ".table.main.Style.imagescaletofit", targetWidth+";"+targetHeight); diff --git a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignaturePlaceholder.java b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignaturePlaceholder.java index b944bf24..facdd47e 100644 --- a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignaturePlaceholder.java +++ b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignaturePlaceholder.java @@ -16,6 +16,7 @@ public final class PdfAs4SignaturePlaceholder implements Runnable {            .comparing(PdfAs4SignatureParameter::getPdfAsSignatureProfileId)            .thenComparing((p) -> { return (p.emblem != null) ? p.emblem.getOriginalFileHash() : ""; })            .thenComparing((p) -> { return p.signatureNote; }, Comparator.nullsFirst(String::compareTo)) +          .thenComparing((p) -> { return p.targetLogoSize; })      );      /** diff --git a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java index 628b5c11..e8933e1d 100644 --- a/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java +++ b/pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java @@ -67,15 +67,15 @@ public class PdfAs4Signer {  			// TODO encapsulate this parameter magic in PdfAs4SignatureParameter  			if (parameter.signatureProfile == Profile.BASE_LOGO)  			{ -				int emblemWidth = (parameter.emblem != null) ? parameter.emblem.getWidth() : 65; -				int emblemHeight = (parameter.emblem != null) ? parameter.emblem.getHeight() : 65; +				int emblemWidth = (parameter.emblem != null) ? parameter.emblem.getWidth() : 1; +				int emblemHeight = (parameter.emblem != null) ? parameter.emblem.getHeight() : 1;  				double aspectRatio = ((double)emblemWidth) / emblemHeight; -				double targetWidth = 65.0; -				double targetHeight = 65.0; +				double targetWidth = parameter.targetLogoSize; +				double targetHeight = parameter.targetLogoSize;  				if (aspectRatio < 1) -					targetWidth = 65.0 * aspectRatio; +					targetWidth *= aspectRatio;  				else -					targetHeight = 65.0 / aspectRatio; +					targetHeight /= aspectRatio;  				config.setValue("sig_obj." + sigProfile + ".table.main.Style.padding", "0");  				config.setValue("sig_obj." + sigProfile + ".pos", "w:"+targetWidth+";f:0");  				config.setValue("sig_obj." + sigProfile + ".table.main.Style.imagescaletofit", targetWidth+";"+targetHeight); | 
