44
Adobe ® Reader ® 7.0.5 Developing for Adobe Reader July 27, 2005 Adobe Solutions Network — http://partners.adobe.com

Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Adobe® Reader® 7.0.5

Developing for Adobe Reader

July 27, 2005

Adobe Solutions Network — http://partners.adobe.com

Page 2: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

© 2005 Adobe Systems Incorporated. All rights reserved.

Developing for Adobe® Reader®

If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement.

The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.

Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.

Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.

Adobe, the Adobe logo, Acrobat, Acrobat Capture, the Adobe PDF logo, Distiller, PostScript, the PostScript logo and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Apple, Mac, Mac OS, Macintosh, and Power Macintosh are trademarks of Apple Computer, Inc., registered in the United States and other countries. HP-UX is a registered trademark of Hewlett-Packard Company. Linux is a registered trademark of Linus Torvalds. AIX is a trademark of International Business Machines Corporation in the United States and/or other countries, PowerPC is a trademark of International Business Machines Corporation in the United States and/or other countries, and RISC System/6000 is atrademark of International Business Machines Corporation in the United States and/or other countries. Pentium is a trademark or registered trademark of Intel Corporation or its subsidiaries in the U.S. and other countries. ActiveX, Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Red Hat is a trademark or registered trademark of Red Hat, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a trademark in the United States and other countries, licensed exclusively through X/Open Company, Ltd. Solaris is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.

This software is based in part on the work of the Independent JPEG Group.

Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Page 3: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 3

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Resources and Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Conventions Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Supported Platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Macintosh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

HP-UX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Technologies Available within the Acrobat SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Acrobat JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Interapplication Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Adobe Dialog Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 2 Developing with Acrobat JavaScript . . . . . . . . . . . . . . . . 15

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Acrobat JavaScript APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chapter 3 Developing with Interapplication Communication . . . . . . . . 39

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Apple Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

DDE Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 4: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Contents

4 Developing for Adobe Reader

Chapter 4 Developing Plug-ins for Adobe Reader . . . . . . . . . . . . . . . 43

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

APIs Available for Adobe Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Page 5: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 5

Preface

Description

Adobe® Reader® belongs to the Adobe Acrobat® family of products, and is used for viewing, navigating, and printing PDF documents. For more information on the Acrobat family of products, see http://partners.adobe.com/links/acrobat.

This guide provides an introduction to those portions of the Adobe Acrobat Software Development Kit (SDK) that pertain to your development efforts for Adobe Reader. It provides a general overview of the types of things you can do with the SDK and the technologies that are available to you through the SDK. This document provides a starting point for developers who would like to understand how to extend or customize Adobe Reader, and provides information clarifying how such efforts differ from those intended for Acrobat.

It is possible to extend and customize Adobe Reader by using the Adobe Acrobat SDK to write JavaScript code, implement interapplication communication, and write plug-ins. This document indicates the relevant subsets of the Acrobat JavaScript APIs, Interapplication Communication APIs, and the Acrobat and PDF Library APIs. It describes each of those collections of APIs and their intended purposes, and clarifies what is available on all supported platforms.

N O T E : Many Acrobat SDK resources are mentioned in this document. For more information, see Resources and Samples.

Audience

This guide is meant for developers who are either new to Adobe Reader development or have experience with the Acrobat SDK.

For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe Reader using the Acrobat SDK, see the Acrobat SDK User’s Guide.

Page 6: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

PrefaceResources and Samples

6 Developing for Adobe Reader

Resources and Samples

The following resources and samples provide further information about the Acrobat SDK:

● Acrobat SDK Release Notes provide an introduction to the Acrobat SDK, as well as a list of supported development environments and operating systems for the Acrobat SDK, as well as a list of known issues and implementation details specific to the various platforms.

● Acrobat SDK User’s Guide describes the capabilities of the Acrobat SDK, and provides a general overview of its usage.

● Guide to SDK Samples contains a roadmap to help direct you to sample applications, plug-ins, and scripts that demonstrate the usage of the APIs in the Adobe Acrobat products.

● SnippetRunner Cookbook provides information on the Snippet Runner plug-in’s architecture and environment. It details how to create SDK code snippets and how to access SnippetRunner utilities for use in original snippets.

