Acrobat and PDFL Developer Guides
Acrobat-PDFL SDK Documentation
  • Acrobat and PDFL SDK Documentation
    • Master search and TOC
    • Documentation
    • Related specifications
      • PDF Reference
      • Other formats
      • 12.x Legacy docs
      • 11.x and earlier documentation
  • Acrobat-PDFL SDK: Overview
    • Acrobat-PDFL SDK: Overview
      • Developer support
      • Licensing and distribution
        • Acrobat Reader
        • Additional resources
        • Technical and licensing limitations
      • Samples provided with the Acrobat SDK
      • Developing for Acrobat Reader
        • Acrobat vs. Reader
        • Acrobat Reader plug-in guidelines
        • Reader enabled plugins
      • SDK technologies and options
        • JavaScript
        • Plug-ins
        • JavaScript vs. plugins: pros and cons
        • Interapplication communication
        • Viewing PDF documents from an external application
        • Controlling Acrobat from an external application
        • Adobe PDF Library
    • Sandbox Broker Extensibility
      • Extending broker APIs at run time
      • Components
        • Plugin (PI)
        • Sandbox process
        • Broker process (The broker process running with full rights)
        • Plugin broker (The plugin broker process that extends the broker APIs at runtime)
        • SandboxHFT (Public HFT provided by sandbox for broker extensibility)
        • IPC channel between plugin and plugin broker, 1->6->4
        • simple-ipc-lib and SandboxPISDK
        • Building a plug-in
        • Building a plugin’s broker process
      • Handshake between plugin and plugin broker
      • Implement CrossCalls (make calls from plug-in to plug-in’s broker process)
        • Changes required in the plugin (client)
        • Changes required in the plugin’s broker (server)
    • PDF File Creation
      • Creating PDF files from an authoring application
        • Acrobat Distiller
        • Automated creation of PDF documents from Windows
        • Automatic generation of advanced Acrobat features
        • Attaching a native document to a PDF file
        • Batch processing with Distiller
        • Tagged PDF documents
      • Creating PDF files using plug-ins or JavaScript
        • Empty PDF files
        • PDF files from multiple files
      • Creating PDF files without using Acrobat
    • Working with PDF Features
      • Navigation in PDF documents
        • Bookmarks
        • Thumbnails
        • Links
        • Actions for special effects
      • PDF page manipulation
        • Page content
        • Document logical structure
        • Other ways of modifying PDF documents
      • Watermarks
      • Spell-checking
      • Multimedia
      • Printing PDF files
      • Embedded fonts
    • User Interface Modifications
      • Menu items and menus
        • Menu items
        • Menus
      • Toolbars
        • Items on a toolbar
        • Toolbar creation
      • Customization of Acrobat Help
        • About dialog box and splash screen
        • Plug-in help files
    • Annotations and Online Collaboration
      • About annotations
        • Annotations and JavaScript
        • Annotations with plug-ins or IAC
      • New annotation types
    • XML and the Acrobat SDK
      • Adobe XML architecture
        • XML forms model
        • XML templates
        • Extensible Metadata Platform
      • SOAP and web services
      • Conversion of PDF documents to XML format
      • XML-based information
    • Forms and the Acrobat SDK
      • Workflows for forms
      • About XML forms
      • About Acrobat forms
        • Forms API
        • OLE automation
    • Metadata, Accessibility, and PDF Layers
      • Metadata
        • Extensible Metadata Platform (XMP)
        • Adobe XMP Toolkit
      • Accessibility
      • PDF layers
        • Creation of layered PDF files
        • What you can do with layers
    • Searching and Indexing
      • Search plug-in
      • Indexes and the Catalog plug-in
    • Frequently Asked Questions
      • Forms
        • What are the requirements for using Acrobat forms?
        • What is the FDF Toolkit?
      • PDF documents
        • What ActiveX solutions are available?
        • Visual Basic .NET and Visual C# .NET
        • What API methods are available to modify PDF documents?
        • Can I modify PDFs without a C programming background?
        • How can I extract text?
        • How can I display a PDF in an external application window?
        • Using Acrobat to view PDFs in your own application
        • Are multibyte font PDF documents supported by the Acrobat SDK?
        • How are security and encryption provided in PDFs?
      • Full-text search
        • What tools are available with Acrobat for full-text search?
        • What tools are available for extracting and highlighting text?
        • How do I communicate with the Acrobat Search plug-in?
        • How do I create custom DocInfo fields for searching?
      • How do I use the Windows command line?
      • How can I customize the Acrobat installer?
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Plugin Development
    • Acrobat-PDFL SDK: Developing Plugins
      • About plugins
      • About the Acrobat core API
        • Acrobat Viewer layer
        • Portable Document layer
        • Acrobat Support layer
        • Cos layer
        • Platform-specific methods
      • Acrobat core API objects
        • File object interrelationships
        • Document object interrelationships
      • Acrobat core API methods
      • Data types
        • Scalar types
        • Simple types
        • Complex types
        • Opaque types
        • Cos types
      • About PDF Library and plugin applications
        • Manipulating Acrobat and Adobe Reader
        • Displaying a PDF document in an external window
        • Indexed searching
        • Modifying file access
        • Creating new annotation types
        • Dynamically adding text to PDF documents
      • Understanding your target application
        • Rights-enabled PDF documents
        • Adobe Reader plugins
      • Registering plugins for use by the plugin finder
        • PDF dictionary extensions
    • Understanding Plugins
      • Plugin loading and initialization
        • Handshaking
        • Exporting HFTs
        • Importing HFTs and registering for notifications
        • Initialization
        • Unloading
        • Summarizing a plugin’s life cycle
      • Using callback functions
      • Notifications
      • Handling events
        • Mouse clicks
        • Adjust cursor
        • Key presses
      • Using plugin prefixes
        • Obtaining a developer PDF name prefix
        • Using a developer prefix
      • Modifying the Acrobat or Adobe Reader user interface
        • Adding or removing menus and menu items
        • Modifying toolbars
        • Controlling the About box and splash screen
        • Creating help files
        • User interface guidelines
      • Acquiring and releasing objects
      • Debugging plugins
      • Page view layers
      • Minimizing screen redrawing
      • Storing private data in PDF files
      • Exporting data from PDF document objects
    • Creating Plugin and PDF Library Applications
      • Working with platform-specific techniques
        • About platform-dependent data
        • Portability techniques
        • Windows techniques
        • Mac OS techniques
      • Creating a sample plugin
        • Including Acrobat SDK library files
        • Adding the PIMain source file
        • Adding application logic
        • Compiling and building your plugin
      • Creating a sample PDF Library application
        • Contents of the PDF Library SDK
        • Developing applications with the Adobe PDF Library
        • Initialization and termination
        • Multithreading
      • Upgrading existing plugins
        • Detecting supported APIs
      • Migrating PDFL apps to Xcode
    • Inserting Text into PDF Documents
      • Creating a new PDF document
      • Creating a new page
      • Creating a container
      • Acquiring fonts
      • Creating a PDEGraphicState object
      • Creating an ASFixedMatrix object
      • Inserting text
      • Saving the PDF document
      • Examining a PDFL app source file
    • Working with Documents and Files
      • Opening PDF documents
      • Opening a PDF in an external window
        • Creating a Window
        • Defining the parameters for an external window
        • Creating a handler for an external window
        • Displaying an open dialog box
        • Displaying a PDF in a window
      • Determining the PDF version
        • PDF version
        • PDF version extensions
        • Setting the extension level of a document
        • Getting the extension level of a document
      • Bridging core API layers
        • Creating a PDDoc object
        • Creating a PDDoc object for an open PDF
        • Accessing non-PDF files
      • Printing documents
      • Working with the PDF/X format
    • Creating Menus and Menu Commands
      • About menus
        • About AVmenubar typedefs
        • About AVMenu typedefs
        • About AVMenuItem typedefs
      • Adding menu commands to menus
        • Adding a menu command to an existing menu
        • Adding a menu command to a new menu
      • Creating menu callback functions
      • Determining if a menu item can be executed
    • Creating Toolbars and Buttons
      • About toolbars
        • About AVToolBar typedefs
        • About AVToolButton typedefs
      • Retrieving toolbars
      • Creating toolbar buttons
        • Setting help text for a button
        • Setting label text
        • Creating a sub-menu for a button
      • Retrieving existing toolbar buttons
      • Attaching a button to a toolbar
      • Exposing a button in a web browser
      • Removing a button from a toolbar
      • Creating toolbar button callback functions
    • Creating Annotations
      • Working with text annotations
        • Creating text annotations
        • Retrieving existing annotations
        • Modifying text annotations
      • Working with redaction annotations
        • Creating a redaction annotation
        • Modifying an existing redaction annotation
        • Applying redaction annotations (removing redacted content)
    • Working with Bookmarks
      • About bookmarks
      • Creating bookmarks
        • Defining bookmark actions
        • Removing bookmark actions
        • Opening and closing bookmarks
      • Retrieving bookmarks
        • Retrieving the root bookmark
        • Retrieving a specific bookmark
        • Retrieving all bookmarks
      • Deleting bookmarks
    • Working with Page Views and Contents
      • About page coordinates
      • About page views
      • Displaying page views
      • Modifying page contents
        • Creating a PDEContent object
        • Accessing page contents
        • Determining page element types
        • Modifying text elements
    • Working with Words
      • About searching for words
        • About PDWord typedefs
        • About PDWordFinder typedefs
      • Creating a PDWordFinder object
      • Extracting and displaying words
      • Highlighting words
    • Creating Handlers
      • About handlers
      • Action handlers
      • Annotation handlers
      • AVCommand handlers
        • Creating an AVCommand handler
        • Invoking AVCommands
        • Configuring AVCommands
        • Running commands
        • Exposing AVCommands to the batch framework
      • File format conversion handlers
      • File specification handlers
      • Selection servers
      • Tool callbacks
      • Window handlers
      • File systems
      • Progress monitors
      • Transition handlers
      • Adding message handling
    • Registering for Event Notifications
      • Registering event notifications
      • Unregistering event notifications
    • Working with Document Security
      • About document security
      • About security handlers
        • Adding a security handler
        • Opening a secured file
        • Saving a secured file
      • Setting security for a document
        • Saving a file with an encryption dictionary
        • Opening an encrypted file
    • Working with Unicode Paths
      • About Unicode paths
      • Creating Unicode file path application logic
      • Retrieving Unicode path values
        • Creating an ASFileSys object
        • Creating an ASFileSys object that supports Unicode paths
    • Working with Host Function Tables
      • About host function tables
      • Exporting host function tables
        • Creating HFT methods
        • Creating HFT method definitions
        • Creating HFT callback functions
        • Creating new Host Function Tables
        • Examining HFT header and source files
      • Importing an existing HFT
      • Invoking HFT methods
      • Replacing HFT methods
      • Migrating non-HFT PDF Library applications to HFT applications
    • Working with Cos Objects
      • About Cos objects
        • About direct and indirect objects
        • About Cos object types
      • Working with Cos strings
        • Creating Cos strings
        • Retrieving the string value
      • Working with Cos arrays
        • Creating Cos arrays
        • Retrieving Cos array values
      • Working with Cos dictionaries
        • Creating Cos dictionaries
        • Retrieving values from a Cos dictionary
        • Querying a Cos dictionary for a key
      • Working with Cos names
        • Creating Cos names
        • Retrieving the value of a name object
      • Working with Cos streams
        • Creating Cos streams
        • Populating a PDF with a content stream
    • Working with 3D Annotations
      • Creating 3D annotations
      • Adding 3D data to an annotation
        • Creating the 3D annotation dictionary entries
        • Specifying the 3D stream
        • Setting the default view
        • Setting the annotation appearance
        • Setting the activation dictionary
    • Parsing and Creating PRC Files
      • Working with the Acrobat 3D API
        • Versions
        • Compatibility with different PRC format versions
        • Compatibility between the Acrobat 3D Library and the Acrobat 3D API
        • Requirements
        • Data types, naming conventions, and character encoding
        • Structured and recursive nature of PRC parsing
      • Implementing external linking in your plugin
        • Implementing external linking
      • Parsing a PRC file
        • Handling errors
        • Copying the embedded PRC file to a separate file
        • Initializing the Acrobat 3D API
        • Parsing structure PRC entities
        • Parsing tessellation PRC entities
        • Parsing topology PRC entities
        • Parsing PRC entities that specify graphics
        • Parsing attributes that appear in an entity base
        • Terminating the interface with the Acrobat 3D API
      • Creating a PRC file that uses boundary representation
        • Error handling
        • Creating a model file entity and exporting it to a physical file
        • Creating structure PRC entities
        • Creating representation item PRC entities
        • Creating topology PRC entities
        • Creating geometry PRC entities
        • Defining root-level attributes for a PRC entity
        • Creating a 3D annotation that references the PRC file
      • Creating a tessellation entity for representing faceted objects
        • Create the tessellation base data
        • Create the tessellation facet data
    • Handling Exceptions
      • Creating exception handlers
      • Returning a value from an exception handler
      • Raising exceptions
      • Exception handling scenarios
        • Using goto statements
        • Using nested exception handlers
        • Using register variables
    • Working with Acrobat Extended APIs
      • Search extended API
      • Catalog extended API
      • PDF Consultant and Accessibility Checker extended API
        • Acrobat agents
        • Reclassifying and revisiting
        • Agent architecture
        • How the consultant works
        • Important issues for consultant development
        • Importing the consultant HFTs into a plugin
        • Creating and destroying consultants
        • Registering agents with consultants
        • Starting the consultant
        • Consultant object type identification
        • Creating an agent class
        • Creating agent constructors
        • Recognizing objects of interest
        • Post processing stage
      • Digital signature extended API
        • The PubSec layer
        • Digital signature components
        • Digital signature scenarios
        • Initializing the digital signature plugin
        • Understanding the process
      • Forms extended API
      • Weblink extended API
        • Weblink services
        • Writing a custom driver
      • Spelling extended API
      • AcroColor extended API
        • Color conversion operations
      • PDF Optimizer API
    • Creating an Adobe Reader Plugin
      • Configuring preprocessor definitions
      • Creating the public and private key pairs
      • Enabling the plugin for Adobe Reader
        • Plugin to be Notarized on MacOS
      • Troubleshooting an Adobe Reader plugin
        • Plugin appears to be ignored by Adobe Reader
        • Adobe Reader error messages
    • Reader Plugins
      • Reader enablement
      • APIs available for Adobe Reader
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Interapplication Communication
    • Developing for Interapplication Communication
      • About the API object layers
        • Object reference syntax
        • Objects in the Acrobat application layer
        • Objects in the portable document layer
      • Plugins for extending the IAC interfaces
      • Developing for Acrobat Reader
      • DDE messages
      • Apple events
    • Using OLE
      • OLE capabilities in Acrobat
        • On-screen rendering
        • Remote control of Acrobat
        • PDF browser controls
      • Development environment considerations
        • Environment configuration
        • Necessary C knowledge
      • Using the Acrobat OLE interfaces
        • About the CAcro classes
        • About the COleDispatchDriver class
        • Using COleDispatchDriver objects and methods
      • Using the JSObject interface
        • Adding a reference to the Acrobat type library
        • Creating a simple application
        • Working with annotations
        • Spell-checking a document
        • Tips for translating JavaScript to JSObject
      • Other development topics
        • Synchronous messaging
        • MDI applications
        • Event handling in child windows
        • Determining if an Acrobat application is running
        • Exiting from an application
      • Summary of OLE objects and methods
    • Using DDE
    • Using Apple Events
    • OLE Automation
      • AcroExch.App
        • Methods
        • CloseAllDocs
        • Exit
        • GetActiveDoc
        • GetActiveTool
        • GetAVDoc
        • GetFrame
        • GetInterface
        • GetLanguage
        • GetNumAVDocs
        • GetPreferenceEx
        • Hide
        • Lock
        • Minimize
        • Maximize
        • MenuItemExecute
        • MenuItemIsEnabled
        • MenuItemIsMarked
        • MenuItemRemove
        • Restore
        • SetActiveTool
        • SetFrame
        • SetPreference
        • SetPreferenceEx
        • Show
        • ToolButtonIsEnabled
        • ToolButtonRemove
        • Unlock
        • UnlockEx
      • AcroExch.AVDoc
        • Methods
        • BringToFront
        • ClearSelection
        • Close
        • FindText
        • GetAVPageView
        • GetFrame
        • GetPDDoc
        • GetTitle
        • GetViewMode
        • IsValid
        • Maximize
        • Open
        • OpenInWindow
        • OpenInWindowEx
        • PrintPages
        • PrintPagesEx
        • PrintPagesSilent
        • PrintPagesSilentEx
        • SetFrame
        • SetTextSelection
        • SetTitle
        • SetViewMode
        • ShowTextSelect
      • AcroExch.AVPageView
        • Methods
        • DevicePointToPage
        • DoGoBack
        • DoGoForward
        • GetAperture
        • GetAVDoc
        • GetDoc
        • GetPage
        • GetPageNum
        • GetZoom
        • GetZoomType
        • Goto
        • PointToDevice
        • ReadPageDown
        • ReadPageUp
        • ScrollTo
        • ZoomTo
      • AcroExch.HiliteList
        • Add
      • AcroExch.PDAnnot
        • Methods
        • GetColor
        • GetContents
        • GetDate
        • GetRect
        • GetSubtype
        • GetTitle
        • IsEqual
        • IsOpen
        • IsValid
        • Perform
        • SetColor
        • SetContents
        • SetDate
        • SetOpen
        • SetRect
        • SetTitle
      • AcroExch.PDBookmark
        • Methods
        • Destroy
        • GetByTitle
        • GetTitle
        • IsValid
        • Perform
        • SetTitle
      • AcroExch.PDDoc
        • Methods
        • AcquirePage
        • ClearFlags
        • Close
        • Create
        • CreateTextSelect
        • CreateThumbs
        • CropPages
        • DeletePages
        • DeleteThumbs
        • GetFileName
        • GetFlags
        • GetInfo
        • GetInstanceID
        • GetJSObject
        • GetNumPages
        • GetPageMode
        • GetPermanentID
        • InsertPages
        • MovePage
        • Open
        • OpenAVDoc
        • ReplacePages
        • Save
        • SetFlags
        • SetInfo
      • AcroExch.PDPage
        • Methods
        • AddAnnot
        • AddNewAnnot
        • CopyToClipboard
        • CreatePageHilite
        • CreateWordHilite
        • CropPage
        • Draw
        • DrawEx
        • GetAnnot
        • GetAnnotIndex
        • GetDoc
        • GetNumAnnots
        • GetNumber
        • GetRotate
        • GetSize
        • RemoveAnnot
        • SetRotate
      • AcroExch.PDTextSelect
        • Methods
        • Destroy
        • GetBoundingRect
        • GetNumText
        • GetPage
        • GetText
      • AcroExch.Point
        • X
        • Y
      • AcroExch.Rect
        • Bottom
        • Left
        • Right
        • Top
      • AcroExch.Time
        • Date
        • Hour
        • Millisecond
        • Minute
        • Month
        • Second
        • Year
      • AxAcroPDFLib.AxAcroPDF
        • Methods
        • GetVersions
        • 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
        • Src
    • DDE Messages
      • AppExit
      • AppHide
      • AppShow
      • CloseAllDocs
      • DocClose
      • DocDeletePages
      • DocFind
      • DocGoTo
      • DocGoToNameDest
      • DocInsertPages
      • DocOpen
      • DocPageDown
      • DocPageLeft
      • DocPageRight
      • DocPageUp
      • DocPrint
      • DocReplacePages
      • DocSave
      • DocSaveAs
      • DocScrollTo
      • DocSetViewMode
      • DocZoomTo
      • FileOpen
      • FileOpenEx
      • FilePrint
      • FilePrintEx
      • FilePrintSilent
      • FilePrintSilentEx
      • FilePrintTo
      • FilePrintToEx
      • FullMenus
      • HideToolbar
      • MenuitemExecute
      • ShortMenus
      • ShowToolbar
    • Apple Event Objects and Apple Events
      • Objects
        • annotation
        • application
        • AVPageView
        • bookmark
        • conversion
        • EPS Conversion
        • Link Annotation
        • menu
        • menu item
        • PDAnnot
        • PDBookMark
        • PDLinkAnnot
        • PDPage
        • PDTextAnnot
        • PDF Window
        • PostScript Conversion
        • Text Annotation
      • Required suite events
        • open
        • print
        • quit
        • run
      • Core suite events
        • close
        • count
        • delete
        • exists
        • get
        • make
        • move
        • open
        • quit
        • save
        • set
      • Acrobat application events
        • bring to front
        • clear selection
        • close all docs
        • create thumbs
        • delete pages
        • delete thumbs
        • execute
        • find next note
        • find text
        • get info
        • go backward
        • go forward
        • goto
        • goto next
        • goto previous
        • insert pages
        • is toolbutton enabled
        • maximize
        • perform
        • print pages
        • read page down
        • read page up
        • remove toolbutton
        • replace pages
        • scroll
        • select text
        • set info
        • zoom
      • Miscellaneous events
        • do script
    • Acrobat Catalog Plug-In
      • Catalog Windows messages
      • Catalog DDE methods
        • AppExit
        • AppFront
        • FileBuild
        • FileOpen
        • FilePurge
    • Acrobat Forms Plug-In
      • Forms plug-in OLE automation
      • AFormApp
      • Field
        • Methods
        • PopulateListOrComboBox
        • SetBackgroundColor
        • SetBorderColor
        • SetButtonCaption
        • SetButtonIcon
        • SetExportValues
        • SetForegroundColor
        • SetJavaScriptAction
        • SetResetFormAction
        • SetSubmitFormAction
        • Properties
        • Alignment
        • BorderStyle
        • BorderWidth
        • ButtonLayout
        • CalcOrderIndex
        • CharLimit
        • DefaultValue
        • Editable
        • Highlight
        • IsHidden
        • IsMultiline
        • IsPassword
        • IsReadOnly
        • IsRequired
        • IsTerminal
        • Name
        • NoViewFlag
        • PrintFlag
        • Style
        • TextFont
        • TextSize
        • Type
        • Value
      • Fields
        • Methods
        • Add
        • AddDocJavascript
        • ExecuteThisJavascript
        • ExportAsFDF
        • ExportAsHtml
        • ImportAnFDF
        • Remove
        • Properties
        • Count
        • Item
        • _NewEnum
    • Acrobat Search Plug-in
      • Search plug-in using DDE
        • Simple query item
        • Query item
        • Query options
        • Query language type constants
        • Word option bit-flag constants
        • Manipulating indexes through DDE
        • Options
        • Index operation selectors
      • Search plug-in using Apple events
        • SearchAddIndex
        • SearchCountIndexList
        • SearchDoQuery
        • Word options for Apple events
        • SearchGetIndexByPath
        • SearchGetIndexFlags
        • SearchGetIndexList
        • SearchGetIndexPath
        • SearchGetIndexTitle
        • SearchGetNthIndex
        • SearchRemoveIndex
        • SearchSetIndexFlags
      • Search lists
        • Menu item names
        • Toolbar button names
    • Coordinate Systems
      • User space
      • Device space
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: JavaScript APIs
    • Acrobat JavaScript API Reference
      • Version compatibility
      • Overview
      • Syntax
        • Method arguments
        • Parameter help
      • Paths
        • Safe path
      • Privileged context
      • Privileged versus non-privileged context
      • User preferences
      • Table quick key
      • Domain names in code samples
    • Changes Across Versions
      • Acrobat XI changes
        • Changes to PrintParams object
      • Acrobat X changes
        • New JavaScript version
        • Impact of Acrobat menu restructuring on JavaScript APIs
        • New util method
        • Changes to search object
        • Changes to SearchExecuteQuery
        • Function SearchIsLegacySearchAvailable deprecated
        • Enhancements to PDFOptPDFVersion
        • Enhancements to Doc object
        • Signature support for Emerging PAdES ETSI ESI standard
        • ADBC Support Removed from Documentation
      • Acrobat 9.0 changes
      • Acrobat 8.1 changes
      • Acrobat 8.0 changes
      • Acrobat 7.0.5 changes
      • Acrobat 7.0 changes
        • Introduced in Acrobat 7.0
        • Modified in Acrobat 7.0
      • Acrobat 6.0 changes
        • Introduced in Acrobat 6.0
        • Modified in Acrobat 6.0
        • Deprecated in Acrobat 6.0
        • Introduced in Acrobat 6.0.2
      • Acrobat 5.0 changes
        • Introduced in Acrobat 5.0
        • Modified in Acrobat 5.0
        • Deprecated in Acrobat 5.0
        • Modified in Acrobat 5.05
        • Modified in Adobe Reader 5.1
    • JavaScript APIs
      • Alerter
        • Alerter methods
      • AlternatePresentation
        • AlternatePresentation properties
        • AlternatePresentation methods
      • annotAttachment
        • annotAttachment properties
      • Annotation
        • Annotation types
        • Annotation properties
        • Annotation methods
      • AnnotRichMedia
        • AnnotRichMedia properties
        • AnnotRichMedia methods
      • Annot3D
        • Annot3D properties
      • app
        • app properties
        • app methods
      • app.media
        • app.media properties
        • app.media methods
      • Bookmark
        • Bookmark properties
        • Bookmark methods
      • catalog
        • catalog properties
        • catalog methods
      • CatalogJob
        • CatalogJob properties
      • Certificate
        • Certificate properties
      • Collab
        • Collab methods
      • color
        • Color arrays
        • color properties
        • color methods
      • colorConvertAction
        • colorConvertAction properties
      • Collection
        • Collection properties
        • Collection methods
      • collectionField
        • collectionField properties
      • Column
        • Column properties
      • ColumnInfo
        • ColumnInfo properties
      • console
        • console methods
      • Data
        • Data properties
        • Data methods
      • DataSourceInfo
        • DataSourceInfo properties
      • dbg
        • dbg properties
        • dbg methods
      • Dialog
        • Dialog methods
      • DirConnection
        • DirConnection properties
        • DirConnection methods
      • Directory
        • Directory properties
        • Directory methods
      • Embedded PDF
        • Embedded PDF properties
        • Embedded PDF methods
      • Error
        • Error properties
        • Error methods
      • event
        • Event type/name combinations
        • Document Event Processing
        • Form event processing
        • Multimedia event processing
        • event properties
      • EventListener
        • EventListener methods
      • Events
        • Events methods
      • FDF
        • FDF properties
        • FDF methods
      • Field
        • Field versus widget attributes
        • Field properties
        • Field methods
      • FullScreen
        • FullScreen properties
      • global
        • Creating global properties
        • Deleting global properties
        • Global object security policy
        • global methods
      • HostContainer
        • HostContainer properties
        • HostContainer methods
      • Icon
      • Icon Stream
      • identity
        • identity properties
      • Index
        • Index properties
        • Index methods
      • Link
        • Link properties
        • Link methods
      • Monitor
        • Monitor properties
      • Monitors
        • Monitors methods
      • Net
        • Net properties
        • Net methods
      • Net.HTTP
        • Net.HTTP methods
      • OCG
        • OCG properties
        • OCG methods
        • PlayerInfo properties
        • PlayerInfo methods
      • PlayerInfoList
        • PlayerInfoList methods
      • PlugIn
        • PlugIn properties
      • PrintParams
        • PrintParams properties
      • RDN
      • ReadStream
      • Rendition
        • Rendition properties
        • Rendition methods
      • Report
        • Report properties
        • Report methods
      • Row
      • ScreenAnnot
        • ScreenAnnot properties
        • ScreenAnnot methods
      • search
        • search properties
        • search methods
      • security
        • security constants
        • security properties
        • security methods
      • SecurityHandler
        • SecurityHandler properties
        • SecurityHandler methods
      • SecurityPolicy
        • SecurityPolicy properties
      • SignatureInfo
        • SignatureInfo properties
      • SOAP
        • SOAP properties
        • SOAP methods
      • Sound
        • Sound properties
        • Sound methods
      • Span
        • Span properties
      • spell
        • spell properties
        • spell methods
      • TableInfo
      • Template
        • Template properties
        • Template methods
      • Thermometer
        • Thermometer properties
        • Thermometer methods
      • this
      • TTS
        • TTS properties
        • TTS methods
      • util
        • util methods
      • XFA
      • XMLData
        • XMLData methods
    • Doc and Doc.Media APIs
      • Doc
        • Doc properties
        • Doc methods
      • Doc.media
        • Doc.media properties
        • Doc.media methods
    • Preflight APIs
      • Preflight
        • Preflight methods
      • PreflightAuditTrail
        • PreflightAuditTrail properties
      • PreflightProfile
        • PreflightProfile properties
        • PreflightProfile methods
      • PreflightResult
        • PreflightResult properties
        • PreflightResult methods
    • Media and Marker APIs
      • Marker
        • Marker properties
      • Markers
        • Markers properties
        • Markers methods
      • MediaOffset
        • MediaOffset properties
      • MediaPlayer
        • MediaPlayer properties
        • MediaPlayer methods
      • MediaReject
        • MediaReject properties
      • MediaSelection
        • MediaSelection properties
      • MediaSettings
        • MediaSettings properties
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Samples Guide
    • Acrobat SDK: Samples Guide
      • Plugin Samples
        • BasicPlugin
        • BatesNumbering
        • CapiSamples
        • DdeServer
        • DMSIntegration
        • DocSign
        • Embed3DData
        • RplcFileSystem
        • SampleExtn
        • SelectionServer
        • Snippet Runner
        • Stamper
        • Starter
        • UncompressPDF
        • WeblinkDemo
        • wxPlugin
        • CustomTool
      • JavaScript Samples
        • JavaScript Samples Portfolio
        • AddSignature
        • AddToolbarButton
        • AnnotatedWords
        • AnnotSample
        • CallMediaActionScript
        • ConvertDate
        • DeleteNoCommentPages
        • EventState
        • GoToBookmark
        • JSCollection
        • JSCollectionDemo
        • OCGLayerControl
        • PresentationMonitor
        • PresentationNote
        • RunMediaPlayers
        • ScriptEvents
        • SilentPrint
        • StoreFormData
        • TextExtract
        • TwoPartInvention
      • Mac OS - Interapplication Communications
        • DistillerControl
        • ObjectProperties
        • PrintPage
        • RotatePages
        • SelectText
        • WatermarkJsoAS
      • Windows - Interapplication Communications
        • AcrobatActiveXVB
        • AcroPDFInHTML
        • ActiveViewVB
        • ActiveViewVC
        • AdobePDFSilentVB
        • BasicIacCS
        • BasicIacJsoVB
        • BasicIacOCXCS
        • BasicIACVB
        • BasicIacVC
        • DdeOpenVC
        • DistillerCtrlVB
        • DistillerCtrlVC
        • DistillerCtrlWMVC
        • ExecuteScriptIacVB
        • FillFormCS
        • FormsAutomationVB
        • JSObjectAccessVB
        • JSObjectControlCS
        • JSOFindWordVB
        • RemoteControlAcrobatVC
        • SearchPdfVB
        • StaticViewVB
        • StaticViewVC
        • WatermarkJsoVB
      • Tools
        • Plugin Wizard
        • ShowPermissions
      • Master Doc Search and TOC
    • Plugin Samples
      • BasicPlugin
      • BatesNumbering
      • CapiSamples
      • DdeServer
        • Limitations
      • DMSIntegration
      • DocSign
      • Embed3DData
      • RplcFileSystem
      • SampleExtn
      • SelectionServer
      • Snippet Runner
      • Stamper
      • Starter
      • UncompressPDF
      • WeblinkDemo
      • wxPlugin
      • CustomTool
    • JavaScript Samples
      • JavaScript Samples Portfolio
      • AddSignature
      • AddToolbarButton
      • AnnotatedWords
      • AnnotSample
      • CallMediaActionScript
      • ConvertDate
      • DeleteNoCommentPages
      • EventState
      • GoToBookmark
      • JSCollection
      • JSCollectionDemo
      • OCGLayerControl
      • PresentationMonitor
      • PresentationNote
      • RunMediaPlayers
      • ScriptEvents
      • SilentPrint
      • StoreFormData
      • TextExtract
      • TwoPartInvention
    • Mac OS - Interapplication Communications
      • DistillerControl
      • ObjectProperties
      • PrintPage
      • RotatePages
      • SelectText
      • WatermarkJsoAS
    • Windows - Interapplication Communications
      • AcrobatActiveXVB
      • AcroPDFInHTML
      • ActiveViewVB
      • ActiveViewVC
      • AdobePDFSilentVB
      • BasicIacCS
      • BasicIacJsoVB
      • BasicIacOCXCS
      • BasicIACVB
      • BasicIacVC
      • DdeOpenVC
      • DistillerCtrlVB
      • DistillerCtrlVC
      • DistillerCtrlWMVC
      • ExecuteScriptIacVB
      • FillFormCS
      • FormsAutomationVB
      • JSObjectAccessVB
      • JSObjectControlCS
      • JSOFindWordVB
      • RemoteControlAcrobatVC
      • SearchPdfVB
      • StaticViewVB
      • StaticViewVC
      • WatermarkJsoVB
    • Tools
      • Plugin Wizard
        • Limitations
      • ShowPermissions
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Accessibility
    • Acrobat-PDFL SDK: Accessibility
      • Determining rendering order and logical order
        • Accessing documents and pages
      • Processing inaccessible documents
        • Processing protected documents
        • Processing empty documents
        • Processing unavailable documents
      • Handling event notifications
        • Retrieving an MSAA object for an event
        • Retrieving a PDF DOM object for an event
    • Reading PDF Files Through MSAA
      • Acrobat implementation of IAccessible objects
      • IGetPDDomNode interface
        • get_PDDomNode
      • ISelectText interface
        • selectText
      • Identifying IAccessible objects in a document
        • get_accID
      • IAccessible method summary
      • Navigation and hierarchy
        • accNavigate
        • get_accChild
        • get_accChildCount
        • get_accParent
      • Descriptive properties and methods
        • accDoDefaultAction
        • get_accDefaultAction
        • get_accDescription
        • get_accName
        • get_accRole
        • get_accState
        • get_accValue
      • Selection and focus
        • accSelect
        • get_accFocus
        • get_accSelection
      • Spatial mapping
        • accLocation
        • accHitTest
      • IAccessible object types for PDF
        • PDF Document
        • PDF Page
        • PDF Protected Document
        • Empty PDF Document
        • PDF Structure Element
        • PDF Content Element
        • PDF Comment
        • PDF Link
        • PDF Text Form Field
        • PDF Button Form Field
        • PDF CheckBox Form Field
        • PDF RadioButton Form Field
        • PDF ComboBox Form Field
        • PDF List Box Form Field
        • PDF Digital Signature Form Field
        • PDF Caret
    • Reading PDF Files Through the DOM Interface
      • IPDDomNode data types
        • CPDDomNodeType
        • PDDom_FontStyle
        • FontInfoState
        • DocState
        • NodeRelationship
      • IPDDomNode methods
        • Words and lines in text
        • GetParent
        • GetType
        • GetChild
        • GetChildCount
        • GetName
        • GetValue
        • IsSame
        • GetTextContent
        • GetFontInfo
        • GetLocation
        • GetFromID
        • GetIAccessible
        • ScrollTo
        • GetTextInLines
      • IPDDomNodeExt methods
        • Navigate
        • ScrollToEx
        • SetFocus
        • GetState
        • GetIndex
        • GetPageNum
        • DoDefaultAction
        • Relationship
      • IPDDomDocument methods
        • SetCaret
        • GetCaret
        • NextFocusNode
        • GetFocusNode
        • SelectText
        • GetTextSelection
        • GetSelectionBounds
        • GetDocInfo
        • GoToPage
      • IPDDomElement Methods
        • GetTagName
        • GetStdName
        • GetID
        • GetAttribute
      • IPDDomWord methods
        • LastWordOfLine
      • IPDDomGroupInfo method
        • GetGroupPosition
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Batch Sequences
    • Acrobat- PDFL SDK: Using Batch Sequences
      • Creating and running a batch sequence
        • Create a batch sequence that sets the disclosed property to true:
        • To select files:
        • To run a batch sequence:
      • Batch processing objects
        • Aborting a script
        • Using the this object
      • Global variables
      • Beginning and ending a batch job
      • Debugging and testing tips
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: PDF Creation Settings
    • Acrobat-PDFL SDK: PDF Creation Settings
      • Terminology
      • Organization of settings files
      • Namespaces
        • Common namespace
        • Othernamespaces
      • Predefined settings files
        • Where presets are installed
        • System preset information
      • Reading and writing settings files
        • Compatibility strategies
        • How applications handle incorrect settings files
      • How Distiller uses Adobe PDF settings
        • Distiller initialization
        • How Distiller processes PostScript files
        • Modifying settings during the job
        • Using Distiller to combine PostScript files
    • Using PDF Creation Settings
      • Using the image settings
        • Image compression settings
        • Automatic compression
        • Non-automatic compression
        • Downsampling and subsampling images
        • Setting compression of text, line art, and objects
        • Distiller-only image settings
      • Using the font settings
      • Using the color conversion settings
        • Distiller color conversion settings
        • Creative Suite color conversion settings
        • Color settings interchange
      • Using the advanced Adobe PDF settings
        • Relationship between setpagedevice keys and job ticket keys
        • Relationship between PostScript comments and job ticket keys
      • Using the standards settings
        • Using the compliance checking settings
        • Using the PDF/X output intent settings
        • Distiller examples
    • Common PDF Settings
      • Settings descriptions
      • General settings
        • AutoRotatePages
        • Binding
        • CompatibilityLevel
        • CompressObjects
        • CoreDistVersion
        • Description
        • DoThumbnails
        • EndPage
        • ExportLayers
        • HWResolution
        • ImageMemory
        • Namespace
        • Optimize
        • OtherNamespaces
        • PageSize
        • StartPage
      • Image settings
      • Color image settings
        • AntiAliasColorImages
        • AutoFilterColorImages
        • ColorACSImageDict
        • ColorImageAutoFilterStrategy
        • ColorImageDepth
        • ColorImageDict
        • ColorImageDownsampleThreshold
        • ColorImageDownsampleType
        • ColorImageFilter
        • ColorImageMinDownsampleDepth
        • ColorImageMinResolution
        • ColorImageMinResolutionPolicy
        • ColorImageResolution
        • ConvertImagesToIndexed
        • CropColorImages
        • DownsampleColorImages
        • EncodeColorImages
        • JPEG2000ColorACSImageDict
        • JPEG2000ColorImageDict
      • Grayscale image settings
        • AntiAliasGrayImages
        • AutoFilterGrayImages
        • CropGrayImages
        • DownsampleGrayImages
        • EncodeGrayImages
        • GrayACSImageDict
        • GrayImageAutoFilterStrategy
        • GrayImageDepth
        • GrayImageDict
        • GrayImageDownsampleThreshold
        • GrayImageDownsampleType
        • GrayImageFilter
        • GrayImageMinDownsampleDepth
        • GrayImageMinResolution
        • GrayImageMinResolutionPolicy
        • GrayImageResolution
        • JPEG2000GrayACSImageDict
        • JPEG2000GrayImageDict
      • Monochrome image settings
        • AntiAliasMonoImages
        • CropMonoImages
        • DownsampleMonoImages
        • EncodeMonoImages
        • MonoImageDepth
        • MonoImageDict
        • MonoImageDownsampleThreshold
        • MonoImageDownsampleType
        • MonoImageFilter
        • MonoImageMinResolution
        • MonoImageMinResolutionPolicy
        • MonoImageResolution
      • Page Compression Setting
        • CompressPages
      • Font settings
        • AlwaysEmbed
        • CannotEmbedFontPolicy
        • EmbedAllFonts
        • EmbedOpenType
        • MaxSubsetPct
        • NeverEmbed
        • SubsetFonts
      • Color conversion settings
        • CalCMYKProfile
        • CalGrayProfile
        • CalRGBProfile
        • ColorConversionStrategy
        • ColorSettingsFile
        • DefaultRenderingIntent
        • ParseICCProfilesInComments
        • PreserveDICMYKValues
        • PreserveHalftoneInfo
        • sRGBProfile
        • TransferFunctionInfo
        • UCRandBGInfo
      • Advanced Adobe PDF settings
        • AllowPSXObjects
        • AllowTransparency
        • ASCII85EncodePages
        • AutoPositionEPSFiles
        • CreateJDFFile
        • CreateJobTicket
        • DetectBlends
        • DetectCurves
        • DSCReportingLevel
        • EmbedJobOptions
        • EmitDSCWarnings
        • LockDistillerParams
        • OPM
        • ParseDSCComments
        • ParseDSCCommentsForDocInfo
        • PassThroughJPEGImages
        • PreserveCopyPage
        • PreserveEPSInfo
        • PreserveFlatness
        • PreserveOPIComments
        • PreserveOverprintSettings
        • UsePrologue
      • Standards settings
        • CheckCompliance
        • PDFX1aCheck
        • PDFX3Check
        • PDFXBleedBoxToTrimBoxOffset
        • PDFXCompliantPDFOnly
        • PDFXNoTrimBoxError
        • PDFXOutputCondition
        • PDFXOutputConditionIdentifier
        • PDFXOutputIntentProfile
        • PDFXRegistryName
        • PDFXSetBleedBoxToMediaBox
        • PDFXTrapped
        • PDFXTrimBoxtoMediaBoxOffset
    • Other Namespaces
      • CreativeSuite namespace settings
        • AddBleedMarks
        • AddColorBars
        • AddCropMarks
        • AddPageInfo
        • AddRegMarks
        • BleedOffset
        • ConvertColors
        • DestinationProfileName
        • DestinationProfileSelector
        • Downsample16BitImages
        • FlattenerPreset
        • GenerateStructure
        • IncludeBookmarks
        • IncludeHyperlinks
        • IncludeInteractive
        • IncludeLayers
        • IncludeProfiles
        • MarksOffset
        • MarksWeight
        • MultimediaHandling
        • PageMarksFile
        • PageMarksFileName
        • PDFXOutputIntentProfileSelector
        • PreserveEditing
        • UntaggedCMYKHandling
        • UntaggedRGBHandling
        • UseDocumentBleed
      • InDesign namespace settings
        • AsReaderSpreads
        • CropImagesToFrames
        • ErrorControl
        • FlattenerIgnoreSpreadOverrides
        • IncludeGuidesGrids
        • IncludeNonPrinting
        • IncludeSlug
        • OmitPlacedBitmaps
        • OmitPlacedEPS
        • OmitPlacedPDF
        • SimulateOverprint
    • Conversions Related to JDF
      • Creation of the basic JDF file
      • Representation of PostScript keys as JDF entries
        • Conversion of the linear representation of setpagedevice keys
      • Mapping of DSC comments into JDF elements and attributes
        • Composite jobs
        • Pre-separated jobs with interleaved separations
        • Pre-separated single-colorant jobs
      • Mapping of parameters into JDF elements and attributes
        • General
        • Image compression
        • Page compression
        • Fonts
        • Color conversion
        • Advanced
        • PDF/X
        • Conversion of parameters not available through the user interface
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: PDFMark Reference
    • Acrobat-PDFL SDK: PDFMark Reference
    • Introduction
      • Syntax of pdfmark operators
      • Usage with standard PostScript interpreters
      • Syntax for private keys
      • Named objects
        • Built-in named objects
        • User-defined named objects
        • Namespaces
        • Adding content to named objects
    • Basic Features
      • Annotations (ANN)
        • Text annotations (notes)
        • Links
        • Other annotations
      • Articles (ARTICLE)
      • Bookmarks (OUT)
      • Document Info dictionary (DOCINFO)
      • Document open options (DOCVIEW)
      • Embedded file content (EMBED)
        • Distiller command line options to enable file embedding
      • Graphics encapsulation (BP, EP, SP)
      • Marked content (MP, DP, BMC, BDC, EMC)
        • Marked-content points
        • Marked-content sequences
      • Metadata (Metadata)
      • Named images (NI)
      • Page crops (PAGE, PAGES)
      • Page label and plate color (PAGELABEL)
      • Transparency (SetTransparency)
        • Transparency group XObject and soft mask
    • Actions and Destinations
      • Actions
        • GoTo actions
        • GoToR actions
        • Launch actions
        • Article actions
      • Destinations
        • View destinations
        • Defining named destinations
        • Referencing named destinations
    • Logical Structure
      • Elements and parents
      • Structure operators
      • Structure Tree Root
        • StRoleMap
        • StClassMap
      • Elements
        • StPNE
        • StBookmarkRoot
        • StPush
        • StPop
        • StPopAll
        • StUpdate
      • Element content
        • StBMC
        • StBDC
        • EMC
        • StOBJ
      • Attribute objects
        • StAttr
      • Storage and retrieval of the implicit parent stack
        • StStore
        • StRetrieve
      • EPS considerations
      • Tagged PDF
    • Examples
      • Building an Output Intents array
      • Named object examples
      • Forms examples
      • Structure examples
    • JDF Features
      • Syntax
      • XPath Examples
    • Distilling Optional Content
      • Initialization and termination code
      • Procedure definitions
        • AddASEvent
        • BeginOC
        • EndOC
        • GetOCGPdfmarkTag
        • OCEndPage
        • SetOCGInitState
        • SetOCGIntent
        • SetOCGUsage
        • SimpleOC
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Extending the SaveAsXML Plugin
    • Acrobat-PDFL SDK: Extending the SaveAsXML Plugin
      • Sample mapping table
        • Root node
        • Emit-string
        • Walk-structure
        • Define-event-list
        • Define-proc-list
      • Editing the mapping tables
    • Mapping Table Elements Reference
      • Call-event-list
      • Call-proc-list
      • Comment
      • Conditional-delimiter
      • Conditional-prefix
      • Conditional-suffix
      • Define-event-list
      • Define-proc-list
      • Element-name
      • Emit-all-metadata
      • Emit-string
      • Evaluate-var
      • Event
      • Proc-doc-text
      • Proc-enum
      • Proc-enum-choice
      • Proc-fixed
      • Proc-graphic-content
      • Proc-hex
      • Proc-image-content
      • Proc-integer
      • Proc-length
      • Proc-pixels
      • Proc-property
      • Proc-string
      • Proc-var
      • Property-name
      • Property-type
      • Root
      • Void
      • Walk-cached-property-sets
      • Walk-children
      • Walk-layout
      • Walk-metadata
      • Walk-proplist
      • Walk-structure
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Snippet Runner Cookbook
    • Acrobat-PDFL SDK: Snippet Runner Cookbook
    • Installing and Running SnippetRunner
      • SnippetRunner Common Interface
        • Installing the Common Interface
        • Starting the SnippetRunner
        • Starting the Common Interface for PDFL
        • Creating the configuration file
      • Running as a standalone Java application
      • Running as a Java applet
      • Known issues
      • Using the Common Interface
    • Writing Snippets
      • Passing parameters to snippets
      • Toggling behavior and asynchronous snippets
      • Handling exceptions
      • Handling documents
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: Tracker
    • Acrobat-PDFL SDK: Tracker APIs
      • Benefits of RSS
      • Customizing the interface
    • Tracker API
      • Tracker URL API
        • Add a subscription
        • Update a subscription
        • Select a subscription
        • Remove a subscription
        • Convert a subscription to a PDF file
        • Display Tracker
      • RSS XML feed extensions
        • Namespace
        • Channel extensions
        • Item extensions
      • User interface driver
        • Dialog object
        • Driver object
        • Layout description object
        • RSS object
        • Selection object
    • Customization Examples
      • Grouping elements
      • Adding an external interface driver
    • Master Doc Search and TOC
  • Acrobat-PDFL SDK: 3D API Reference
    • Acrobat-PDFL SDK: JS 3D APIs
      • Object overview
        • Basic objects
        • Scene object
        • Canvas object
        • Runtime object
        • Console object
        • Resource objects
        • Event handlers
        • CameraEvent
        • KeyEvent
        • MenuEvent
        • MouseEvent
        • RenderEvent
        • ScrollWheelEvent
        • SelectionEvent
        • TimeEvent
        • ToolEvent
    • JavaScript Objects for Acrobat 3D
      • Animation
      • Background
        • getColor
        • getImage
        • setColor
        • setImage
      • Bone
      • BoundingBox
      • Camera
        • getScreenFromPosition
        • getDirectionFromScreen
      • CameraEvent
      • CameraEventHandler
        • CameraEventHandler
        • onEvent
      • Canvas
        • getCamera
        • setCamera
      • ClippingPlane
        • remove
      • Color
        • Color
        • Color
        • set
        • set
        • set3
      • Console
        • print
        • println
      • Dummy
      • FlashEvent
      • FlashEventHandler
        • onEvent
        • FlashEventHandler
      • FlashMovie
        • FlashMovie
        • call
        • getVariable
        • gotoFrame
        • isPlaying
        • pan
        • play
        • rewind
        • setVariable
        • setZoomRect
        • stop
        • zoom
      • HitInfo
      • Host
      • Image
        • Image
      • KeyEvent
      • KeyEventHandler
        • KeyEventHandler
        • onEvent
      • Light
      • Material
        • attachFlashMovie
      • Matrix4x4
        • Matrix4x4
        • Matrix4x4
        • invertInPlace
        • isEqual
        • multiply
        • multiplyInPlace
        • rotateWithQuaternion
        • rotateWithQuaternionInPlace
        • rotateAboutLine
        • rotateAboutLineInPlace
        • rotateAboutX
        • rotateAboutXInPlace
        • rotateAboutVector
        • rotateAboutVectorInPlace
        • rotateAboutY
        • rotateAboutYInPlace
        • rotateAboutZ
        • rotateAboutZInPlace
        • scale
        • scaleInPlace
        • set
        • set
        • set
        • setIdentity
        • setView
        • transformDirection
        • transformPosition
        • translate
        • translateInPlace
        • transposeInPlace
      • MenuEvent
      • MenuEventHandler
        • MenuEventHandler
        • onEvent
      • Mesh
        • computeBoundingBox
        • setColor
      • MouseEvent
      • MouseEventHandler
        • MouseEventHandler
        • onEvent
      • Node
        • detachFromCurrentAnimation
      • Procedural
      • Quaternion
        • Quaternion
        • Quaternion
        • Quaternion
        • interpolate
        • interpolateInPlace
        • normalize
      • RenderEvent
      • RenderEventHandler
        • RenderEventHandler
        • onEvent
      • RenderOptions
      • Resource
        • Resource
      • Runtime
        • addCustomMenuItem
        • addCustomToolButton
        • addEventHandler
        • disableTool
        • enableTool
        • getEventHandler
        • getRendererName
        • getView
        • getView
        • pause
        • play
        • refresh
        • removeEventHandler
        • removeCustomMenuItem
        • removeCustomToolButton
        • setCurrentTool
        • setCustomMenuItemChecked
        • setView
        • setView
      • Scene
        • activateAnimation
        • addFlashForeground
        • addModel
        • createClippingPlane
        • createLight
        • createSquareMesh
        • computeBoundingBox
        • update
      • SceneObject
      • SceneObjectList
        • getByGUID
        • getByID
        • getByIndex
        • getByName
        • removeAll
        • removeByIndex
        • removeItem
      • ScrollWheelEvent
      • ScrollWheelEventHandler
        • ScrollWheelEventHandler
        • onEvent
      • SelectionEvent
      • SelectionEventHandler
        • SelectionEventHandler
        • onEvent
      • StateEvent
      • StateEventHandler
        • onEvent
        • StateEventHandler
      • Texture
        • getImage
        • setImage
      • TimeEvent
      • TimeEventHandler
        • TimeEventHandler
        • onEvent
      • ToolEvent
      • ToolEventHandler
        • ToolEventHandler
        • onEvent
      • Vector3
        • Vector3
        • Vector3
        • add
        • addInPlace
        • addScaled
        • addScaledInPlace
        • blend
        • blendInPlace
        • cross
        • dot
        • normalize
        • scale
        • scaleInPlace
        • set
        • set
        • set3
        • subtract
        • subtractInPlace
      • View
    • Master Doc Search and TOC
Acrobat Developer Home Document Services SDK Acrobat Sign SDK Acrobat SDK PDF Library SDK
Console
Acrobat-PDFL SDK Documentation
  • »
  • Print Production

Print Production¶

This chapter will provide you with an in-depth understanding of the ways in which you can manage print production workflows for PDF documents.

Setting print options¶

Since printing involves sending pages to an output device, there are many options that can affect print quality. JavaScript can be used to enhance and automate the use of these options in print production workflows, primarily through the use of the PrintParams object, whose properties and methods are described in the following table.

PrintParams properties

Property

Description

binaryOK

Binary printer channel is supported.

bitmapDPI

DPI used for bitmaps or rasterizing transparency.

booklet

An object used to set properties of booklet printing.

colorProfile

Color profile based on available color spaces.

constants

Wrapper object for PrintParams constants.

downloadFarEastFonts

Sends Far East fonts to the printer.

fileName

fileName is used when printing to a file instead of a printer.

firstPage

The first zero-based page to be printed.

flags

A bit field of flags to control printing options.

fontPolicy

Used to determine when fonts are emitted.

gradientDPI

The DPI used for rasterizing gradients.

interactive

Sets the level of interaction for the user.

lastPage

The last zero-based page to be printed.

nUpAutoRotate

Auto rotate pages during multiple pages per sheet printing.

