summaryrefslogtreecommitdiff
path: root/pdf-over-signer/src/main/java
diff options
context:
space:
mode:
authorJakob Heher <jakob.heher@iaik.tugraz.at>2022-11-17 12:19:04 +0100
committerJakob Heher <jakob.heher@iaik.tugraz.at>2022-11-17 12:19:04 +0100
commitb34cefbc33a3afc26dece74ea8bc42c5054efd5b (patch)
tree408ec9e7153219aa6d5880857f43e3d70bb2ffcf /pdf-over-signer/src/main/java
parentf28f118f6824c0a9c7b4816dfdb95339d874141d (diff)
downloadpdf-over-b34cefbc33a3afc26dece74ea8bc42c5054efd5b.tar.gz
pdf-over-b34cefbc33a3afc26dece74ea8bc42c5054efd5b.tar.bz2
pdf-over-b34cefbc33a3afc26dece74ea8bc42c5054efd5b.zip
handle invisible profile signature previews better
Diffstat (limited to 'pdf-over-signer/src/main/java')
-rw-r--r--pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java2
-rw-r--r--pdf-over-signer/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignaturePlaceholder.java11
2 files changed, 10 insertions, 3 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 0229acb6..ee8c2741 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
@@ -126,7 +126,7 @@ public class PdfAs4SignatureParameter {
Image placeholder = pdfas.generateVisibleSignaturePreview(param, cert, 72 * 4);
// WORKAROUND for #110, manually paint a black border
- if (!this.signatureProfile.equals(Profile.BASE_LOGO))
+ if ((placeholder != null) && !this.signatureProfile.equals(Profile.BASE_LOGO))
{
Graphics2D ctx = (Graphics2D)placeholder.getGraphics();
ctx.setColor(Color.BLACK);
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 facdd47e..04bbcfdf 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
@@ -5,6 +5,7 @@ import java.util.Comparator;
import java.util.TreeMap;
import java.util.function.Consumer;
+import at.asit.pdfover.commons.Profile;
import at.asit.pdfover.commons.utils.ImageUtil;
/**
@@ -36,6 +37,7 @@ public final class PdfAs4SignaturePlaceholder implements Runnable {
}
private java.awt.image.BufferedImage awtImageData;
+ public boolean hasImage() { return ((this.awtImageData != null) && (this.swtImageData != null)); }
/** AWT image data for the placeholder */
public java.awt.image.BufferedImage getAWTImage() { return this.awtImageData; }
private org.eclipse.swt.graphics.ImageData swtImageData;
@@ -58,8 +60,13 @@ public final class PdfAs4SignaturePlaceholder implements Runnable {
@Override
public void run() {
- this.awtImageData = (java.awt.image.BufferedImage) this.param.getPlaceholder();
- this.swtImageData = ImageUtil.convertToSWT(this.awtImageData);
+ if (!Profile.INVISIBLE.name().equals(this.param.getPdfAsSignatureProfileId())) {
+ this.awtImageData = (java.awt.image.BufferedImage) this.param.getPlaceholder();
+ this.swtImageData = ImageUtil.convertToSWT(this.awtImageData);
+ } else {
+ this.awtImageData = null;
+ this.swtImageData = null;
+ }
ArrayList<Consumer<PdfAs4SignaturePlaceholder>> _callbacks;
synchronized (this) {
_callbacks = this.callbacks;