● Acrobat JavaScript Scripting Guide provides an overview of how to use Acrobat JavaScript to develop and enhance standard workflows, and contains detailed descriptions of what the Acrobat JavaScript capabilities are and how to access them.

● Acrobat JavaScript Scripting Reference describes in detail all objects, properties, and methods within the Acrobat extension to JavaScript, and contains code examples.

● Acrobat Interapplication Communication Overview explains the interapplication communication (IAC) support concepts, such as objects and commands universally understood by applications.

● Acrobat Interapplication Communication Reference provides a detailed reference of all the calls needed for Apple® Events, OLE automation, and DDE interapplication interfaces.

● PDF Reference, fifth edition, Version 1.6 provides a description of the PDF file format, as well as suggestions for producing efficient PDF files. It is intended for application developers who wish to produce PDF files directly, or who wish to gain a detailed understanding of the PDF file format.

● Adobe Dialog Manager Programmer’s Guide and Reference describes the Adobe Dialog Manager APIs for displaying and controlling dialog boxes in a platform-independent way. It provides an overview of the window and control architecture, describes how to use ADM with several Adobe products, and provides detailed information on each API suite.

● Adobe Reader-enabled Plug-ins describes the steps and the process that must be followed with Adobe to enable a plug-in to be loaded by Adobe Reader.

● Acrobat and PDF Library API Overview provides a conceptual overview of the PDF Library and Acrobat core and extended APIs.

● Acrobat and PDF Library API Reference provides detailed descriptions of the PDF Library and Acrobat core and extended APIs.

Page 7: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 7

PrefaceHow This Document Is Organized

● Acrobat SDK Plug-in Guide describes basic Acrobat plug-in development concepts, shows how Acrobat interacts with plug-ins, and shows how your plug-ins can manipulate and enhance the Acrobat and Adobe Reader user interface as well as the contents of underlying PDF documents.

Additional documents that you should have available for reference are listed below.

● PostScript Language Reference, third edition describes the syntax and semantics of the PostScript language and the Adobe imaging model.

● The samples and snippets included in the Acrobat SDK. SDK installers are provided for all supported platforms at the Acrobat SDK web site. For more information, visit the Adobe Solutions Network at http://partners.adobe.com/asn/.

How This Document Is Organized

This document is organized as follows:

● Chapter 1, “Getting Started,” describes the supported platforms for development using the Acrobat SDK, and summarizes the technologies available within the Acrobat SDK.

● Chapter 2, “Developing with Acrobat JavaScript,” describes how Acrobat JavaScript can be used to customize and extend the functionality and appearance of PDF documents and Adobe Reader itself.

● Chapter 3, “Developing with Interapplication Communication,” describes how to establish interapplication communication with Adobe Reader on Microsoft® Windows® and Macintosh® platforms.

● Chapter 4, “Developing Plug-ins for Adobe Reader,” describes how you can use the Acrobat core and extended application programming interfaces (APIs), in conjunction with the PDF library, to write plug-ins that integrate with Adobe Reader.

Page 8: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

PrefaceConventions Used in This Book

8 Developing for Adobe Reader

Co nve nt i ons Use d i n Thi s B o o k

The Acrobat documentation uses text styles according to the following conventions:

Font Used for Examples

monospaced Paths and filenames C:\templates\mytmpl.fm

Code examples set off from plain text

These are variable declarations: AVMenu commandMenu,helpMenu;

monospaced bold Code items within plain text

The GetExtensionID method ...

Parameter names and literal values in reference documents

The enumeration terminates if proc returns false.

monospaced italic Pseudocode ACCB1 void ACCB2 ExeProc(void){ do something }

Placeholders in code examples

AFSimple_Calculate(cFunction, cFields)

blue Live links to Web pages The Adobe Solutions Network URL is:http://partners.adobe.com/

Live links to sections within this document

See Using the SDK.

Live links to code items within this document

Test whether an ASAtom exists.

bold PostScript language and PDF operators, keywords, dictionary key names

The setpagedevice operator

User interface names The File menu

italic Document titles that are not live links

