Two Signatures and no Signature List

Product: Apryse Webviewer

Product Version: 11.3.0

I generate two signature fields on my PDF:

const field1 = new Annotations.Forms.Field(‘Unterschrift1’, {
type: ‘Sig’
});
const field2 = new Annotations.Forms.Field(‘Unterschrift2’, {
type: ‘Sig’
});

const widgetAnnot1 = new Annotations.SignatureWidgetAnnotation(field1, {
appearance: ‘_DEFAULT’,
appearances: {
_DEFAULT: {
Normal: {
offset: {
x: 100,
y: 100
}}}}});

const widgetAnnot2 = new Annotations.SignatureWidgetAnnotation(field2, {
appearance: ‘_DEFAULT’,
appearances: {
_DEFAULT: {
Normal: {
offset: {
x: 100,
y: 100
}}}}});

When I click on the first signature field and write my signature, it gets added to the signature list and the signature list opens on the left side of the page. The second signature field is for the customer though, so when I want him to sign in the field, I need to delete my signature first, or else it will just add my signature when clicking on the second signature field.

How can I prevent adding the signatures to the Signature List (I don’t want a signature to be saved at all) and how can I prevent the Signature List from opening?

1 Like

Hello, I’m AiRon, an automated tech support bot :robot:
While you wait for one of our customer support representatives, I can help you with your question.


It sounds like you’re dealing with the default behavior of the signature tool in Apryse’s WebViewer, where signatures are added to a signature list for reuse. You can modify this behavior by customizing the signature tool options and preventing the signature list from opening automatically.

Some things you can try:

  • Disable the automatic saving of signatures by modifying the signature tool behavior.

  • Prevent the signature list panel from opening when a signature field is clicked.

  • Use the SignatureCreateTool APIs to customize the signature creation process, including disabling the signature list.



Here are some resources that might help you:

  • Signature APIs Documentation: Explore the APIs available for managing signature annotations, including creating and customizing signature fields.

  • Migrating to V11 Guide: Understand the changes and new features introduced in version 11, which might affect signature handling.

  • Modular UI Panels: Learn how to manage and customize UI panels, including preventing the signature list from opening.

  • Changelog v8.12.0: Review updates related to signature handling and UI changes that might be relevant to your situation.



Hopefully, this helps you solve your problem while you wait for a human to get back to you.

1 Like

Hello Marvin,

Thank you for contacting WebViewer Forums.

Each browser session will have its signature list defaulted to its original state. In this case, when a customer is ready to sign, the existing signature list will not show.

However, if you want to explicitly reset the signature list, you can call deleteAllSavedSignatures(). For example:

const signatureTool = documentViewer.getToolModeMap().AnnotationCreateSignature;
signatureTool.deleteAllSavedSignatures()

More information can be found here: Apryse WebViewer Class: SignatureCreateTool

Regards,
Luke

1 Like

That fixed one half of the problem for me, thanks!

Now, is there a way to prevent the Signature List from opening at all when I sign the document?

I already tried searching the Signature List Panel in the Panels and then deleting it, but I can’t get the findIndex Method to work with TypeScript:

const panels = instance.UI.getPanels();
const sigPanel = panels.findIndex(panel => panel.dataElement === “signatureListPanel”);

It says: Property dataElement does not exist on type Panel | TabPanel

I can get it to work writing it like this:

const panels = instance.UI.getPanels();
const sigPanel = panels.findIndex(panel => panel[‘dataElement’] === “signatureListPanel”);
panels[sigPanel].delete();

But then it says: Property delete does not exist on type Panel | TabPanel

EDIT:
I found a workaround writing it like this:

const panels: any[ ] = instance.UI.getPanels();
const sigPanel = panels.findIndex((panel: any) => panel.dataElement === “signatureListPanel”);
panels[sigPanel].delete();

Now the Signature List doesn’t open after signing the document.

1 Like