nUpNumPagesH

Number of pages to lay out horizontally during multiple pages per sheet printing.

nUpNumPagesV

Number of pages to lay out vertically during multiple pages per sheet printing.

nUpPageBorder

Determines whether a page boundary is drawn and printed during multiple pages per sheet printing.

nUpPageOrder

Determines how the multiple pages are laid out on the sheet for multiple pages per sheet printing.

pageHandling

How pages will be handled (fit, shrink, or tiled).

pageSubset

Even, odd, or all pages are printed.

printAsImage

Sends pages as large bitmaps.

printContent

Determines whether form fields and comments will be printed.

printerName

The name of the destination printer.

psLevel

The level of PostScript emitted to the printer.

rasterFlags

A bit field of flags for outlines, clips, and overprint.

reversePages

Prints pages in reverse order.

tileLabel

Labels each page of tiled output.

tileMark

Output marks to cut the page and where overlap occurs.

tileOverlap

The number of points that tiled pages have in common.

tileScale

The amount that tiled pages are scaled.

transparencyLevel

The degree to which high level drawing operators are preserved.

userPrinterCRD

Determines whether the printer Color Rendering Dictionary is used.

useT1Conversion

Determines whether Type 1 fonts will be converted.

In addition to the properties of the PrintParams object, the app object’s printColorProfiles and printerNames properties provide a list of available color spaces and printer names, respectively.