Acrobat and PDF Library API Overview

New terms User space specifies coordinates for...

PostScript variables filename deletefile

Page 9: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 9

1 Getting Started

Introduction

This chapter describes the supported platforms for development using the Acrobat SDK, and summarizes the technologies available within the Acrobat SDK.

Supported Platforms

This section describes the requirements for using the Interapplication Communication and Acrobat core and extended APIs on all supported platforms. The following platforms are currently supported for development with Adobe Reader:

● Windows

● Macintosh

● Linux®

● Solaris®

● AIX®

● HP-UX

Details for each platform are described below.

Windows

Supported Operating Systems

Microsoft Windows 2000 with Service Pack 2.

Microsoft Windows XP Professional or Home Edition

Development Environments

Microsoft Visual Studio .NET 2003

Page 10: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Getting StartedSupported Platforms

1

10 Developing for Adobe Reader

Macintosh

Supported Operating Systems

Macintosh OS X versions 10.2.8 and 10.3.

Development Environments

Metroworks CodeWarrior version 9.2

N O T E : For more information on Windows and Macintosh environments, see the Acrobat SDK User’s Guide and the Acrobat SDK Plug-in Guide.

Linux

Machine Requirements

32-bit Intel® Pentium®-class processor, 128 MB RAM (256 MB recommended), 70 MB hard disk space.

Supported Operating Systems

Red Hat® Enterprise Linux AS version 3.0, with Linux Kernel version 2.4.21

Red Hat Enterprise Linux AS version 4.0, with Linux Kernel version 2.6

Red Hat Enterprise Linux ES version 3.0, with Linux Kernel version 2.4.21

Red Hat Enterprise Linux ES version 4.0, with Linux Kernel version 2.6

Red Hat Linux Desktop

Red Hat Linux version 9.0, with Linux Kernel versions 2.4.20 through 2.6

SuSE Linux Enterprise Server version 9, with Linux Kernel version 2.6

SuSE Linux Professional version 9.2, with Linux Kernel version 2.6.4

Turbolinux 10 Desktop, with Linux Kernel version 2.6

Red Flag Linux Desktop 4.0

N O T E : Not all versions of Red Hat Linux will automatically install the GNOME GTK+ Library, which is required for developing plug-ins for Adobe Reader on Linux. To ensure that your Adobe Reader plug-ins will compile, make sure the GNOME GTK+ Library has been installed on your system.

Supported Browsers

Mozilla versions 1.73 and 1.8

Netscape version 7

Firefox version 1.0

Development Environment

Standard GNU Compiler: gcc version 3.2

Page 11: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 11

Getting StartedSupported Platforms

1

Solaris

Machine Requirements

UltraSPARC® or UltraSPARC IIIi processor, 128 MB RAM, 70 MB hard disk space.

Supported Operating Systems

Solaris Operating System versions 8 and 9

Supported Browsers

Mozilla version 1.73

Netscape version 7

Development Environment

Standard GNU Compiler: gcc version 3.2

AIX

Machine Requirements

RISC System/6000® or IBM Power5 processor, 128 MB RAM, 70 MB hard disk space.

Supported Operating Systems

IBM AIX versions 5.2 and 5.2.0.35

Supported Browsers

Mozilla version 1.73

Development Environment

Native compiler: xIC version 6.0

HP-UX

Machine Requirements

32 bit PA-8000x processor, 128 MB RAM, 70 MB hard disk space.

Supported Operating Systems

HP-UX versions 11 and 11i

Supported Browsers

Mozilla version 1.6

Development Environment

HP ANSI C++ native compiler: aCC version A.03.33

Page 12: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Getting StartedTechnologies Available within the Acrobat SDK

1

12 Developing for Adobe Reader

Technologies Available within the Acrobat SDK

The primary technologies for creating software to extend or customize Adobe Reader are Acrobat JavaScript, Interapplication Communication, and plug-ins. For information about choosing an appropriate technology for your projects, see the Acrobat SDK User’s Guide.

It is important to consider the role of Adobe LiveCycle™ Reader Extensions in your development efforts with Acrobat JavaScript and plug-ins. Though 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, meaning that it 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 becoming available when the 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

