background image

Using Online Collaboration and Annotations

Using Online Collaboration

7

68

Acrobat SDK User’s Guide

How FDF Files Are Used

FDF (Forms Data Format) is an Acrobat-specific format used to store form data and other 
information from a PDF file. An FDF file that is created during a comment upload contains 
only the reviewer’s comments and a reference to the reviewed PDF file. Consequently, the 
FDF file is typically more compact than the corresponding PDF file, and does not need to be 
stored under the same parent directory or even on the same machine. For more 
information about FDF, see the

 

PDF Reference

.

FDF files can also contain JavaScript code that can be used to automatically configure the 
server preferences. For example, a user can navigate to an FDF file on a server and double-
click on it. Acrobat then executes the JavaScript code in the file, which automatically 
configures the server preferences for the user.

Online Collaboration and Acrobat JavaScript

For online collaboration, Acrobat JavaScript provides several important capabilities:

Interface to a database

 — Acrobat JavaScript provides objects to interact with a 

database via ADBC (Acrobat Database Connectivity). Using JavaScript, you can read 
values from a database, update or insert new data, and delete information. See 

“Interacting with OBDC Databases” on page 54

 for more information.

Set the comment repository preference

 — To use Acrobat’s collaborative review 

capabilities, you must specify the type of comment repository to be used, as well as its 
location. Those preferences can be set manually, or with Acrobat JavaScript placed in 
either the PDF document or its associated FDF file.

Interface to a web service

 — Acrobat JavaScript provides objects to interact with a web 

service via SOAP, which is an XML-based transport protocol used for exchanging 
information. Because it is the developer's choice as to which operations are performed 
by a given remote procedure, the Acrobat JavaScript SOAP support enables a more 
customized collaboration workflow. For more information, see 

“SOAP and Web Services” 

on page 74

.

Extensibility

You can extend the Acrobat Online Collaboration feature in several ways:

You can write JavaScript code to customize your review process and comment handling.

You can integrate Acrobat’s Online Collaboration feature into a larger document 
management system.

You can use Acrobat JavaScript to add additional annotations.

 

Through the use of the Acrobat JavaScript SOAP object, you can customize the way that 
Acrobat handles annotations.

For more information, see the 

Acrobat JavaScript Scripting Guide

 and the 

Acrobat JavaScript 

Scripting Reference

.

Summary of Contents for Acrobat 7.0.5

Page 1: ...Adobe Acrobat 7 0 5 Acrobat SDK User s Guide July 27 2005 Adobe Solutions Network http partners adobe com ...

Page 2: ...intosh and Power Macintosh are trademarks of Apple Computer Inc registered in the United States and other countries PowerPC is a trademark of International Business Machines Corporation in the United States and or 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 UNIX is a tra...

Page 3: ...jects 19 Acrobat JavaScript Contexts 20 Plug ins 20 Certified Plug ins 21 Adobe Reader enabled Plug ins 21 Development Environments 22 The Acrobat Core API 22 Extended APIs For Plug ins 24 Interapplication Communication IAC 25 Development Environments 25 Interapplication Communication Objects 26 Using the Acrobat Distiller API 26 IAC and Windows 26 Apple Event Support 27 Using Plug ins for Interap...

Page 4: ...ith Acrobat 37 Acrobat PDFMaker 37 Adobe PDF Printer 38 Save As or Export 38 Creating PDF Documents from an Authoring Application 39 Acrobat Distiller 39 Apple Event Support 40 Distiller Automation on Windows Using OLE Automation 40 Automated Silent Creation of PDF Documents from Windows 41 Choosing an Adobe PDF Settings File 41 Automatically Generating Advanced Acrobat Features 41 Inserting PostS...

Page 5: ...ture 53 Adding Structure Data to a PDF Document 53 Using pdfmark to Add Structure Data to PDF 53 Modifying PDF Documents in Other Ways 54 Adding Watermarks 54 Fixed Printing for Engineering Documents 54 Spell Checking 55 Using Multimedia 55 Interacting with OBDC Databases 56 Printing PDF Files 56 Customizing and Automating Printing 56 Working with Embedded Fonts 57 Large Page Sizes in PDF Document...

Page 6: ...ty 68 Using Annotations in Document Workflows 69 Annotations and JavaScript 69 Annotations and Plug ins 70 Annotations and the IAC API 70 Creating New Annotation Types 70 Using Stamps in Approval Workflows 71 Chapter 8 XML and the Acrobat SDK 73 The Adobe XML Architecture 73 XML Forms 74 XML Templates 74 Extensible Metadata Platform XMP 74 SOAP and Web Services 74 Converting PDF Documents to XML F...

Page 7: ...s 86 Chapter 10 Rights enabled PDF Documents 87 Additional Usage Rights 87 Differences between Usage Rights and Reader Enabling 88 Creating Rights enabled Documents 89 Accessing Additional Usage Rights 89 Applying and Validating Additional Usage Rights 90 Effects of Reader Extensions on Acrobat Standard and Acrobat Professional 90 Enabling Collaboration 90 Chapter 11 Providing Document Security 91...

