Property to tell me that a signature field has been signed

I have tried many suggestions from your knowledgebase to obtain whether a PdfLoadedSignatureField has been signed and none of them work. Neither of these return true when a signature exists:

Image_5574_1774631492672


Please let me know how to achieve this. Thank you for your help!


13 Replies 1 reply marked as answer

JT Jeyalakshmi Thangamarippandian Syncfusion Team March 30, 2026 09:51 AM UTC

Hi Jill Griggs,

Thank you for contacting Syncfusion Support.

We attempted to replicate the reported issue on our end using various test documents; however, we were unable to reproduce the problem in our environment. Based on our initial analysis, we believe this issue may be specific to your PDF document.

To investigate further and provide you with an accurate resolution, we kindly request you to share the input PDF document along with any relevant code snippet. Having your actual document will allow us to replicate the exact scenario on our end and work toward a prompt solution.



Regards,

Jeyalakshmi T



JG Jill Griggs March 30, 2026 02:52 PM UTC

I am trying to lock down signature fields that have been signed before presenting to the next signer.

I am testing with one of the PDFs I obtained from your demo, see attached

Signer 1 fills out and signs. Then, looping thru form fields, there are 2 signatures, one is signed, both return null and false:

SyncfusionSignatureIsSignedIssue1.jpgSyncfusionSignatureIsSignedIssue2.jpg  

 


Attachment: eSign_filling_8579f852.pdf


CM Chinnu Muniyappan Syncfusion Team March 31, 2026 12:38 PM UTC

Hi Jill Griggs,

Thanks for the details. We observed that in the provided demo, the digital signature is applied only when the Complete Signing button is clicked. Until then, the signature exists only at the PdfViewer component level.

Additionally, the demo does not include multiple digital signatures, as it populates the signature pad based on the unsigned signature fields available in the PDF document. When the Complete Signing button is clicked, the application removes the digital signature fields, draws the signature ink directly onto the PDF page, and signs the document with a single signature (invisible signature). 

As a result, if the document is downloaded in between these steps, it may contain only the ink appearance and not the signed signature field metadata. You can verify this by opening the document in Adobe Reader and checking the Signature Panel.

We have attached the fully signed document along with screenshots from Adobe Acrobat for reference. The final document has one invisible digital signature.


Finally, we were unable to reproduce the issue where the IsSigned API returns an invalid result. We kindly request that you test this using a properly signed document and confirm the behavior again. If still, facing the issue, requesting you to share the properly signed document for a single field to replicate the issue on our end.

Regards,

Chinnu M




JG Jill Griggs March 31, 2026 01:14 PM UTC

Just to be clear...you are saying that if the user clicks on the signature field and signs it via the signature dialog, it will not set IsSigned to TRUE unless I do the following:

  • Remove the digital signature fields
  • Draw the signature ink directly onto the PDF page
  • Sign the document with a single signature (invisible signature)  

Please let me know if this is correct and please provide a link to the demo you are looking at because the link I had in the past does not work.

Thank you!


CM Chinnu Muniyappan Syncfusion Team April 1, 2026 07:47 AM UTC

Hi Jill Griggs,
After reviewing the scenario again, we identified the core reason for the confusion, and I’d like to clarify it clearly and conclusively.
Key Clarification – Why IsSigned returns false in your case
We observed that in your implementation, the PDF is:
  • Loaded using the default PdfViewer functionalities
  • Signed through the viewer’s signature pad
  • Downloaded directly without applying a digital signature via the PDF library
In this workflow, the document is NOT digitally signed.
What actually happens:
  • The signature added through the PdfViewer is only ink.
  • This ink is stored as a signature annotation (appearance).
  • No cryptographic digital signature is embedded in the PDF.
  • As a result, the PDF still contains unsigned digital signature fields.
Because of this:
  • When the same document is later loaded using the Syncfusion .NET PDF Library,
    the IsSigned API correctly returns false, since no digital signature exists in the document metadata.
This behavior is expected and by design.
Ink applied document (it has two unsigned signature fields, so the IsSigned returns as false)
Digitally signed document (This document only returns the IsSigned as true)
The PdfViewer component does not have native support for digitally signing PDF documents.
It is intended for visual signing and interaction, not cryptographic signing.

The demo you referred to is a use‑case‑level demo, not a default behavior of the PdfViewer.
In that demo:
  1. The viewer collects ink signatures internally.
  2. When Complete Signing is clicked:
    • Signature fields are removed
    • Ink is drawn onto the page
    • A single invisible digital signature is applied using the PDF Library
  3. Only the final document is digitally signed and returns IsSigned = true
If the document is downloaded before this final step, it will contain only ink, not a digital signature.
Multiple Signatures or Field-Level Signing
If your requirement is to:
  • Digitally sign each individual signature field
  • Have all fields marked as signed
  • Reliably validate using IsSigned
This must be done using the Syncfusion .NET PDF Library, which fully supports multiple digital signatures.

If your requirement is to digitally sign PDFs integrated with the PdfViewer, please share your platform details, so that we will prepare and share a working sample that uses:
  • PdfViewer for signature capture
  • PDF Library for applying the digital signature correctly
Regards,
Chinnu M


JG Jill Griggs April 1, 2026 05:53 PM UTC

Most user controls (text box, check box, radio button, etc) have a property that tells you it's value, if it is checked, selected index, etc. In my C# Controller, looping thru form fields, I know to flatten a PdfLoadedTextBoxField based on the fact that the text box's Text property contains a string:


It seems the signature field (PdfLoadedSignatureField) does not. I am just wanting to flatten (aka lock down) the signature fields that have been signed through the viewer’s signature pad. I do not want to add invisible digital signatures. 