N O T E : 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.

Page 13: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 13

Getting StartedTechnologies Available within the Acrobat SDK

1

Acrobat JavaScript

Acrobat JavaScript is a platform-independent scripting language with which you may customize the behavior of PDF documents in Acrobat or Adobe Reader, as well as the behavior of Acrobat or Adobe Reader itself. You will find that using Acrobat JavaScript is, in many cases, much easier than writing plug-ins.

N O T E : Adobe Reader support for Acrobat JavaScript is limited. For details, see Developing with Acrobat JavaScript.

Interapplication Communication

Acrobat and Adobe Reader provide support for Interapplication Communication (IAC) through Apple® events and AppleScript on Macintosh platforms, and through OLE automation and DDE on Windows platforms.

N O T E : Adobe Reader support for IAC is limited. For details, see Developing with Interapplication Communication.

N O T E : IAC is only supported on Windows and Macintosh platforms, and is not supported on Linux or Unix® platforms.

Plug-ins

Plug-ins are dynamically linked extensions to Acrobat or Adobe Reader, and can be developed on all supported platforms. A plug-in can extend or customize the functionality of Acrobat or Adobe Reader, and can be integrated into the user interface. Plug-ins are written in ANSI C/C++ using the Acrobat APIs.

In order to write a plug-in for Adobe Reader, you must create a Reader-enabled plug-in.

N O T E : Adobe Reader support for the Acrobat core and extended APIs is limited. For details, see Developing Plug-ins for Adobe Reader.

Adobe Dialog Manager

The Adobe Dialog Manager (ADM) is an API for creating dialog-based user interfaces, and works uniformly across a number of Adobe products including Acrobat, Adobe Reader, Photoshop®, Illustrator®, and After Effects®. You may develop plug-ins accessing complete ADM functionality on Macintosh and Windows systems, and create JavaScripts accessing limited ADM functionality on all platforms. For more information, see the Adobe Dialog Manager Programmer’s Guide and Reference and the Acrobat JavaScript Scripting Guide.

N O T E : The ADM C/C++ APIs are only supported on Windows and Macintosh platforms, and are not supported on Linux or Unix platforms.

Page 14: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Getting StartedTechnologies Available within the Acrobat SDK

1

14 Developing for Adobe Reader

Page 15: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 15

2 Developing with Acrobat JavaScript

Introduction

With Adobe Reader, Acrobat JavaScript can be used to:

● Develop and process Acrobat forms and XML forms.

● Customize the behavior and appearance of a PDF document.

● Facilitate online team review.

● Implement security policies.

● Interact with Web services.

● Customize the behavior and appearance of Adobe Reader itself.

N O T E : The Acrobat JavaScript debugger 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 Macintosh and Windows platforms. For details, see the Acrobat JavaScript Scripting Guide.

As you learned in Technologies Available within the Acrobat SDK, additional usage rights may be applied to a PDF document using LiveCycle Reader Extensions. For detailed information on which Acrobat JavaScript APIs are available in rights-enabled PDF documents, see the Acrobat JavaScript Scripting Reference.

Acrobat JavaScript APIs

Acrobat JavaScript can be used on all supported platforms, and, for Adobe Reader, can be used for processing within a single document, processing for a given page within a document, and processing for a given form field.

Table 2.1 contains a list of the JavaScript objects, properties, and methods that can be used with Adobe Reader.

N O T E : Some of the objects listed below, such as those related to the console, debugger, media players, and text-to-speech, are not available for all platforms. For platform-specific information, see the Acrobat JavaScript Scripting Reference.

N O T E : Many Acrobat JavaScript properties and methods are only available within certain contexts and circumstances. For details regarding these restrictions, see the Acrobat JavaScript Scripting Reference and Acrobat JavaScript Scripting Guide.

Page 16: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

16 Developing for Adobe Reader

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Alerter dispatch

Alternate-Presentation

activetype

startstop

Annot alignmentAParrowBeginarrowEndattachIconauthorborderEffectIntensityborderEffectStylecalloutcaretSymbolcontentscreationDatedashdelaydocdoCaptionfillColorgestureshidden

destroygetPropsgetStateInModelsetPropstransitionToState