Page 8: ...robat JavaScript 103 Accessing XMP Metadata From a Plug in 103 Acrobat Distiller and XMP Metadata 103 The Adobe XMP Toolkit 103 Searching Metadata 104 Object Data 104 Creating Object Data 105 Searching and Accessing Object Data 105 Chapter 13 Searching and Indexing 107 The Acrobat Search Plug in 107 Creating Custom Searches 107 Search Options 108 Searching across Multiple Documents 108 Replacing t...

Page 9: ...Tagged Annotations 113 Text To Speech 113 Accessibility and Security 113 Microsoft s Active Accessibility MSAA Interface 114 Chapter 15 Working With PDF Layers 115 About Adobe PDF layers 115 Creating Layered PDF Files 116 Navigating with Layers 116 Working with Layers from Acrobat JavaScript 116 Working with Layers from a Plug in 117 Index 119 ...

Page 10: ...Contents 10 Acrobat SDK User s Guide ...

Page 11: ...K Acrobat and PDF Library API Overview provides a high level overview of the Acrobat and PDF Library APIs Acrobat and PDF Library API Reference contains the method prototypes and details on arguments By using this reference online you can copy prototypes directly into your plug in as you are coding it Acrobat JavaScript Scripting Guide provides an overview of how to use Acrobat JavaScript to devel...

Page 12: ...nce are listed below Adobe Reader enabled Plug ins describes the steps required to enable a plug in to be loaded by Adobe Reader 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 For more information visit the Adobe Solutions Network at http partners adobe com as...

Page 13: ... describes how to work with PDF documents with additional usage rights in Acrobat and Adobe Reader Chapter 11 Providing Document Security describes how to use the Acrobat SDK to provide security to PDF documents Chapter 12 Working with Metadata describes how to access and manipulate document metadata and object data using the Acrobat SDK Chapter 13 Searching and Indexing describes how to customize...

Page 14: ...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 bo...

Page 15: ...dobe PDF forms Adobe has distributed more than 500 million copies of the software worldwide Acrobat for adding navigational links annotations and security options in addition to the functionality provided by Adobe Reader Acrobat 7 0 is offered in two configurations Acrobat 7 0 Standard Offers all of the Adobe PDF creation and distribution tools in Acrobat Elements see below and also allows users t...

Page 16: ...ovide core document services designed to align with your organization s services oriented architecture and leverage open standards including J2EE and XML They provide key functions such as document generation document control and security document collaboration and process management for electronic forms These products include Adobe LiveCycle Forms and Adobe Document Server Related Adobe Technolog...

Page 17: ...nd Adobe Reader in the following ways Acrobat JavaScript Write Acrobat JavaScript 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 IAC Write a separate application process that uses interappli...

Page 18: ...t contain non drawing related information about objects on a page The ability to accurately specify relationships between the dimensions of objects on a page and their real world counterparts An increase to the maximum page size of a PDF document by specifying the size of the unit in default user space The ability to specify objects that should be printed at a specific size regardless of the dimen...

Page 19: ...n page 28 Acrobat JavaScript Acrobat 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 Acrobat JavaScript objects properties and methods can also be accessed through Visual Basic or C to automate the processing of PDF documents See Accessing the JSObject Interface on page ...

Page 20: ... in a number of ways and can register to be called when a variety of events occur in the application A plug in is a program written in ANSI C C that uses the Acrobat public APIs It adds functionality to Acrobat Professional Acrobat Standard or Adobe Reader A plug in program file goes into a Plug_insfolder or directory and is initialized during Acrobat or Adobe Reader startup folder level These scr...

Page 21: ...mission and licensing from Adobe For information on enabling plug ins for Adobe Reader see the document Adobe Reader enabled Plug ins Plug ins for Adobe Reader can use additional APIs if the PDF document has additional usage rights For more information see Chapter 10 Rights enabled PDF Documents Regular Acrobat plug ins These plug ins run on Acrobat Professional and Acrobat Standard Plug ins for A...

Page 22: ...uilt as either a bundle or a framework Apple Xcode 1 2 or 1 5 is required because SDK projects depend on certain header files that are included with the Xcode development environment However The Acrobat SDK does not support development with the Xcode tools Plug ins developed in previous SDK versions must be rebuilt under Mach O For more information on migrating plug ins from previous versions of A...

Page 23: ...reat page content as a list of objects whose values and attributes can be modified by a plug in The methods allow your plug in to read write edit and create page contents and page resources which may contain objects such as fonts and images PDSEdit methods deal with the logical structure tree information of a PDF document A PDF document s logical structure is built independently of its physical re...

Page 24: ...ntains several plug ins such as Search and Digital Signatures whose APIs are available to plug ins In fact the Acrobat architecture encourages the use of plug ins to expose APIs for use by other plug ins Acrobat uses many plug ins to implement features some of these plug ins expose their APIs API exposure is accomplished through a mechanism called the Host Function Table HFT A plug in can export a...

Page 25: ...e and Reference explains the fundamentals of ADM and describes its functions in detail as well as the specific steps Acrobat plug in developers must take in order to access ADM functionality AcroColor API The Acrocolor API is an HFT that allows you to access the AcroColor engine ACE which controls color profile management Strictly speaking it is not an extended API since methods are accessed in a ...