Question 1: So there is not a property or event that captures the fact that the user has signed through the viewer’s signature pad? 


Question 2:  You state "If the document is downloaded before this final step, it will contain only ink, not a digital signature". Is there nothing that tells me that the signature field contains this "ink"?



JT Jeyalakshmi Thangamarippandian Syncfusion Team April 2, 2026 11:58 AM UTC

Hi Jill Griggs,

Question 1: So there is not a property or event that captures the fact that the user has signed through the viewer’s signature pad?

Currently, there is no specific property or event that explicitly indicates a user has signed using the viewer’s signature pad.

When a signature field is added through the PDF Viewer, the component captures the user’s input as an ink annotation drawn on top of the signature field. This ink annotation is not treated as a signed form field by the PDF Library. As a result, the underlying signature field remains unsigned.

When the document is downloaded and validated using the PDF Library, only the original (unsigned) signature field is detected. This behavior is expected because, without digitally signing the signature field itself, no signature appearance can be officially associated with that field.

To address this, the provided demo applies the ink annotation over the signature field and flattens it before proceeding with the signing process. Flattening embeds the ink directly into the page content.

For your e-signature requirement, we recommend the following workflow:

  1. Upload the document using the Syncfusion PDF Viewer.
  2. Apply the e-signature using the viewer’s signature pad.
  3. Download the document.
  4. Flatten both the annotations and form fields after download.

Once flattened, the ink strokes become part of the page graphics, ensuring the signature is preserved visually in the document.

We have created a sample demonstrating this approach for your reference. Please try it out, and let us know if you need any further assistance.

Question 2:  You state "If the document is downloaded before this final step, it will contain only ink, not a digital signature". Is there nothing that tells me that the signature field contains this "ink"?

Please note that ink annotations cannot be added directly to a signature field without digitally signing it. The signature field must be digitally signed before ink can be associated with it.

In the PDF Viewer demo, the ink annotation is placed as an upper layer on top of the signature field. Using the provided sample code, you can:

  1. Open the document in PDF Viewer and apply the signature.
  2. Flatten the document after signing.

With this approach, the document will not be treated as digitally signed — instead, the ink annotation will be flattened directly onto the page at the specified location.


Regards,
Jeyalakshmi T


Attachment: SupportFrameworkSample_a96c1dde.zip


JG Jill Griggs May 8, 2026 05:25 PM UTC

I need to disable some buttons until a signature field has been signed through the viewer’s signature pad. 

Your example just shows me how to flatten the fields, it still does not provide me with a way to know that a signature field is signed through the viewer’s signature pad.

You say "an ink annotation is placed as an upper layer on top of the signature field". Is there a property that would tell me this? 



VS Venkada Subramanian Durai Syncfusion Team May 11, 2026 11:59 AM UTC

Hi Jill Griggs,


Thank you for the update. Based on your requirement, you would like to know when a signature is added to the Signature field in the Syncfusion JavaScript PDF Viewer.

 

This can be achieved using the addSignature event in the PDF Viewer. This event is triggered whenever a signature is added to a signature field in the PDF Viewer.
 

We have attached a sample project demonstrating how to use this PDF Viewer event. Please review it and let us know if it meets your requirements or if you have any further questions.

Code snippet:
 

viewer.addSignature = function (args) {

 console.log('Signature is added in Field!', args);

};



Sample project with addSignature event in PDF Viewer


Regards,
Venkada Subramanian D



JG Jill Griggs May 18, 2026 11:09 PM UTC

Your sample project doesn't really show me anything, it just loads a PDF with no singature fields

I might be able to use this, can you tell me what the args object contains? 

I am dynamically creating these signature fields in my controller before loading into the PDF viewer and I would like to know the fieldName of the singature field so I know which field has been signed

C# Controller

Image_9761_1779145707364

Javascript

Image_9521_1779145502413

Result

Image_4780_1779145444206


I want it to get the 'fieldName' that was passed in when creating the signature field.



VS Venkada Subramanian Durai Syncfusion Team May 19, 2026 03:17 PM UTC

Hi Jill Griggs,

Thank you for the clarification. You can meet this requirement of retrieving the field name in the ⁠addSignature event by using the code snippet provided below.

 

Additionally, we have attached a sample project that loads a PDF document containing a signature field into the PDF Viewer. When the document is signed using the PDF Viewer signature dialog, the signature field ID is captured and mapped to the corresponding field name using the formFieldCollections API.

 

Please review the sample and let us know if it meets your requirements or if you have any further questions.

 

Code snippet:

viewer.addSignature = function (args) {
  console.log('Signature is added in Field!', args);

 

  if (!args || !args.id) {
    console.warn('Signature args or args.id is missing');
    return;
  }

 

  // 1. Get original field id (before "_")
  const fieldId = args.id.split('_')[0];

 

  // 2. Loop through form field collections
  const formFields = viewer.formFieldCollections || [];
  const signatureField = formFields.find(
    (field) => field.id === fieldId && field.type === 'SignatureField'
  );

 

  // 3. Log signature name
  if (signatureField) {
    alert(`Signature is added in Field! ${signatureField.name}`);
  } else {
    alert('No matching signature field found for id:', fieldId);
  }
};

 

Sample for getting the field name when signing


Regards,
Venkada Subramanian D


Attachment: Server_Project_13c993e1.zip

Marked as answer

JG Jill Griggs May 19, 2026 05:39 PM UTC

Yay! That worked for me. Thank you so much! Appreciate your help!



VS Venkada Subramanian Durai Syncfusion Team May 20, 2026 04:41 AM UTC

Hi Jill Griggs,

Thanks for the update. Please ping us if you need any assistance or any further requirements

Regards,
Venkada Subramanian D




Loader.
Up arrow icon