Skip to content

Commit 984aa6d

Browse files
committed
Improve PdfSigner signature appearance customization API
DEVSIX-7795
1 parent a0374e4 commit 984aa6d

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

itext/itext.samples/itext/samples/sandbox/signatures/SignatureExample.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using iText.Bouncycastle.Crypto;
77
using iText.Commons.Bouncycastle.Cert;
88
using iText.Commons.Bouncycastle.Crypto;
9+
using iText.Forms.Form.Element;
910
using iText.IO.Image;
1011
using iText.Kernel.Geom;
1112
using iText.Kernel.Pdf;
@@ -57,14 +58,15 @@ protected void SignDocumentSignature(string filePath, ElectronicSignatureInfoDTO
5758
// If you create new signature field (or use SetFieldName(System.String) with
5859
// the name that doesn't exist in the document or don't specify it at all) then
5960
// the signature is invisible by default.
60-
PdfSignatureAppearance signatureAppearance = pdfSigner.GetSignatureAppearance();
61-
signatureAppearance.SetRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);
62-
signatureAppearance.SetReason("");
63-
signatureAppearance.SetLocationCaption("");
64-
signatureAppearance.SetSignatureGraphic(clientSignatureImage);
65-
signatureAppearance.SetPageNumber(signatureInfo.PageNumber);
66-
signatureAppearance.SetPageRect(new Rectangle(signatureInfo.Left, signatureInfo.Bottom,
67-
25, 25));
61+
SignatureFieldAppearance appearance = new SignatureFieldAppearance(pdfSigner.GetFieldName())
62+
.SetRenderingMode(SignatureFieldAppearance.RenderingMode.GRAPHIC)
63+
.SetReason("")
64+
.SetLocationCaption("")
65+
.SetSignatureGraphic(clientSignatureImage);
66+
pdfSigner.SetPageNumber(signatureInfo.PageNumber)
67+
.SetPageRect(new Rectangle(signatureInfo.Left, signatureInfo.Bottom,
68+
25, 25))
69+
.SetSignatureAppearance(appearance);
6870

6971
char[] password = "testpass".ToCharArray();
7072
IExternalSignature pks = GetPrivateKeySignature(CERT_PATH, password);

itext/itext.samples/itext/samples/sandbox/typography/latin/LatinSignature.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using iText.Bouncycastle.Crypto;
66
using iText.Commons.Bouncycastle.Cert;
77
using iText.Commons.Utils;
8+
using iText.Forms.Form.Element;
89
using Org.BouncyCastle.Crypto;
910
using Org.BouncyCastle.X509;
1011
using iText.IO.Font;
@@ -65,12 +66,13 @@ public virtual void CreatePDF(String dest)
6566
signer.SetFieldName("Field1");
6667

6768
// Get Signature Appearance and set some of its properties
68-
signer.GetSignatureAppearance()
69-
.SetPageRect(rect)
69+
SignatureFieldAppearance appearance = new SignatureFieldAppearance(signer.GetFieldName())
7070
.SetReason(line1)
7171
.SetLocation(line2)
7272
.SetReasonCaption(line3)
73-
.SetLayer2Font(font);
73+
.SetFont(font);
74+
signer.SetPageRect(rect)
75+
.SetSignatureAppearance(appearance);
7476

7577
IX509Certificate[] certificateWrappers = new IX509Certificate[signChain.Length];
7678
for (int i = 0; i < certificateWrappers.Length; ++i) {

0 commit comments

Comments
 (0)