Page 26: ...Authoring Application on page 39 IAC and Windows OLE Support on Windows Acrobat is an OLE server and also responds to a variety of OLE automation messages You can embed PDF documents into documents created by an application that is an OLE client Adobe Reader does not support OLE on Windows For complete descriptions of the Acrobat parameters associated with OLE automation methods see the OLE automa...

Page 27: ...on Communication Overview IMPORTANT You should use OLE automation instead of DDE whenever possible since DDE is not a COM technology Apple Event Support The Acrobat viewers support Apple Events and a number of Apple Event objects on the Macintosh platforms IAC support includes some of the objects and events described in Apple Event Registry Standard Suites as well as Acrobat specific objects and e...

Page 28: ...e PDF Library SDK contains a powerful set of functions for developing third party solutions and workflows around the Adobe Portable Document Format PDF The library enables Adobe PDF functionality to be seamlessly embedded within applications It also provides reliable accurate and Adobe supported implementation of the latest PDF specification The Adobe PDF Library and the Adobe Acrobat SDK There is...

Page 29: ...three ways Acrobat JavaScript Plug ins Interapplication Communication IAC Based on your application s requirements you choose the appropriate technologies for development In some situations the desired functionality is only available using one particular technology In other situations you can choose between two or more technologies For example you can add menu items to Acrobat using either JavaScr...

Page 30: ...the PDF Browser Controls to function correctly You can also use the IAC API to open and view a PDF document However when you use the IAC API no toolbars are displayed you must place your own buttons with corresponding API calls for standard toolbar tasks such as printing and searching The following table summarizes some of the issues to consider when deciding whether to use the PDF Browser Control...

Page 31: ...humbnails For more information on the IAC API see Interapplication Communication IAC on page 25 and the Acrobat Interapplication Communication Reference You can extend the functionality of the IAC interfaces by writing plug ins that use core API objects not already part of the IAC support system For more information see Using Plug ins for Interapplication Communication on page 27 and the Acrobat I...

Page 32: ...folder or the user s JavaScript folder Low level Access Plug ins can access and manipulate low level objects in the PDF object model such as the Cos layer JavaScript scripts can only access a limited set AV and PD layer objects Execution Speed Plug ins are compiled and loaded when Acrobat initializes Execution of JavaScript code is generally slower than plug in code because it is interpreted inste...

Page 33: ...tion types Modifying the ASFixed scale factor for large PDF file sizes Accessing platform specific services or events Getting and setting wireframe drawing mode What You Can Do with JavaScript That You Can t Do with a Plug in The following can be done easily using Acrobat JavaScript but have no plug in equivalent API NOTE Some tasks such as SOAP and web services can be done with a plug in by using...

Page 34: ...le API that are run using the SnippetRunner plug in Complete Plug in Samples The Starter and BasicPlugin samples provide the most basic frameworks for developing an Acrobat plug in The DebugWindowADM sample demonstrates how to build tools to help you debug your plug in Plug in Snippets Using SnippetRunner The SnippetRunner plug in provides infrastructure to snippets It is accessed from Advanced Ac...

Page 35: ...onality in both the Macintosh and Windows development environments Outside PDF JavaScript files that live outside an Acrobat file for example the code used in JavaScript folders the console and batch processes Inside PDF Scripts written in JavaScript that live inside a PDF file Multimedia Scripts that demonstrate the use of multimedia in PDF documents ADBC Scripts that demonstrate database connect...

Page 36: ...Deciding Which Acrobat SDK Technology to Use Samples Provided with the Acrobat SDK 3 36 Acrobat SDK User s Guide ...

Page 37: ...of the Acrobat product Acrobat PDFMaker Files created in many applications can be converted directly to Adobe PDF files without leaving the authoring application The authoring application uses PDFMaker for the conversion and the resulting files are Adobe PDF files In Windows the default Acrobat installation installs the PDFMaker feature for the following third party applications Autodesk AutoCAD 2...

Page 38: ... also automatically installed if you install such a third party application after installing Acrobat on Windows Adobe PDF Printer In an application that does not have a PDFMaker you can still create a PDF file using the Adobe PDF printer Your source document is converted to PostScript and fed directly to Distiller for conversion to PDF without manually starting Distiller The current Distiller pref...

Page 39: ...t Features Inserting PostScript Code into a Job Attaching the Native Document to the PDF File Batch Processing with Distiller Acrobat Distiller Acrobat Distiller is essentially a PostScript interpreter that can be used to convert PostScript to PDF Distiller is the PDF creation application intended for batch processing use and for the creation of PDF files containing high end print publishing featu...

Page 40: ...rts Automation Distiller supports programming environments written for the following languages Visual Basic Visual C with and without MFC Distiller exposes one interface PdfDistiller This interface provides methods and properties to invoke Distiller and to customize Distiller properties For example you can Specify that a particular settings file be used rather than the default settings file Apply ...

Page 41: ...omation methods For details on automation methods see Creating PDF Documents from an Authoring Application on page 39 and the Acrobat Distiller API Reference At the user interface level you can set Distiller parameters by selecting a file of predefined Adobe PDF settings or by creating your own set of Adobe PDF settings Each Distiller settings file defines compression font embedding color manageme...