Page 17: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 17

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Annot (continued)

inReplyTointentleaderExtendleaderLengthlineEndinglockmodDatenamenoteIconnoViewopacitypagepointpointspopupOpenpopupRectprintquadsrectreadOnlyrefTyperichContentsrichDefaultsrotateseqNumstatestateModelstrokeColorstylesubjecttextFonttextSize

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 18: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

18 Developing for Adobe Reader

Annot (continued)

toggleNoViewtypesoundIconverticeswidth

Annot3D activatedcontext3DinnerRectnamepagerect

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 19: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 19

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

App activeDocscalculateconstantsfocusRectformsVersionfromPDFConvertersfsfullscreenlanguagemediamonitorsnumPlugInsopenInPlaceplatformplugInsprinterNamesruntimeHighlightruntimeHighlightColorthermometertoolbartoolbarHorizontaltoolbarVerticalviewerTypeviewerVariationviewerVersion

addMenuItemaddSubMenuaddToolButtonalertbeepbeginPrivbrowseForDocclearIntervalclearTimeOutendPrivexecDialogexecMenuItemgetNthPlugInNamegetPathgoBackgoForwardhideMenuItemhideToolbarButtonlaunchURLlistMenuItemslistToolbarButtonsopenDocpopUpMenupopUpMenuExremoveToolButtonresponsesetIntervalsetTimeOuttrustedFunctiontrustPropagator-Function

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 20: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

20 Developing for Adobe Reader

App.media aligncanResizecloseReasondefaultVisibleifOffScreenlayoutmonitorTypeopenCodeoverpageEventNamesraiseCoderaiseSystemrenditionTypestatustraceversionwindowType

addStockEventsalertFileNotFoundalertSelectFailedargsDWIMcanPlayOrAlertcomputeFloatWinRectconstrainRectToScreencreatePlayergetAltTextDatagetAltTextSettingsgetAnnotStockEventsgetAnnotTraceEventsgetPlayersgetPlayerStockEventsgetPlayerTraceEventsgetRenditionSettingsgetURLDatagetURLSettingsgetWindowBorderSizeopenPlayerremoveStockEventsstartPlayer

Bookmark childrencolordocnameopenparentstyle

executesetAction

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 21: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 21

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Certificate binaryissuerDNkeyUsageMD5HashSHA1HashserialNumbersubjectCNsubjectDNubRightsusage

Collab addStateModelremoveStateModel

Color transparentblackwhiteredgreenbluecyanmagentayellowdkGraygrayltGray

convertequal

Column columnNumnametypetypeNamevalue

ColumnInfo namedescriptiontypetypeName

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 22: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

22 Developing for Adobe Reader

Console showhideprintlnclear

N O T E : Only println is supported on Linux and Unix platforms.

Data creationDatemodDateMIMETypenamepathsize

Dbg bps ccbqsbsisnsosv

Dialog enableendloadstore

Directory info connect

Dir-Connection

canListcanDoCustomSearchcanDoCustomUISearhcanDoStandardSearchgroupsnameuiName

search

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 23: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 23

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Doc alternatePresentationsbaseURLbookmarkRootcalculatecreationDatecreatordataObjectsdelaydiscloseddocIDdocumentFileNamedynamicXFAFormexternalfileSizehiddeniconsinfoinnerAppWindowRectinnerDocWindowRectkeywordslayoutmediamodDatemouseXmouseYnoautocompletenocachenumFieldsnumPagesnumTemplatespathouterAppWindowRectouterDocWindowRect

addFieldaddIconbringToFrontcalculateNowcloseDoccreateDataObjectcreateTemplatedeletePagesembedDocAsDataObjectexportAsTextexportAsFDFexportAsXFDFexportDataObjectexportXFADatagetAnnotgetAnnot3DgetAnnotsgetAnnots3DgetDataObjectgetDataObjectContentsgetFieldgetIcongetNthFieldNamegetNthTemplategetOCGsgetOCGOrdergetPageBoxgetPageLabelgetPageNthWordgetPageNthWordQuadsgetPageNumWordsgetPageRotationgetPageTransition

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 24: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

