background image
X Version 11
Release 6.4
X Print Service Overview
3
ments in the dix layer of the X Print Server. The most outwardly visible aspects of a Print Context are the
attribute pools contained within it. These attributes express and control server, printer, job, document and
page options. Attribute pools can be accessed and modified using
XpGetAttributes and XpSetAttributes.
Because Print Contexts can be shared among processes, applications can enlist the help of a secondary pro-
cess
to manipulate print options in the Print Context rather than taking on the task directly. The convenience
routine
XpGetPdmStartParams is provided to enlist the help of the Print Dialog Manager. By externalizing
this task, new configuration dialogs and capabilities can be added without having to modify individual appli-
cations.
In most cases, the dialogs displayed by a Print Dialog Manager will be tuned to the capabilities of the corre-
sponding DDX driver. It is possible to have multiple Print Dialog Managers, each one responsible for han-
dling setup tasks for a different PDL.
Once the application has, with or without a Print Dialog Manager's help, set options within the Print Con-
text, the application can make calls such as
XpStartJob to delineate jobs, documents and pages within a
sequence of normal X calls. Conceptually, a job is a collection of documents, where each document is in turn
a collection of pages. When
XpEndJob is called, the resulting PDL is either sent to a print spooler or can be
retrieved by the application.
1.3
The Developer's/Integrator's View
The developer or integrator is the person who will modify an X application to use the X Print Service.
From the application's perspective, it can attach to one of two nearly identical X Servers (see figure points A
and B in the following diagram). The primary difference is that when connected to the X Print Server addi-
tional calls can be made to delineate print "jobs", "documents" and "pages", and to create and modify a Print
Context. The functions of the two servers may be combined into a single process, but applications will usu-
ally find it convenient to open separate connections for video and print rendering.
Conceptually, a "job" is a collection of "documents", where each document is in turn a collection of
"pages". Depending on the print facilities underlying the X Print Server (for example, a print management
system conforming to POSIX 1387.4), these delineations may be translated into tangible functionality.