- Home
- Forum
- JavaScript - EJ 2
- Property to tell me that a signature field has been signed
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:
Please let me know how to achieve this. Thank you for your help!
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
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:
Attachment: eSign_filling_8579f852.pdf
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
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)
IsSigned returns false in your case- Loaded using the default PdfViewer functionalities
- Signed through the viewer’s signature pad
- Downloaded directly without applying a digital signature via the PDF library
- 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.
- When the same document is later loaded using the Syncfusion .NET PDF Library,
theIsSignedAPI correctly returns false, since no digital signature exists in the document metadata.
It is intended for visual signing and interaction, not cryptographic signing.
- The viewer collects ink signatures internally.
- 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
- Only the final document is digitally signed and returns
IsSigned = true
https://document.syncfusion.com/demos/pdf-viewer/asp-net-core/pdfviewer/invisibledigitalsignature#/tailwind3
- Digitally sign each individual signature field
- Have all fields marked as signed
- Reliably validate using
IsSigned
- PdfViewer for signature capture
- PDF Library for applying the digital signature correctly
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"?
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:
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:
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
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?
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
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
Javascript
Result
I want it to get the 'fieldName' that was passed in when creating the signature field.
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
Yay! That worked for me. Thank you so much! Appreciate your help!
Hi Jill Griggs,
Thanks for the update. Please ping us if you need any assistance or any further requirements
Regards,
Venkada Subramanian D
- 13 Replies
- 4 Participants
- Marked answer
-
JG Jill Griggs
- Mar 27, 2026 05:13 PM UTC
- May 20, 2026 04:41 AM UTC