by Adobe

Adobe logo


19 July 2010

Developing for Adobe Reader Using Acrobat SDK

Acrobat SDK Overview

The Acrobat SDK is a set of tools that help you develop software that interacts with Acrobat technology. The SDK contains header files, type libraries, simple utilities, sample code, and documentation.

Using the Acrobat SDK, you can develop software that integrates with Acrobat and Adobe Reader in several ways:

  • JavaScript — Write scripts, either in an individual PDF document or externally, to extend the functionality of Acrobat or Adobe Reader.
  • Plug-ins — Create plug-ins that are dynamically linked to and extend the functionality of Acrobat or Adobe Reader.
  • Interapplication Communication — Write a separate application process that uses interapplication communication (IAC) to control Acrobat functionality. DDE and OLE are supported on Microsoft® Windows®, and Apple events/AppleScript on Mac OS®. IAC is not available on UNIX®.

The Acrobat SDK provides support for development on both Windows and Apple Mac OS environments.

Besides the technologies provided by the Acrobat SDK, you can also use the PDF Library (PDFL) to develop applications that create and manipulate PDF documents but do not interact with Acrobat. For more information, see Adobe PDF Library.

The Acrobat SDK provides support for development on both Windows and Apple Mac OS environments.

Developing for Adobe Reader

The primary technologies for creating software to extend or customize Adobe Reader are JavaScript, plug-ins, and interapplication communication. It is important to consider the role of Adobe LiveCycle® Reader Extensions in your development efforts with JavaScript and plug-ins. Although the APIs available for Adobe Reader are normally limited in both cases, additional APIs can be used for a given PDF document if that document is rights-enabled (has additional usage rights). LiveCycle Reader Extensions is a server product that enables document producers and creators to quickly and easily embed additional usage rights into PDF documents, which results in extra functionality when documents are opened. The extra functionality makes the following activities possible:

  • Saving forms with results offline
  • Connecting forms to databases or online services
  • Attaching files and media clips
  • Saving copies of documents with changes intact
  • Submitting completed documents electronically
  • Digitally signing documents
  • Sharing documents with others to review and add comments using intuitive markup tools such as electronic sticky notes, highlights, and text strike-throughs

Note: With LiveCycle Reader Extensions, it is not necessary to distribute any plug-ins or other special software to implement these features.

For more information on the Adobe LiveCycle products, see the Developer FAQ .

JavaScript APIs

With Adobe Reader, JavaScript can be used for a number of tasks:

  • To develop and process Acrobat forms and XML forms
  • To customize the behavior and appearance of a PDF document
  • To facilitate online team review
  • To implement security policies
  • To interact with web services
  • To customize the behavior and appearance of Adobe Reader itself

Note: The JavaScript debugger available in Acrobat is not normally available in Adobe Reader, though debug messages can be triggered to appear in the console. The complete debugger functionality can be enabled in Adobe Reader on Windows and Mac OS platforms. For details, see Developing Acrobat Applications Using JavaScript .


The Acrobat core and extended APIs enable you to write plug-ins that integrate with Adobe Reader. For detailed information on the API architecture, methods, and usage, see Developing Plug-ins and Applications and the Acrobat and PDF Library API Reference .

Interapplication Communication

Only a limited subset of the complete IAC functionality is available for Adobe Reader. For detailed descriptions of the syntax and usage of the IAC APIs discussed in this section, see the Interapplication Communication API Reference and Developing Applications Using Interapplication Communication .

Note: IAC is not supported on the Linux or UNIX platforms.