PDF Embedded JavaScript

PDF documents may contain embedded JavaScript (sometimes known as AcroJS) that is often run in response to events on form fields inside the document. This JavaScript executes in a special environment that contains a number of predefined functions for interacting with fields and the document.

Embedded JavaScript might be used for:

  • Calculating a total based on the value of several fields
  • Formatting a field to add a dollar sign at the front
  • Validating the format of a date field and alerting the user if they entered it incorrectly

In WebViewer

You don't need to do anything to enable embedded JavaScript execution, simply load a PDF document that contains embedded JavaScript and the code will run at the appropriate times. For example in response to clicks by the user or automatically when calculating a field value.

Disabling

If you don't want embedded JavaScript to execute you can call disableEmbeddedJavaScript().

1WebViewer(...)
2.then(instance => {
3 instance.Core.disableEmbeddedJavaScript();
4});

Customization

WebViewer provides an API to customize the embedded JavaScript environment if you would like to change the behavior for some reason. The update function provides access to the embedded environment and lets you make changes.

For examle Adobe Acrobat defines a global ADBE object that some older PDFs might check. So you could define the value to prevent certain popups from appearing.

JavaScript

1Annotations.Forms.EmbeddedJS.update(scope => {
2 // Scope represents the window scope that embedded javascript runs within
3 // Define the ADBE namespace so that older PDFs will find it
4 scope.ADBE = {};
5});

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales