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