24 Developing for Adobe Reader

Doc (continued) pageNumpageWindowRectpermStatusReadyproducerrequiresFullSavesecurityHandlerselectedAnnotssoundsspellDictionaryOrdertemplatesURLzoomzoomType

getPrintParamsgetSoundgetTemplategetURLgotoNamedDestimportAnFDFimportAnXFDFimportDataObjectimportTextDataimportXFADatamailDocmailFormopenDataObjectprintremoveDataObjectremoveFieldremoveScriptremoveTemplateresetFormsaveAsscrollselectPageNthWordsetDataObjectContentssubmitFormsyncAnnotScan

Doc.media canPlay deleteRenditiongetAnnotgetAnnotsgetOpenPlayersgetRenditionnewPlayer

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 25: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 25

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Error fileNamelineNumberextMessagemessagename

toString

Event changechangeExcommitKeyfieldFullkeyDownmodifiernamercrichChangerichChangeExrichValueselEndselStartshiftsourcetargettargetNametypevaluewillCommit

Events adddispatchremove

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 26: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

26 Developing for Adobe Reader

Event-Listener

afterBlurafterCloseafterDestroyafterDoneafterErrorafterEscapeafterEveryEventafterFocusafterPauseafterPlayafterReadyafterScriptafterSeekafterStatusafterStoponBluronCloseonDestroyonDoneonErroronEscapeonEveryEventonFocusonGetRectonPauseonPlayonReadyonScriptonSeekonStatusonStop

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 27: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 27

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Field alignmentborderStylebuttonAlignXbuttonAlignYbuttonFitBoundsbuttonPositionbuttonScaleHowbuttonScaleWhencalcOrderIndexcharLimitcombcommitOnSelChangecurrentValueIndicesdefaultStyledefaultValuedoNotScrolldoNotSpellCheckdelaydisplaydoceditableexportValuesfileSelectfillColorhiddenhighlightlineWidthmultilinemultipleSelectionnamenumItemspagepasswordprint

browseForFileToSubmitbuttonGetCaptionbuttonGetIconbuttonSetCaptionbuttonSetIconcheckThisBoxclearItemsdefaultIsCheckeddeleteItemAtgetArraygetItemAtgetLockinsertItemAtisBoxCheckedisDefaultCheckedsetFocussetItemssignatureGet-ModificationssignatureGetSeedValuesignatureInfosignatureValidate

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 28: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

28 Developing for Adobe Reader

Field (continued)

radiosInUnisonreadonlyrectrequiredrichTextrichValuestrokeColorstylesubmitNametextColortextFonttextSizetypeuserNamevaluevalueAsString

FullScreen backgroundColorclickAdvancescursordefaultTransitionescapeExitsisFullScreenlooptimeDelaytransitionsusePageTiminguseTimer

Global setPersistentsubscribe

Icon name

Icon Stream readwidthheight

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 29: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 29

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Identity corporationemailloginNamename

Index availablenamepathselected

Marker frameindexnametime

Markers player get

MediaOffset framemarkertime

MediaPlayer annotdefaultSizedoceventshasFocusidinnerRectisOpenisPlayingmarkersouterRectpagesettingsuiSizevisible

closeopenpauseplayseeksetFocusstoptriggerGetRectwhere

MediaReject rendition

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 30: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

30 Developing for Adobe Reader

Media-Selection

selectContextplayersrejectsrendition

Media-Settings

autoPlaybaseURLbgColorbgOpacityendAtdatadurationfloatinglayoutmonitormonitorTypepagepalindromeplayersraterepeatshowUIstartAtvisiblevolumewindowType

Monitor colorDepthisPrimaryrectworkRect

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 31: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 31

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Monitors (Same as an Array) bestColorbestFitdesktopdocumentfilterlargestleastOverlapmostOverlapnonDocumentprimarysecondaryselecttallestwidest

OCG constantsstate

getIntentsetAction

PlayerInfo idmimeTypesnameversion

canPlayhonorscanUseData

PlayerInfo-List

(Same as an Array) select

PlugIn certfiedloadednamepathversion

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 32: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

32 Developing for Adobe Reader

