Previous Next
332
CHAPTER 4 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 (Section 4.8.4, “Image Dictionaries”) represents a sampled
visual image such as a photograph.
• A form XObject (Section 4.9, “Form XObjects”) is a self-contained description
of an arbitrary sequence of graphics objects.
• A PostScript XObject (Section 4.7.1, “PostScript XObjects”) contains a fragment
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
Appendix H.)
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-
source Dictionaries”). The associated value must be a stream whose 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 (Section 4.9, “Form XObjects”), or PS (Section 4.7.1, “PostScript XOb-
jects”).
Previous Next