Page 42: ...dding and when extracting save the stream to a temporary file and invoke the authoring application NOTE Acrobat and Adobe Reader ignore private data Embedding authoring documents in PDF files greatly increases the size of the PDF file Using Links to Associate a Native Document with the PDF File An association between the PDF file and the authoring document can also be maintained through the use of...

Page 43: ...h as HTML and XML Access for the visually impaired see Chapter 14 Accessibility PDF Logical Structure PDF logical structure is layered on top of a document s page contents using a special markup language HTML and XML use a similar layout for logical structure text enclosed in a hierarchy of tags In HTML each component is wrapped with a set of tags that define its structure For example the text of ...

Page 44: ...1 and the Acrobat and PDF Library API Overview Using pdfmark to Add Structure Data to PDF Advanced Acrobat features are generated using the pdfmark PostScript operator The authoring application must generate a PostScript language file that contains the appropriate pdfmark operators for the document structure desired This resulting PostScript language file is converted into a PDF file via Distiller...

Page 45: ...e the PDDocCreatePage or PDDocInsertPages to add content to the created file Creating PDF Files from Multiple Files It is possible to use either a plug in IAC or JavaScript to dynamically add content from other sources into a new PDF file The sources may include files whose types conform to Multipurpose Internet Mail Extensions MIME type definitions Using Acrobat JavaScript To import an external f...

Page 46: ...s Extend PDF documents using Adobe Reader extensions Generating PDF Files Without Using Adobe Applications Some developers have successfully developed the capability of generating PDF from their own applications without using Adobe products Some of these developers have chosen to use Adobe s PDF Library product to extend their own application Others have built PDF generation capability into their ...

Page 47: ... Processes Opening PDF Documents Silently Adding Navigation to PDF Documents Manipulating Pages of a PDF File Creating and Editing Page Content Using Document Logical Structure Modifying PDF Documents in Other Ways Adding Watermarks Spell Checking Using Multimedia Interacting with OBDC Databases Printing PDF Files Working with Embedded Fonts Large Page Sizes in PDF Documents Wireframe Drawing ...

Page 48: ...Systems Incorporated does not provide support for editing the registry which contains critical system and application information It is recommended that you back up the registry before modifying it To modify the property list entry for Acrobat on a Macintosh use the property list file user library preferences com adobe acrobat pro7 0 plist and assign the value 1 to AVAlert Checkbox docNewerVersion...

Page 49: ... the Acrobat user interface or generated programmatically Typically a user created bookmark is used to move to another location in the current document although other actions can be specified such as opening a web link opening a file playing a sound or executing a JavaScript script Each bookmark in the bookmark tree structure has zero or more children that appear indented and zero or more siblings...

Page 50: ...e document to other electronic documents or to Web sites You can use links when you want to ensure that your reader has immediate access to related information You can also use links to initiate actions The Acrobat SDK provides support for the addition customization or removal of links within PDF documents These links may be used to access URLs file attachments or destinations within the document ...

Page 51: ...ages of a PDF File You can use the Acrobat SDK to insert or remove pages from a PDF document The following table shows the methods to use for each Acrobat SDK technology NOTE You can also access Acrobat JavaScript functionality using the JSObjectfrom an external application See Accessing the JSObject Interface on page 27 Acrobat JavaScript doc object method Core API method IAC method Windows Apple...

Page 52: ...F LIbrary API Overview Acrobat Distiller and PDFWriter create documents from PostScript or as output from a printer driver Non PDFEdit methods in the core API allow displaying and printing documents and provide the ability to rearrange pages and to add annotations However most of these manipulations are creation centered or only deal with objects at the page level and above PDFEdit methods on the ...

Page 53: ...ding to their context such as all of the headings or tables The extracted data can be used in different ways such as summarizing document information importing the data into another document or creating a new PDF document Adding Structure Data to a PDF Document Authoring applications create documents that can be converted to PDF When the document is converted to PDF and viewed Acrobat does not aut...

Page 54: ...equirements it is often necessary that a watermark be included on any printed pages of large documents To support this requirement there is a new type of object in a PDF similar to an Optional Content Group It is called a FixedPrint element and it prints at the same size and scale factor and in the same location on any printout or export as Postscript regardless of the settings used at print time ...

Page 55: ...ilable to plug ins and external applications but is not available using Acrobat JavaScript Check a text object and optionally receive a callback for each change as the user interacts with the Spell Check dialog box Count the words in a text buffer that are contained in each of a set of dictionaries Create a new custom user dictionary and add it to the list of available dictionaries Using Multimedi...

Page 56: ...e way that Acrobat Adobe Reader or your external application prints PDF files Customizing and Automating Printing Using any of the Acrobat technologies you can customize the way that a PDF document is printed Printing from Acrobat JavaScript Since printing involves sending pages to an output device there are many options that can affect print quality Acrobat JavaScript can be used to enhance and a...

Page 57: ...he Acrobat SDK Acrobat Distiller and the PDF Library add font embedding information to fonts that are embedded in PDF files With the inclusion of this information your code can determine how an embedded font can be used The operations discussed in this section also largely apply to code used with the PDF Library SDK Acrobat plug in developers can remove and embed fonts within an existing PDF docum...