When printing a document, any comments and form fields of the document may or may not print, depending on the settings of the individual annotations. The print property of the Annotation and Field objects is used to set whether an individual annotation is printed.

Printing PDF documents¶

It is possible to use JavaScript to specify whether a PDF document is sent to a printer or to a PostScript file. In either case, to print a PDF document, invoke the Doc object print method. Its parameters are described in the following table.

Print method parameters

Parameter

Description

bAnnotations

Determines whether to print annotations.

bPrintAsImage

Determines whether to print each page as an image.

bReverse

Determines whether to print in reverse page order.

bShrinkToFit

Determines whether the page is shrunk to fit the imageable area of the printed page.

bSilent

Suppresses the Cancel dialog box while the document is printed.

bUI

Determines whether to present a user interface to the user.

nEnd

The zero-based index of the last page.

nStart

The zero-based index of the beginning page.

printParams

The PrintParams object containing the printing settings. - The printParams parameter is available in Acrobat 6.0 or later. If this parameter is passed, it is passed as a literal object and any other parameters are ignored.

In the first example below, pages 1-10 of the document are sent to the default printer, printed silently without user interaction, and are shrunk to fit the imageable area of the pages:

this.print({
    bUI: false,
    bSilent: true,
    bShrinkToFit: true,
    nStart: 1,
    nEnd: 10
});