PrintParams binaryOKcolorOverrideconstantsdownloadFarEastFontsfileNamefirstPageflags (see Acrobat JavaScript Scripting Reference for limitations with Adobe Reader)

fontPolicyinteractivelastPagenUpAutoRotatenUpNumPagesHnUpNumPagesVnUpPageBordernUpPageOrderpageHandling (see Acrobat JavaScript Scripting Reference for limitations with Adobe Reader)

pageSubsetprintAsImageprintContentprinterNamepsLevelreversePagesusePrinterCRDuseT1Conversion

Rendition altTextdocfileNametypeuiName

getPlaySettingsselecttestCriteria

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 33: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 33

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

RDN ccnooue

Row columnArray

ScreenAnnot altTextalwaysShowFocusdisplaydoceventsextFocusRectinnerDeviceRectnoTriggerouterDeviceRectpageplayerrect

hasFocussetFocus

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 34: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

34 Developing for Adobe Reader

Search attachmentsavailabledocInfodocTextdocXMPbookmarksignoreAccentsignoreAsianCharacterWidthindexesjpegExiflegacySearchmarkupmatchCasematchWholeWordmaxDocsobjectMetadataproximityproximityRangerefinesoundexstemthesauruswordMatching

addIndexgetIndexForPathqueryremoveIndex

Security handlers getHandler

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 35: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 35

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

Security-Handler

appearancesdigitalIDsdirectoriesdirectoryHandlersisLoggedInloginNameloginPathnamesignAuthorsignFDFsignInvisiblesignValidatesignVisibleuiName

loginlogoutnewDirectory

Signature-Info

(see Acrobat JavaScript Scripting Reference for a detailed description of the properties)

SOAP wiredump connectqueryServicesresolveServicesrequestresponsestreamDecodestreamDigeststreamEncodestreamFromStringstringFromStream

Sound name playpausestop

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 36: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

36 Developing for Adobe Reader

Span alignmentfontFamilyfontStretchfontStylefontWeighttexttextColortextSizestrikethroughsubscriptsuperscriptunderline

Spell availabledictionaryNamesdictionaryOrderdomainNameslanguageslanguageOrder

addWordcheckcheckTextcheckWordcustomDictionaryClosecustomDictionaryOpenignoreAllremoveWorduserWords

Template hiddenname

spawn

Thermometer cancelleddurationvaluetext

beginend

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 37: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 37

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

For a complete description of the capabilities and usage of Acrobat JavaScript, see the Acrobat JavaScript Scripting Guide and the Acrobat JavaScript Scripting Reference.

TTS availablenumSpeakerspitchsoundCuesspeakerspeechCuesspeechRatevolume

getNthSpeakerNamepauseqSilenceqSoundqTextresetresumestoptalk

Util iconStreamFromIconprintfprintdprintxscandspansToXMLstreamFromStringstringFromStreamxmlToSpans

XFA (Corresponds to the appModel container. For details, see Acrobat JavaScript Scripting Guide.)

(Corresponds to the appModel container. For details, see Acrobat JavaScript Scripting Guide.)

XMLData applyXPathparse

TABLE 2.1 JavaScript Objects, Properties, and Methods Available in Adobe Reader

Object Properties Methods

Page 38: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Acrobat JavaScriptAcrobat JavaScript APIs

2

38 Developing for Adobe Reader

Page 39: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 39

3 Developing with Interapplication Communication

Introduction

Interapplication Communication may only be used on Windows and Macintosh platforms. For Adobe Reader, only a limited subset of the complete IAC functionality is available. For detailed descriptions of the syntax and usage of the IAC APIs discussed in this chapter, see the Acrobat Interapplication Communication Reference and Acrobat Interapplication Communication Overview.

N O T E : IAC is not supported on Linux or Unix platforms.

Apple Events

On the Macintosh, you may use Apple Events and AppleScript. Adobe Reader supports only the following required Apple Events:

● open

● run

● print

● quit

OLE Automation

On Windows, the only OLE automation supported for Adobe Reader is the PDF browser controls interface, which enables you to treat a PDF document as an ActiveX document within an external application. This makes it possible to load a file, move to various pages within the file, highlight a text selection, and specify various print and display options, as shown below in Figure 3.1.