Page 58: ... or other measurements The value of this scaling factor is per page and can be retrieved in a plug in using the PDPageGetUserUnitSizeAPI There are no Acrobat JavaScript APIs to access the unit size information Wireframe Drawing In order to improve the speed of drawing large and complex documents Acrobat has a new mode that only draws the strokes of objects as simple one unit lines as seen in the f...

Page 59: ...e appobject s AddMenuItem HideMenuItem and AddSubMenumethods Plug ins can access the methods of the AVMenuand AVMenuItemobjects With IAC OLE automation you can remove a menu item using the App MenuItemRemovemethod However you cannot use IAC to add a menu item Menu items added by plug ins can have shortcuts keyboard accelerators Acrobat and Adobe Reader do not ensure that plug ins add unique shortc...

Page 60: ...robat JavaScript Scripting Reference or the Acrobat Interapplication Communication Reference Adding Items to an Existing Toolbar You can add or remove buttons to the toolbar although the size and resolution of the user s monitor can limit the number of tool buttons that can be added From a plug in use the methods of the AVToolBarand AVToolButtonobjects From Acrobat JavaScript use the appobject s a...

Page 61: ...ogs are supported modal dialogs and modeless dialogs The latter dialogs float over the host application windows while the former are displayed and disappear upon conclusion of the user input With a modal dialog a user cannot work elsewhere in the application until the dialog is closed In both cases ADM supports a wide variety of control types including basic ones such as buttons and text and more ...

Page 62: ...ts ADM user interfaces are built from ADM user interface objects These objects include the dialog windows dialog objects and the dialog items item objects within the windows FIGURE 6 1 ADM Objects A plug in or application using ADM has access to standard ADM dialog types modal and non modal and items buttons and other user interface controls The user interface can be built using code or by using r...

Page 63: ...execDialog method is the Acrobat JavaScript method used to execute ADM dialogs The method requires a single parameter an object literal known as a dialog descriptor which contains properties and method handlers for all the dialog elements For more information see the Acrobat JavaScript Scripting Guide Using the ADM API from a Plug in Acrobat exposes ADM functionality to plug in developers This all...

Page 64: ...Preferencemethod to prevent the Acrobat or Adobe Reader About box and or splash screen from appearing before displaying the first document These changes take effect the next time Acrobat or Adobe Reader is launched Placing Plug in Help Files in a Standard Location The Helpdirectory that accompanies Acrobat or Adobe Reader provides a standardized location for your plug in help files AboutAcrobatPlu...

Page 65: ...gisterHowToPanelto register an HTML or XML file to appear in the How To panel AVAppAutoShowHowToPanelopens the How To panel and fills it with the specified panel s contents if that panel s AutoShow attribute is true You can toggle the AutoShow attribute using AVAppSetHowToPanelAutoShow There is no equivalent Acrobat JavaScript functionality For more information see the Acrobat and PDF LIbrary API ...

Page 66: ...Modifying the User Interface Customizing Acrobat Help 6 66 Acrobat SDK User s Guide ...

Page 67: ...it and work online with comments from the whole workgroup A central online comment repository for collecting and storing reviewer comments separate from the associated PDF document being reviewed Optionally depending on the complexity of the solution required a user interface to the review and comment workflow potentially including automated routing and notification implemented by the solution dev...

Page 68: ...rom a database update or insert new data and delete information See Interacting with OBDC Databases on page 54 for more information Set the comment repository preference To use Acrobat s collaborative review capabilities you must specify the type of comment repository to be used as well as its location Those preferences can be set manually or with Acrobat JavaScript placed in either the PDF docume...

Page 69: ...ts its associated object such as opening a pop up window displaying a text note or playing a sound or a movie You can access and manipulate annotation data from both a plug in and Acrobat JavaScript However you can only create new annotation types using a plug in or the IAC API you cannot create new annotation types from JavaScript Annotations and JavaScript You can set modify and access annotatio...

Page 70: ...ation Annotations and the IAC API You can use the AcroExch PDAnnotobject in the IAC API to set modify and access annotation information from external applications Creating New Annotation Types PDF supports many standard annotation types Your plug in can create new annotation types including any data they need For example a custom annotation type might allow a user to draw not just type in an annot...

Page 71: ...m a set of predefined stamps dynamically created using system and identity information or customized from PDF files or common graphic formats Using Acrobat JavaScript or a plug in you can apply any predefined or custom stamp However you cannot create custom stamps using the Acrobat SDK There is also no Acrobat SDK support for Hanko and Inkan stamps to support Japanese workflows These types of stam...

Page 72: ...Using Online Collaboration and Annotations Using Stamps in Approval Workflows 7 72 Acrobat SDK User s Guide ...

Page 73: ...stituents This chapter describes the central role that Acrobat and the Acrobat SDK play in XML based workflows This chapter consists of the following sections The Adobe XML Architecture Converting PDF Documents to XML Format Managing XML based Information The Adobe XML Architecture The Adobe XML architecture leverages the capabilities of XML and PDF to support a variety of business applications wh...