The syntax above is used for versions of Acrobat previous to 6.0.

For Acrobat 6.0 or later, the recommend method is to pass a PrintParams object to the Doc.print method. All the subsequent examples use this method.

To print the document to a PostScript file, obtain the PrintParams object by invoking the Doc object getPrintParams method. Set its printerName property to the empty string, and set its fileName property to a string containing the device-independent path of the PostScript file to which it will be printed, as shown in the following example:

var pp = this.getPrintParams();
pp.printerName = "";
// File name must be a safe path
pp.fileName = "/C/temp/myPSDoc.ps";
this.print(pp);

If you would like send the file to a particular printer, you can specify the printer by setting the printerName property of the PrintParams object, as shown in the following example:

var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.automatic;
pp.printerName = "Our office printer";
this.print(pp);

Silent printing¶

There are various ways to print a document without requiring user interaction. One way is to use the Doc object print method and set the bSilent attribute to true, as the following example shows.

this.print({bUI: false, bSilent: true, bShrinkToFit: true});

Beginning with version 7.0, non-interactive printing can only be done in batch and console events. Using the PrintParams object, this is the script for printing silently:

var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.silent;
this.print(pp);

If you would like to print without requiring user interaction, and would like the progress monitor and Cancel dialog box to be removed when printing is complete, use the interactive property as shown in the following example:

