Introduction

This chapter introduces the Acrobat DC SDK and its development technologies.

For a description of Acrobat, the family of Acrobat products, the list of tools used to create PDF files, and related Adobe technologies, see the Developer FAQ.

For a list of the supported development environments, see Supported environments.

For a list of known issues and other information that was not available when this documentation was written, see the Readme at the Acrobat Developer Center.

Acrobat SDK development technologies

The Acrobat DC 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 DC SDK, you can develop software that integrates with Acrobat and Acrobat Reader in several ways:

  • JavaScript — Write scripts, either in an individual PDF document or externally, to extend the functionality of Acrobat or Acrobat Reader.

  • Plug-ins — Create plug-ins that are dynamically linked to and extend the functionality of Acrobat or Acrobat 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 DC SDK provides support for development on both Windows and Apple Mac OS environments. For a UNIX version of the Acrobat DC SDK, see the Acrobat Developer Center.

Besides the technologies provided by the Acrobat DC 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.

JavaScript

JavaScript is a cross-platform scripting language. Through its JavaScript extensions, Acrobat exposes much of the functionality of Acrobat and its plug-ins to the document author. The JavaScript objects, properties and methods can also be accessed through Visual Basic or C# to automate the processing of PDF documents.

Acrobat defines several objects that allow your code to interact with the Acrobat application, a PDF document, or fields within a PDF document. The most commonly used objects control the Acrobat or Acrobat Reader application, the JavaScript console, the PDF document, SOAP web services, databases, security, searches, and JavaScript events.

JavaScript can be applied at a variety of levels. Each of the levels represents a context in which processing occurs, which affects when the scripts are loaded and how they are accessed inside and outside documents.

The placement of a script at a given level also determines its reusability. For example, folder level scripts are available within all documents, document level scripts are available to all fields within a given document, and field level scripts are visible only to the fields with which they are associated.

For more information on JavaScript objects, see Developing Acrobat Applications Using JavaScript and the JavaScript for Acrobat API Reference.

Plug-ins

Plug-ins are dynamically-linked extensions to Acrobat or Acrobat Reader. They can hook in to the user interface in a number of ways and can register to be called when a variety of events occur in the application.

A plug-in is written in ANSI C/C++ and uses the Acrobat public APIs. It can add functionality to Acrobat Pro Extended, Acrobat Professional DC, Acrobat Standard DC, or Acrobat Reader. A plug-in program file goes into a Plug_ins folder or directory and is initialized during Acrobat or Acrobat Reader startup.

There are three types of plug-ins:

  • Regular Acrobat plug-ins — These plug-ins run on Acrobat Professional DC and Acrobat Standard DC. Plug-ins for Acrobat Professional DC can use any of the Acrobat DC SDK APIs. Plug-ins for Acrobat Standard DC do not have access to some APIs. For more information, see Overview.

  • Acrobat Reader-enabled plug-ins — These plug-ins use a restricted set of APIs. Acrobat Reader-enabled plug-ins are developed with permission from Adobe and require special processing to load under Acrobat Reader. Plug-ins for Acrobat Reader can use additional APIs if the PDF document has additional usage rights. For more information, see Rights-Enabled PDF Documents and Security.

  • Certified plug-ins — These plug-ins have undergone extensive testing to ensure that they do not compromise the integrity of Acrobat’s security model. A checkbox in the Acrobat and Acrobat Reader user interface can be used to ensure that only certified plug-ins are loaded. Certified plug-ins can be provided only by Adobe.

On Windows, plug-ins are DLLs. However, plug-in names must end in .API, not .DLL. On Mac OS, plug-ins are code fragments, whereas on UNIX, plug-ins are shared libraries.