Page 74: ...ain visibility settings and can be used to spawn new pages containing identical sets of form controls to those defined within the template For more information see XML Form Templates on page 86 Extensible Metadata Platform XMP Adobe s Extensible Metadata Platform XMP is a labeling technology that allows you to embed metadata into the file itself With XMP desktop applications and back end publishin...

Page 75: ...d actions For more information see the Acrobat JavaScript Scripting Guide DNS Service Discovery If the exact URL for a given service is not known but it is available locally because it has been published using DNS Service Discovery DNS SD Acrobat JavaScript provides methods to locate the service on the network and bind to it for communications For more information see the Acrobat JavaScript Script...

Page 76: ...ables are used to control the conversion process for the SaveAsXML feature The Mapping Tables are a script of hierarchically organized directives written in a custom language defined in XML syntax This allows developers to create custom Mapping Tables for formats other than those provided in this package Overview of the SaveAsXML Process When the SaveAsXML plug in registers itself with Acrobat it ...

Page 77: ...e Using the SaveAsXML Plug in Managing XML based Information Acrobat JavaScript provides support for XML based information generated within workflows by providing an XML object which represents an XML document tree that can be manipulated via the XFA Data DOM For example it is possible to apply an XSL transformation to a node and its children For more information see the Acrobat JavaScript Scripti...

Page 78: ...XML and the Acrobat SDK Managing XML based Information 8 78 Acrobat SDK User s Guide ...

Page 79: ...ug ins and external applications In Acrobat 7 0 there is increased support for XML Forms which are based on the XML Forms Architecture XFA specification It is strongly recommended that new forms development be done using XML forms rather than Acrobat forms XML Forms A form is derived from a form design that you create using Adobe LiveCycle Designer The form design specifies a set of layout present...

Page 80: ...XML forms the content is defined after binding to a template This means that the following are possible Fields can be moved or resized Fields can automatically grow or shrink according to the amount of text added or removed As a field grows it can span multiple pages Repeating subforms can be spawned as needed and page contents will shift accordingly Elements on the page are shown or hidden as nee...

Page 81: ...from Completed Forms on page 85 Online Submit Forms submit form data to a web server much like forms on the Internet The user must be online to submit your information For more information see Collecting Data from Completed Forms on page 85 Elements of Acrobat Forms Acrobat offers several form field types for building and creating forms Button Check box Combo box Digital signature field Document m...

Page 82: ... you can manipulate form fields and form data from a plug in it is much quicker to develop Acrobat forms using Acrobat JavaScript Using the Acrobat SDK you can Create Adobe PDF forms from scratch or from a template Add or remove form fields Set form field properties Make forms web ready see XML Form Templates on page 86 Extract and export form data see Collecting Data from Completed Forms on page ...

Page 83: ...d value Other properties specify the appearance of a field Fields can be organized into a hierarchy and other field properties associate it with its parent and children OLE Automation for Acrobat Forms The Acrobat Forms plug in has been enhanced to work as an Automation server in the Win32 environment There is no equivalent support in a Mac environment OLE Automation is particularly useful for cre...

Page 84: ... SOAP and Web Services on page 74 XML Forms are particularly well suited for populating forms from an external database Creating Web Ready Forms Both Acrobat and XML forms can be used in workflows that require the exchange of information over the Web You can create forms that run in Web browsers and can submit and retrieve information between the client and server by making a Submit button availab...

Page 85: ...e file size to just the amount needed to store your data thus decreasing network traffic and processing time for the next step in the workflow For more information see the Acrobat JavaScript Scripting Guide Saving Data to a Microsoft Excel Spreadsheet Once you ve collected PDF form data in FDF or XML format from multiple users you can organize the form data into a comma delimited spreadsheet file ...

Page 86: ...n this context a Template is a named page within a PDF document that provides a convenient format to automatically generate and manipulate a large number of form fields These pages contain visibility settings and can be used to spawn new pages containing identical sets of form controls to those defined within the template For more information see the Acrobat JavaScript Scripting Guide ...

Page 87: ...boration This chapter consists of the following sections Additional Usage Rights Differences between Usage Rights and Reader Enabling Creating Rights enabled Documents Accessing Additional Usage Rights Applying and Validating Additional Usage Rights Effects of Reader Extensions on Acrobat Standard and Acrobat Professional Applying and Validating Additional Usage Rights Additional Usage Rights Addi...

Page 88: ...ent can only be submitted as a web form Information can be found at http partners adobe com asn Note that there is a fee to get the enabling key and that your plug in can only use a restricted set of APIs As with all plug ins reader enabled plug ins must be installed on each user s machine either through an installer or by the user and the plug in is then available to all PDF documents used on tha...

Page 89: ...finished working with the document those functions are disabled until the user receives another rights enabled PDF file One major advantage of Adobe LiveCycle Reader Extensions is that it supports data automation through XML based representation and transfer via SOAP ensuring seamless integration with business logic and advanced data transport capabilities available within enterprise applications ...

Page 90: ...the additional usage rights in a document under managed review before passing the document on to an Adobe Reader user for further commenting For complete details see the Acrobat JavaScript Scripting Guide and the Acrobat SDK Plug in Guide Enabling Collaboration By using Really Simple Syndication RSS collaboration servers can provide customized XML based user interfaces directly inside of Acrobat i...