var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.automatic;

There are many options you can choose without requiring user interaction. For example, you can select the paper tray:

var fv = pp.constants.flagValues;
pp.flags = fv.setPageSize;

These coding approaches may be used in menus or buttons within a PDF file, may exist at the folder or batch levels, and are available through Acrobat or Acrobat Reader 6.0 or later. For more information, see the Acrobat JavaScript API Reference, as well as the Acrobat SDK samples SDKSilentPrint.js and SDKJSSnippet1.pdf.

Printing comments and forms¶

The printContent property of the PrintParams object can be used to control whether document content, form fields, and comments will be printed. In the following example, only the form field contents will be printed (this is useful when sending data to preprinted forms):

var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.silent;
pp.printContent = pp.constants.printContent.formFieldsOnly;
this.print(pp);

Booklet printing¶

Beginning with Acrobat 8.0, you can print booklets. To do so, begin by getting the PrintParams object:

var pp = this.getPrintParams();

Then set the pageHandling property to booklet:

pp.pageHandling = pp.constants.handling.booklet;

Use the booklet property of PrintParams to set the specialized printing parameters for booklet printing. pp.booklet is an object with properties:

  • binding: determines the paper binding direction and the page arrange order

  • duplexMode: determines the duplex printing mode

  • subsetFrom: determines the first booklet sheet to be printed. Independently from the general page range selection

  • subsetTo: determines the last booklet sheet to be printed

