CHAPTER 4
332
Graphics
4.7 External Objects
An
external object
(commonly called an
XObject)
is a graphics object whose con-
tents are defined by a self-contained content stream, separate from the content
stream in which it is used. There are three types of external objects:
•
An
image XObject
visual image such as a photograph.
•
A
form XObject
of an arbitrary sequence of graphics objects.
•
A
PostScript XObject
of code expressed in the PostScript page description language. PostScript XOb-
jects are no longer recommended to be used.
Two further categories of external objects,
group XObjects
and
reference XObjects
(both PDF 1.4),
are actually specialized types of form XObjects with additional
properties. See Sections 4.9.2, “Group XObjects,” and 4.9.3, “Reference XObjects,”
for additional information.
Any XObject can be painted as part of another content stream by means of the
Do
operator (see Table 4.37). This operator applies to any type of XObject—image,
form, or PostScript. The syntax is the same in all cases, although details of the
operator’s behavior differ depending on the type. (See implementation note 51 in
TABLE 4.37 XObject operator
OPERANDS
OPERATOR
DESCRIPTION
name
Do
Paint the specified XObject. The operand
name
must appear as a key in the
XObject
subdictionary of the current resource dictionary (see Section 3.7.2, “Re-
Type
entry,
if present, is
XObject
. The effect of
Do
depends on the value of the XObject’s
Subtype
entry, which may be
Image
(see Section 4.8.4, “Image Dictionaries”),
Form
PS