Page 91: ...ormation on how to view or modify security using Acrobat 7 0 Professional or Acrobat 7 0 Standard see the online help for each product This chapter consists of the following sections Acrobat Security Overview Encryption and Decryption Digital IDs and Certificates Security Handlers Digitally Signing Adobe PDF Documents Security Policies Using eEnvelopes to Send Secure Files Document Rights Acrobat ...

Page 92: ...ed with others The public key certificate is used to encrypt scramble documents or to verify digital signatures and the digital ID is used to decrypt unscramble encrypted documents or to create digital signatures Digital IDs and Certificates A digital ID lets you create a digital signature or decrypt an encrypted PDF document A digital ID is sometimes referred to as a private key a credential or a...

Page 93: ...tificates is sometimes called a certificate authority or a signature handler Third party providers verify your identity issue the private key protect the public key and maintain system integrity You may want to obtain more than one digital ID if you sign documents in different roles or with different certification methods See http partners adobe com for information on using providers with advanced...

Page 94: ... Setting up a file s encryption and decryption keys Maintaining the encryption dictionary of the PDF file containing the document Security handlers are used when A document is opened the security handler must determine whether a user is authorized to open the file and set up the decryption key that is used to decrypt the PDF file A document is saved the security handler must set up the encryption ...

Page 95: ...c and DigSig For more information see the Acrobat and PDF Library API Overview and the Acrobat and PDF Library API Reference Security Handlers and Acrobat JavaScript SecurityHandlerobjects are used to access security handler capabilities such as signatures encryption and directories Different security handlers will have different properties and methods Individual SecurityHandlerobjects may or may ...

Page 96: ...have the option of certifying the document Certifying a document lets you attest to its contents and specify the types of changes allowed for the document to remain certified Changes to the document are detected in the Signatures tab Subsequent signatures to the document are called ordinary signatures To sign a document you must select a digital ID which contains the signature information that you...

Page 97: ...ot have expired or been revoked Using the Acrobat SDK you can validate a signature from a plug in from Acrobat JavaScript or from and external application using IAC Security Policies In Adobe Acrobat 7 0 you can save security settings as policies that you can reuse Security policies include the type of security encryption the permission settings and information about who can open the document or c...

Page 98: ...rowser Encrypting PDF Documents Using Security Policies Acrobat JavaScript provides objects for working with security policies There are no C APIs for manipulating security policies from a plug in For more information see the Acrobat JavaScript Scripting Guide Using eEnvelopes to Send Secure Files When adding security to a document you can choose to encrypt only the attachments The PDF document in...

Page 99: ...document you can invite Adobe Reader 7 0 users to participate in an email based document review Additional usage rights such as commenting rights are document specific and can be added to any PDF document except forms when you initiate an email based or browser based review For more information see Chapter 10 Rights enabled PDF Documents ...

Page 100: ...Providing Document Security Document Rights 11 100 Acrobat SDK User s Guide ...

Page 101: ...a Platform XMP The Adobe XMP Toolkit Searching Metadata Object Data Types of Metadata Metadata can be stored in a PDF document in either of the following ways In a document information dictionary associated with the document In a metadata stream associated with the document or a component of the document Metadata properties and values are represented in the World Wide Web Consortium s Resource Def...

Page 102: ...o derive a list of all metadata bearing document components from the PDF document itself PDF documents are often made available on the World Wide Web or in other environments where many tools routinely examine catalog and classify documents These tools should be able to understand the self contained description of the document even if they do not understand PDF Besides the usual entries common to ...

Page 103: ...cluded in the PDMetaDataCalls hheader file See the Acrobat API and PDF Library API Reference for more information on these APIs Acrobat Distiller and XMP Metadata Acrobat Distiller supports embedding of XMP metadata in PDF files in two ways First it always generates document level metadata This metadata is derived from the PostScript file and cannot be modified by the PostScript program To change ...

Page 104: ...roperty values as strings UtilityXAP has services that include conversion between integers and other types XMP metadata properties are organized by schemas In RDF the schema is defined by a namespace attribute Within each schema properties are named via a path string This path string has a very simple syntax which is modelled on the XPath standard The full XMP data model is supported including val...

Page 105: ...g PDF document you can use the PDSEditAPIs to create object data programatically from a plug in Searching and Accessing Object Data Beginning in Acrobat 7 0 you can access object data from a plug in and from Acrobat JavaScript From a plug in you use C APIs to Enumerate the PDSElementobjects in a document which have user properties associated with them Enumerate the object data associated with a PD...

Page 106: ...Working with Metadata Object Data 12 106 Acrobat SDK User s Guide ...

Page 107: ...o search The search interface allows searches to be performed on one or more of the available indexes You can control the list of active indexes The Acrobat Search plug in allows users to perform text searches in PDF documents It adds menus menu items toolbar buttons and a Search panel to the Acrobat or Adobe Reader You can communicate with the Search plug in via its plug in API via IAC DDE or App...