All the properties above take integers for their values.

The value for binding is set through the properties of the constants.bookletBindings object of PrintParams, as illustrated in the following example.

  1. Set up booklet printing for right-side binding of text and print

var pp = this.getPrintParams();
pp.pageHandling = pp.constants.handling.booklet;
pp.booklet.binding = pp.constants.bookletBindings.Right;
this.print(pp);

The constants.bookBindings object has four properties: Left (the default), Right, LeftTall and RightTall.

The value for duplexMode is set through the properties of the constants.bookletDuplexModes object of PrintParams.

  1. Print booklet in duplex mode, printing only the front pages

pp.pageHandling = pp.constants.handling.booklet;
pp.booklet.duplexMode = pp.constants.bookletDuplexModes.FrontSideOnly;
this.print(pp);

constants.bookletDuplexModes has three properties: BothSides, FrontSideOnly and BackSideOnly. For printers that print only on one side, use FrontSideOnly first then reinsert the printed pages and print again with BacksideOnly to complete a manual duplex printing.

Setting advanced print options¶

You can set the properties of the PrintParams object to specify advanced options including output, marks and bleeds, transparency flattening, PostScript options, and font options.

Specifying output settings¶

You can obtain a listing of printer color spaces available by invoking the app object printColorProfiles method. You can then assign one of these values to the PrintParams object colorProfile property.

In addition, you can set the flags property of the PrintParams object to specify advanced output settings, such as applying proof settings, shown in the example below:

var pp = this.getPrintParams();
var fv = pp.constants.flagValues;
pp.flags = fv.applySoftProofSettings;
this.print(pp);

Specifying marks and bleeds¶

You can specify the types of tile marks and where overlap occurs by setting the tileMark property of the PrintParams object. For example, in the following code, Western style tile marks are printed:

var pp = this.getPrintPareams();
pp.tileMark = pp.constants.tileMarks.west;
this.print(pp);

Setting PostScript options¶

You can set the flags property of the PrintParams object to specify advanced PostScript settings, such as emitting undercolor removal/black generation, shown in the example below:

var pp = this.getPrintParams();
var fv = pp.constants.flagValues;
pp.flags &= ~(fv.suppressBG  fv.suppressUCR);
this.print(pp);

In addition, you can set the psLevel property of the PrintParams object to specify the level of PostScript emitted to PostScript printers. If the printer only supports PostScript level 1, set the PrintParams object’s printAsImage property to true.

Setting font options¶

You can control the font policy by setting the fontPolicy property of the PrintParams object. There are three values that may be used:

  • everyPage: emit needed fonts for every page, freeing fonts from the previous page. This is useful for printers having a small amount of memory.

  • jobStart: emit all fonts at the beginning of the print job, free them at the end of the print job. This is useful for printers having a large amount of memory.

  • pageRange: emit the fonts needed for a given range of pages, free them once those pages are printed. This can be used to optimize the balance between memory and speed constraints.

These values can be accessed through the constants.fontPolicies object of the PrintParams object. In the following example, all the fonts are emitted at the beginning of the print job, and freed once the job is finished:

var pp = this.getPrintParams();
pp.fontPolicy = pp.constants.fontPolicies.jobStart;
this.print(pp);

You can also control whether Type 1 fonts will be converted to alternative font representations, by setting the useT1Conversion property of the PrintParams object. There are three values that can be used:

  • auto: let Acrobat decide whether to disable the conversion, based on its internal list of printers that have problems with these fonts.

  • use: allow conversion of Type 1 fonts.

  • noUse: do not allow conversion of Type 1 fonts.

These values are accessed through the constants.usages object of the PrintParams object. In the following example, conversion of Type 1 fonts is set to automatic:

var pp = this.getPrintParams();
pp.useT1Conversion = pp.constants.usages.auto;
this.print(pp);

Finally, it is possible to send Far East fonts to the printer by setting the PrintParams object’s downloadFarEastFonts property to true.


© Copyright 2022, Adobe Inc.. Last updated on May 02, 2023.