Page 40: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Interapplication CommunicationOLE Automation

3

40 Developing for Adobe Reader

FIGURE 3.1 PDF Browser Controls

Page 41: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 41

Developing with Interapplication CommunicationOLE Automation

3

PDF browser controls are available through the AxAcroPDFLib.AxAcroPDF interface, which provides the following methods used to programmatically control the PDF document window:

● GoBackwardStack

● GoForwardStack

● GotoFirstPage

● GotoLastPage

● GotoNextPage

● GotoPreviousPage

● LoadFile

● Print

● PrintAll

● PrintAllFit

● PrintPages

● PrintPagesFit

● PrintWithDialog

● SetCurrentHighlight

● SetCurrentPage

● SetLayoutMode

● SetNamedDest

● SetPageMode

● SetShowScrollbars

● SetShowToolbar

● SetView

● SetViewRect

● SetViewScroll

● SetZoom

● SetZoomScroll

Page 42: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing with Interapplication CommunicationDDE Messages

3

42 Developing for Adobe Reader

DDE Messages

Adobe Reader supports the following DDE messages:

● AppExit

● CloseAllDocs

● DocClose

● DocGoTo

● DocGoToNameDest

● DocOpen

● FileOpen

● FilePrint

● FilePrintEx

● FilePrintSilent

● FilePrintTo

Page 43: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing for Adobe Reader 43

4 Developing Plug-ins for Adobe Reader

Introduction

The Acrobat core and extended application programming interfaces (APIs) enable you to write plug-ins that integrate with Adobe Reader. For detailed information on the API architecture, methods, and usage, see the Acrobat and PDF Library API Overview and Acrobat and PDF Library API Reference.

Any plug-ins written for Adobe Reader must be Reader-enabled, which means that you will need to obtain permission and licensing from Adobe Systems. When developing a Reader-enabled plug-in, follow the steps described in Adobe Reader-enabled Plug-ins to make specific changes to your plug-in code in order for Adobe Reader to recognize and load it. For information on what you can and cannot do with Reader-enabled plug-ins, see the Reader Integration Key License Program.

A Reader-enabled plug-in is a dynamically linked extension to Adobe Reader created using C/C++ APIs, and can be developed for any supported platform:

● DLLs on Windows (using the extension .api)

● Shared libraries (code fragments) on Macintosh OS X

● Shared libraries on Linux or Unix platforms

As you learned in Technologies Available within the Acrobat SDK, additional usage rights may be applied to a PDF document using LiveCycle Reader Extensions. For information on checking permissions associated with a given PDF document, see Chapter 7 of the Acrobat and PDF Library Overview.

N O T E : With LiveCycle Reader Extensions, it is not necessary to distribute any plug-ins or other special software to implement the additional usage rights available within the PDF document.

Page 44: Developing for Adobe Readerhave experience with the Acrobat SDK. For information about Acrobat SDK technologies and the many different ways that developers can extend Acrobat or Adobe

Developing Plug-ins for Adobe ReaderAPIs Available for Adobe Reader

4

44 Developing for Adobe Reader

APIs Available for Adobe Reader

Host Function Tables (HFTs) are tables of function pointers, essentially providing a means by which plug-ins call methods in Adobe Reader. The following HFTs are available for development with Adobe Reader:

● AcroView

● AcroViewSweetPea

● Cos

● PDModel

● ASExtra

● PDSRead

● AcroSupport

● Core

● Forms

● TTS

● DigSigHFT

● AcroHLS (Not available on Linux or Unix platforms)

● PubSecHFT

● Search

● WebLink

For details about specific API support within each of the HFTs, see Chapter 2 of the Acrobat SDK Plug-in Guide and Appendix F of the Acrobat and PDF Library API Overview. For information about the various Acrobat layers and the organization of the related HFTs, see Chapter 3 of the Acrobat and PDF Library API Overview. For a summary of the Acrobat extended APIs, see Chapter 4 of the Acrobat and PDF Library API Overview. For details regarding the additional usage rights that may be applied to a PDF document, see Chapter 10 of the Acrobat SDK User’s Guide.