The
Generate PDF service converts native file formats by invoking the
application associated with the file format and then interacting
with the application to print the document using the default printer.
The default printer must be set up as the Adobe PDF printer.
This illustration shows the components and drivers involved with
native application support. It also mentions the XML grammars that
influence the interactions.
This document uses the term native application to indicate
the application used to produce a native file format, such as Microsoft
Word or Visio.
AppMon is an enterprise component that interacts with
a native application in the same way a user would navigate through
the dialog boxes presented by that application. The XML grammars
used by AppMon to instruct an application, such as Microsoft Word,
to open and print a file involve these sequential tasks:
Opening the file by selecting File > Open
Ensuring that the Open dialog box appears; if not, handling
the error
Providing the file name in the File Name field and then clicking
the Open button
Ensuring that the file actually opens
Opening the Print dialog box by selecting File > Print
Ensuring that the Print dialog box appears
AppMon uses standard Win32 APIs to interact with third-party
applications in order to transfer UI events such as key-strokes
and mouse clicks, which is useful to control these applications
to produce PDF files from them.
Due to a limitation with these Win32 APIs, AppMon is not able
to dispatch these UI events to some specific kinds of windows, such
as floating menu-bars (found in some applications such as TextPad),
and certain kind of dialogs whose contents cannot be retrieved using
the Win32 APIs.
It is easy to visually identify a floating menu-bar; however
it might not be possible to identify the special types of dialogs
just by visual inspection. You would require a third-party application
such as Microsoft Spy++ (part of the Microsoft Visual C++ development
environment) or its equivalent WinID (that can be downloaded free
of cost from http://www.dennisbabkin.com/php/download.php?what=WinID)
to examine a dialog to determine if AppMon would be able to interact
with it using standard Win32 APIs.
If WinID is able to extract the dialog contents such as the text,
sub-windows, window class ID, and so on, then AppMon would also
be able to do the same.
This table lists the type of information used in printing native
file formats.
Information type
|
Description
|
Modifying/creating entries
related to native files
|
Administrative
settings
|
Includes PDF settings, security settings,
and file type settings.
File type settings associate file
name extensions with the corresponding native applications. File
type settings also specify native application settings used to print
native files.
|
To change settings for an already supported
native application, the system administrator sets the File Type Settings
in the Administration Console.
To add support for a new native
file format, you must manually edit the file. (See Adding or modifying support for a native file format.)
|
Script
|
Specifies interactions between the Generate
PDF service and a native application. Such interactions usually
direct the application to print a file to the Adobe PDF driver.
The
script contains instructions that direct the native application
to open specific dialog boxes and that supply specific responses
to fields and buttons in those dialog boxes.
|
The Generate PDF service includes script
files for all supported native applications. You can modify these
files using an XML editing application.
To add support for
a new native application, you must create a new script file. (See Creating or modifying an additional dialog XML file for a native application.)
|
Generic
dialog box instructions
|
Specifies how to respond to dialog boxes
that are common to multiple applications. Such dialog boxes are
generated by operating systems, helper applications (such as PDFMaker), and
drivers.
The file that contains this information is appmon.global.en_US.xml.
|
Do not modify this file.
|
Application-specific
dialog box instructions
|
Specifies how to respond to application-specific
dialog boxes.
The file that contains this information is
appmon.[appname].dialog.[locale].xml (for example, appmon.word.en_US.xml).
|
Do not modify this file.
To add dialog
box instructions for a new native application, see Creating or modifying an additional dialog XML file for a native application.
|
Additional application-specific dialog box
instructions
|
Specifies overrides and additions to application-specific
dialog box instructions. The section presents an example of such
information.
The file that contains this information is appmon.[appname].addition.[locale].xml.
An example is appmon.addition.en_US.xml.
|
Files of this type can be created and modified
using an XML editing application. (See Creating or modifying an additional dialog XML file for a native application.)
Important:
You must create additional application-specific dialog box instructions
for each native application your server will support.
|