Page 108: ...exact phrase all words without regard to order any of the words You can also specify whether case and diacritical marks are used or ignored in the search Searching across Multiple Documents Using the Acrobat SDK you can search any of the following the active document a specified folder a specified index all active indices Replacing the Acrobat Search Plug in The Acrobat Search plug in provided wit...

Page 109: ...used to highlight search hits in the original PDF file The text extraction tools are provided as calls in the plug in API on the Acrobat platforms Mac OS and Windows You can extract ASCII text from a PDF file using a plug in or using Acrobat JavaScript You can also save the PDF document as text or rich text Indexing and Acrobat JavaScript It is possible to extend and customize indexes for multiple...

Page 110: ...Searching and Indexing Indexing PDF Documents 13 110 Acrobat SDK User s Guide ...

Page 111: ...lluminated character Specifying the expansion of abbreviations or acronyms The core of this support lies in the ability to determine the logical order of content in a PDF document independently of the content s appearance or layout through logical structure and tagged PDF documents see Creating Tagged PDF Documents on page 43 Tagged PDF documents are created using the Acrobat Professional user int...

Page 112: ...ic reference point in the same or another document see Adding and Managing Links on page 49 Add watermarks that optimize the accessibility of the PDF document see Manipulating Pages of a PDF File on page 50 Manipulate the tag structure tree using the PDSEditAPIs from a plug in see the Acrobat and PDF Library API Overview Making Forms Accessible The follwoing accessibility tips can make your forms ...

Page 113: ...lized interface between annotations and accessibility so that new and custom annotation types can be supported more easily and reliably A new callback function AVAnnotHandlerGetAccessibilityString has been added to the AVAnnotHandlerrecord Note that there is one annotation handler for each annotation type For more information see the Acrobat and PDF Library API Reference Tagged Annotations Annotat...

Page 114: ... such as a screen reader can interface with Acrobat through Microsoft s Active Accessibility MSAA interface using MSAA objects that Acrobat exports or directly through exported COM objects that allow access to the PDF s internal structure called the document object model or DOM Information about the underlying PDF structure is made available through direct COM objects that represent the PDF DOM Th...

Page 115: ... viewed or hidden Optional content became available in Acrobat 6 Note the following You can rename and merge layers change the properties of layers and add actions to layers You can also lock layers to prevent them from being hidden You can control the display of layers using the default and initial state settings For example if your document contains a copyright notice you can easily hide the lay...

Page 116: ...F through Acrobat Distiller Navigating with Layers Since information can be stored in different layers of a PDF document navigational controls can be customized within different layers whose visibility settings may be dynamically customized so that they are tied to context and user interaction For example if the user selects a given option a set of navigational links belonging to a corresponding o...

Page 117: ... made visible or invisible Any graphic content of the PDF can be made optional including page contents XObjects and annotations The specific content objects in the group have an OC entry in the PDF Using PDOCGmethods from a plug in you can Create a new OCG Get and set the current state of an OCG Get and set the initial OCG state Get and set document configurations For more information see the Acro...

Page 118: ...Working With PDF Layers Working with Layers from a Plug in 15 118 Acrobat SDK User s Guide ...

Page 119: ...Designer 79 84 89 Adobe LiveCycle Document Security 16 Adobe LiveCycle Forms 89 Adobe LiveCycle Reader Extensions 16 87 89 Adobe Policy Server 16 92 98 Adobe Reader enabling 88 Apple events Distiller 40 appModel 84 AS layer 24 attachments searching 108 author signature 97 Autodesk AutoCAD 37 AV layer 23 B barcode 84 bookmark 49 bookmarks searching 108 C Catalog 109 Catalog Plug in 24 109 CatalogJo...

Page 120: ...spelling 25 weblink 25 F FDF 68 85 footers 54 forms acrobat 80 Acrobat JavaScript 82 barcode fields 84 FDF 85 field types 81 guidelines 82 Microsoft Excel 85 OLE automation 83 plug in 83 populating 84 templates 86 web ready 84 workflows 81 XDP 85 XFDF 85 Forms API 83 Forms Plug in 24 H handlers security 94 Hanko stamp 71 headers 54 help files 64 Host Function Table HFT 24 hyperlinks 50 I IAC 30 DD...

Page 121: ...ting 51 inserting 51 moving 51 PD layer 23 PDDocCreate 45 PDDocPermRequest 89 PDF Browser Controls 30 PDF Consultant Plug in 24 PDF documents creating 37 printing 56 tagged 43 PDF printer 38 PDFEdit 23 52 samples 52 PDField 83 PDFMaker 37 pdfmark 39 41 44 pdfmarks 53 PDSEdit 23 53 112 Plug in 19 plug ins Adobe Reader enabled 21 certified 21 cross platform compatibility 32 installation 32 scope 32 ...

Page 122: ...53 111 tagged PDF documents 43 template 74 templates 86 text extraction 109 text to speech TTS engines 113 thumbnails 50 toolbar 49 U Unix 19 usage rights 21 87 effects 90 user interface about box and splash screen 64 help files 64 menus and menu items 59 toolbar 49 V Visual Studio NET 2003 22 W watermarks 54 Weblink Plug in 25 workflows forms 81 X XDP 85 XFDF 85 XML 73 architecture 73 templates 7...

Reviews: