
2
ADOBE FRAMEMAKER SCRIPTING GUIDE
Overview
Last updated 9/26/2011
Scripting support in FrameMaker
FrameMaker supports ExtendScript, which is an extended implementation of JavaScript. While JavaScript files have
.js extension, ExtendScript files have .jsx extension.
For more information on JavaScript modules, tools, utilities, and features that are available to all JavaScript-enabled
Adobe applications, see
JavaScript Tools Guide
.
Development and debugging tools in ExtendScript toolkit
For assistance in developing, debugging, and testing scripts, Adobe provides the ExtendScript Toolkit. ExtendScript
Toolkit is an interactive development and testing environment for ExtendScript, which is installed with FrameMaker
and all JavaScript-enabled applications. For details, see Chapter 2, “The ExtendScript Toolkit” and Chapter 8,
“ExtendScript Tools and Features ” in
JavaScript Tools Guide
.
ExtendScript capabilities
Using ExtendScript Toolkit, you can develop and debug ExtendScript. ExtendScript provides the following features
that make scripting easy:
•
User interface development tools
: The ScriptUI module defines Window objects that represent platform-specific
windows and various control elements, such as buttons and static text. Resource specification allows you to create
user-interface elements. Using the event-handling callback functions, you can define the behavior of your user-
interaction controls. ScriptUI provides a rich set of containers (such as Group, Panel, and TabbedPanel) and user
interface controls (such as Button, Image, Scrollbar, Treeview, and FlashPlayer). ScriptUI works with the
ExtendScript JavaScript interpreter to provide JavaScript programs with the ability to create and interact with user
interface elements. The Graphic customization objects provide the ability to customize the appearance of user-
interface controls before they are drawn. For details, see Chapter 4, “User-Interface Tools” in
JavaScript Tools
Guide
.
•
Extensions
:
•
ExtendScript offers tools for communicating with other computers or the Internet using standard protocols.
The Socket object supports low-level TCP connections. For details, see Chapter 6, “External Communication
Tools” in
JavaScript Tools Guide
.
•
Adobe ExtendScript defines classes that simplify cross-platform file-system access. These classes are available to
all applications that support a JavaScript interface. For details, see Chapter 3, “File System Access” in
JavaScript
Tools Guide
.
•
You can extend the JavaScript DOM for an application. To extend the JavaScript DOM, write a C or C++ shared
library, compile it for the relevant platform, and load it into JavaScript as an ExternalObject instance. A shared
library is implemented by a DLL in Windows, a bundle or framework in Mac OS, or a SharedObject in UNIX.
For details, see Chapter 7, “Integrating External Libraries” in
JavaScript Tools Guide
.
•
Inter-application communication and messaging
: ExtendScript provides a common scripting environment for
all Adobe JavaScript-enabled applications. The cross-DOM API allows implementation of functions, such as open
files and execute scripts, that are common across message-enabled applications. Using simple syntax you can
implement application-specific functionality for message-enabled application. The BridgeTalk class of the
messaging API has globally available static properties and functions that provide access to environmental
information relevant for communication between applications. The error codes defined by the interapplication
messaging protocol are compatible with the ExtendScript error codes. For details, see Chapter 5, “Interapplication
Communication with Scripts” in
JavaScript Tools Guide