pdf viewer control in asp net c# : Add an image to a pdf with acrobat application software cloud windows html .net class PDF32000_200820-part2337

© 
Adobe Systems Incorporated 2008 – All rights reserved
193
PDF 32000-1:2008
Table 83 shows the shading dictionary entries specific to this type of shading, in addition to those common to all 
shading dictionaries (see Table 78) and stream dictionaries (see Table 5). 
The data stream for a type 5 shading has the same format as for type 4, except that type 5 does not use edge 
flags to define the geometry of the triangle mesh. The data for each vertex thus consists of the following values, 
in the order shown: 
x  y  c
1
… c
n
where 
x and y shall be the vertex’s horizontal and vertical coordinates 
c
1
… c
n
shall be its colour components 
All vertex coordinates are expressed in the shading’s target coordinate space. If the shading dictionary includes 
Function entry, only a single  parametric  value, t, shall be  present  for  each vertex in place  of the colour 
components c
1
… c
n
The VerticesPerRow entry in the shading dictionary gives the number of vertices in each row of the lattice. All 
of the vertices in a row shall be specified sequentially, followed by those for the next row. Given m rows of k
vertices each, the triangles of the mesh shall be constructed using the following triplets of vertices, as shown in 
Figure 27: 
Table 83 –  Additional Entries Specific to a Type 5 Shading Dictionary  
Key
Type
Value
BitsPerCoordinate
integer
(Required) The number of bits used to represent each vertex 
coordinate. The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. 
BitsPerComponent
integer
(Required) The number of bits used to represent each colour 
component. The value shall be 1, 2, 4, 8, 12, or 16. 
VerticesPerRow
integer
(Required) The number of vertices in each row of the lattice; the 
value shall be greater than or equal to 2. The number of rows need 
not be specified. 
Decode
array
(Required) An array of numbers specifying how to map vertex 
coordinates and colour components into the appropriate ranges of 
values.  The  decoding  method  is  similar  to  that  used  in  image 
dictionaries (see 8.9.5.2,  "Decode  Arrays").  The ranges shall  be
specified as follows: 
x
min
x
max
y
min
y
max
c
1,min
c
1,max
… c
n,min
c
n,max
]
Only one pair of c values shall be specified if a Function entry is 
present. 
Function
function
(Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions 
(where n  is  the  number  of  colour  components  in  the  shading 
dictionary’s colour space). If this entry is present, the colour data for 
each vertex shall be specified by a single parametric variable rather 
than by n separate colour components. The designated function(s) 
shall  be  called  with  each  interpolated  value  of  the  parametric 
variable to determine the actual colour at each point. Each input 
value  shall  be  forced  into  the  range  interval  specified  for  the 
corresponding  colour  component  in  the  shading  dictionary’s 
Decode array. Each function’s domain shall be a superset of that 
interval.  If  the  value  returned  by  the  function  for a  given colour 
component is out of range, it shall be adjusted to the nearest valid 
value. 
This entry shall not be used with an Ind
exed colour space. 
Add an image to a pdf with acrobat - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
adding a jpg to a pdf; add image pdf document
Add an image to a pdf with acrobat - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
adding an image to a pdf file; add photo to pdf form
PDF 32000-1:2008
194
© 
Adobe Systems Incorporated 2008 – All rights reserved
See  8.7.4.5.5,  "Type 4  Shadings  (Free-Form  Gouraud-Shaded  Triangle  Meshes)"  for further  details  on  the 
format of the vertex data. 
8.7.4.5.7 Type 6 Shadings (Coons Patch Meshes)
Type 6 shadings (Coons patch meshes) are constructed from one or more colour patches, each bounded by 
four cubic Bézier curves. Degenerate Bézier curves are allowed and are useful for certain graphical effects. At 
least one complete patch shall be specified. 
A Coons patch generally has two independent aspects: 
Colours are specified for each corner of the unit square, and bilinear interpolation is used to fill in colours 
over the entire unit square (see the upper figure in Figure L.15 in Annex L). 
Coordinates are mapped  from  the  unit square into a four-sided  patch  whose sides  are not  necessarily 
linear (see the lower figure in Figure L.15 in Annex L). The mapping is continuous: the corners of the unit 
square map to corners of the patch and the sides of the unit square map to sides of the patch, as shown in 
Figure 28. 
The  sides  of the  patch  are  given by four  cubic  Bézier  curves, C
1
C
2
D
1
,  and D
2
,  defined  over  a pair  of 
parametric variables, u and v, that vary horizontally and vertically across the unit square. The four corners of 
the Coons patch satisfy the following equations: 
Figure 28 –  Coordinate Mapping from a Unit Square to a Four-sided Coons Patch
Two surfaces can be described that are linear interpolations between the boundary curves. Along the u axis, 
the surface S
C
is defined by 
V
ij
,
V
ij 1
,+
V
i 1
+
j
,
,
,
(
)
for 0 i m 2
≤ ≤
0 j k 2
≤ ≤
,
V
ij 1
,+
V
i 1
+
j
,
V
i 1
+
j 1
,+
,
,
)
(
C
1
(0 )
D
1
(0 )
=
C
1
(1 )
D
2
(0 )
=
C
2
(0 )
D
1
(1 )
=
C
2
(1 )
D
2
(1 )
=
D
1
C
1
D
2
C
2
v
u
.NET PDF Document Viewing, Annotation, Conversion & Processing
Convert image files to PDF. File & Page Process. Annotate & Comment. Add, insert PDF native annotations to PDF file. Support for all the print modes in Acrobat PDF
add image to pdf; add jpg to pdf preview
C# PDF Converter Library SDK to convert PDF to other file formats
without using other external third-party dependencies like Adobe Acrobat. you can easily perform file conversion from PDF document to image or document
add an image to a pdf in preview; add photo to pdf in preview
© 
Adobe Systems Incorporated 2008 – All rights reserved
195
PDF 32000-1:2008
Along the v axis, the surface S
D
is given by 
A third surface is the bilinear interpolation of the four corners: 
The coordinate mapping for the shading is given by the surface S, defined as 
This defines the geometry of each patch. A patch mesh is constructed from a sequence of one or more such 
coloured patches. 
Patches can sometimes appear to fold over on themselves—for example, if a boundary curve intersects itself. 
As the value of parameter u  or v increases in parameter space, the location  of the corresponding  pixels in 
device space may change  direction so that  new pixels are mapped onto previous pixels already mapped. If 
more than one point (u, v) in parameter space is mapped to the same point in device space, the point selected 
shall be the one with the largest value of v. If multiple points have the same v, the one with the largest value of 
u shall be selected. If one patch overlaps another, the patch that appears later in the data stream shall paint 
over the earlier one. 
NOTE
The patch is a control surface rather than a painting geometry. The outline of a projected square (that is, the 
painted area) might not be the same as the patch boundary if, for example, the patch folds over on itself, as 
shown in Figure 29. 
Figure 29 –  Painted Area and Boundary of a Coons Patch
S
C
u v
,
(
)
1 v
( –
)
C
1
(u )
×
v C
2
(u )
+ ×
=
S
D
u v
,
(
)
1 u
( –
)
D
1
(v ) u D
2
(v )
+ ×
×
=
S
B
u v
,
(
)
1 v
( –
)
1 u
( –
)
C
1
(0 )
×
[
u C
1
(1 )
+ ×
]
×
v
1 u
( –
)
C
2
(0 )
×
[
u C
2
(1 )
×
]
+
×
+
=
S
S
C
S
D
S
B
+
=
Appearance
Painted area
Patch boundary
C# Windows Viewer - Image and Document Conversion & Rendering in
without using other external third-party dependencies like Adobe Acrobat. Image and Document Conversion Supported by Windows Viewer. Convert to PDF.
acrobat add image to pdf; how to add image to pdf document
VB.NET PDF: How to Create Watermark on PDF Document within
Using this VB.NET Imaging PDF Watermark Add-on, you can a watermark that consists of text or image (such as And with our PDF Watermark Creator, users need no
add photo to pdf for; add photo to pdf file
PDF 32000-1:2008
196
© 
Adobe Systems Incorporated 2008 – All rights reserved
Table 84 shows the shading dictionary entries specific to this type of shading, in addition to those common to all 
shading dictionaries (see Table 78) and stream dictionaries (see Table 5). 
The data stream provides a sequence of  Bézier control  points and  colour values that define the  shape and 
colours of each patch. All of a patch’s control points are given first, followed by the colour values for its corners. 
This differs from a triangle mesh (shading types 4 and 5), in which the coordinates and colour of each vertex 
are given together. All control point coordinates are expressed in the shading’s target coordinate space. See 
8.7.4.5.5, "Type 4 Shadings (Free-Form Gouraud-Shaded Triangle Meshes)" for further details on the format of 
the data.
As in free-form  triangle meshes (type  4),  each patch has an edge flag  that  indicates  which  edge, if  any,  it 
shares with the previous patch. An edge flag of 0 begins a new patch, unconnected to any other. This shall be 
followed by 12 pairs of coordinates, x
1
y
1
x
2
y
2
… x
12
y
12
, which specify the Bézier control points that define 
the four boundary curves. Figure 30 shows how these control points correspond to the cubic Bézier curves C
1
C
2
D
1
, and D
2
identified in Figure 28. Colour values shall be given for the four corners of the patch, in the 
same order as the control points corresponding to the corners. Thus, c
1
is the colour at coordinates (x
1
y
1
), c
2
at (x
4
y
4
), c
3
at (x
7
y
7
), and c
4
at (x
10
y
10
), as shown in the figure. 
Table 84 –  Additional Entries Specific to a Type 6 Shading Dictionary  
Key
Type
Value
BitsPerCoordinate
integer
(Required) The number of bits used to represent each geometric 
coordinate. The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. 
BitsPerComponent
integer
(Required) The number of bits used to represent each colour 
component. The value shall be 1, 2, 4, 8, 12, or 16. 
BitsPerFlag
integer
(Required) The number of bits used to represent the edge flag for 
each patch (see below). The value shall be 2, 4, or 8, but only the 
least significant 2 bits in each flag value shall be used. Valid values 
for the edge flag shall be 0, 1, 2, and 3. 
Decode
array
(Required) An array of numbers specifying how to map coordinates 
and colour components into the appropriate ranges of values. The 
decoding method is similar to that used in image dictionaries (see 
8.9.5.2, "Decode Arrays"). The ranges shall be specified as follows: 
x
min
x
max
y
min
y
max
c
1,min 
c
1,max
… c
n,min
c
n,max
]
Only one pair of c values shall be specified if a Function entry is 
present. 
Function
function
(Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions 
(where n  is  the  number  of  colour  components  in  the  shading 
dictionary’s colour space). If this entry is present, the colour data for 
each vertex shall be specified by a single parametric variable rather 
than by n separate colour components. The designated function(s) 
shall  be  called  with  each  interpolated  value  of  the  parametric 
variable to determine the actual colour at each point. Each input 
value  shall  be  forced  into  the  range  interval  specified  for  the 
corresponding  colour  component  in  the  shading  dictionary’s 
Decode array. Each function’s domain shall be a superset of that 
interval.  If  the  value  returned  by  the  function  for  a given  colour 
component is out of range, it shall be adjusted to the nearest valid 
value. 
This entry shall not be used with an Indexed  colour space. 
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
using other external third-party dependencies like Adobe Acrobat. SDK to convert PowerPoint document to PDF document code for PowerPoint to TIFF image conversion
how to add image to pdf in acrobat; adding images to pdf forms
C# Word - Word Conversion in C#.NET
using other external third-party dependencies like Adobe Acrobat. Word SDK to convert Word document to PDF document. demo code for Word to TIFF image conversion
how to add photo to pdf in preview; add jpeg signature to pdf
© 
Adobe Systems Incorporated 2008 – All rights reserved
197
PDF 32000-1:2008
Figure 30 –  Colour Values and Edge Flags in Coons Patch Meshes
Figure 30 also shows how nonzero values of the edge flag (f = 1, 2, or 3) connect a new patch to one of the 
edges of the previous patch. In this case, some of the previous patch’s control points serve implicitly as control 
points for the  new  patch  as well  (see Figure  31), and  therefore  shall  not be  explicitly  repeated  in  the  data 
stream. Table 85 summarizes the required data values for various values of the edge flag. 
Figure 31 –  Edge Connections in a Coons Patch Mesh
5
3
8
6
7
9
11
12
2
1
4
10
Use this side when next f = 3.
Use this side when next f = 1.
Use this side when next f = 2.
This side already attached
to previous patch. Start a 
new patch when next f = 0.
c
1
c
2
c
3
c
4
C
1
C
2
D
2
D
1
When f
B
= 0, start a new patch.
Patch B
f
B
= 1
Patch A
Patch B
f
B
= 3
Patch B
f
B
= 2
2
1
4
5
3
c
1
c
2
12
9
3
4
1
1
2
2
4
3
11
c
1
c
1
c
2
c
4
1
4
7
6
8
2
3
c
3
c
1
c
2
c
2
10
BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
Also designed to be used add-on for .NET Image SDK, RasterEdge Bitmap to PDF Converter can Powerful image converter for Bitmap and PDF files; No need for
add picture pdf; add jpg to pdf online
PDF to WORD Converter | Convert PDF to Word, Convert Word to PDF
out transformation between different kinds of image files and Word Converter has accurate output, and PDF to Word need the support of Adobe Acrobat & Microsoft
add picture to pdf reader; how to add image to pdf file
PDF 32000-1:2008
198
© 
Adobe Systems Incorporated 2008 – All rights reserved
If the shading dictionary contains a Function entry, the colour data for each corner of a patch shall be specified 
by  a single  parametric value t rather  than by n separate  colour components c
1
… c
n
. All  linear  interpolation 
within  the  mesh  shall  be  done  using  the t  values.  After  interpolation,  the  results  shall  be  passed  to  the 
function(s) specified in the Function entry to determine the colour at each point. 
8.7.4.5.8 Type 7 Shadings (Tensor-Product Patch Meshes)
Type 7 shadings (tensor-product patch meshes) are identical to type 6, except that they are based on a bicubic 
tensor-product patch defined by 16 control points instead of the 12 control points that define a Coons patch. 
The shading dictionaries representing the two patch types differ only in the value of the ShadingType entry and 
in the number of control points specified for each patch in the data stream. 
NOTE
Although the Coons patch is more concise and easier to use, the tensor-product patch affords greater control 
over colour mapping. 
Table 85 –  Data Values in a Coons Patch Mesh  
Edge Flag
Next Set of Data Values
f 
=
0
x
1
y
1
x
2
y
2
x
3
y
3
x
4
y
4
x
5
y
5
x
6
y
6
x
7
y
7
x
8
y
8
x
9
y
9
x
10
y
10
x
11
y
11
x
12
y
12
c
1
c
2
c
3
c
4
New patch; no implicit values 
f 
=
1
x
5
y
5
x
6
y
6
x
7
y
7
x
8
y
8
x
9
y
9
x
10
y
10
x
11
y
11
x
12
y
12
c
3
c
4
Implicit values: 
(x
1
y
1
) = (x
4
y
4
) previous
c
1
c
2
previous
(x
2
y
2
) = (x
5
y
5
) previous
c
2
c
3
previous
(x
3
y
3
) = (x
6
y
6
) previous
(x
4
y
4
) = (x
7
y
7
) previous
f 
=
2
x
5
y
5
x
6
y
6
x
7
y
7
x
8
y
8
x
9
y
9
x
10
y
10
x
11
y
11
x
12
y
12
c
3
c
4
Implicit values: 
(x
1
y
1
) = (x
7
y
7
) previous
c
1
c
3
previous
(x
2
y
2
) = (x
8
y
8
) previous
c
2
c
4
previous
(x
3
y
3
) = (x
9
y
9
) previous
(x
4
y
4
) = (x
10
y
10
) previous
f 
=
3
x
5
y
5
x
6
y
6
x
7
y
7
x
8
y
8
x
9
y
9
x
10
y
10
x
11
y
11
x
12
y
12
c
3
c
4
Implicit values: 
(x
1
y
1
) = (x
10
y
10
) previous
c
1
c
4
previous
(x
2
y
2
) = (x
11
y
11
) previous
c
2
c
1
previous
(x
3
y
3
) = (x
12
y
12
) previous
(x
4
y
4
) = (x
1
y
1
) previous
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
It can be used standalone. JPEG to PDF Converter is able to convert image files to PDF directly without the software Adobe Acrobat Reader for conversion.
how to add image to pdf form; add picture to pdf file
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS VB.NET PPT: VB Code to Add Embedded Image Object to
add photo to pdf in preview; acrobat add image to pdf
© 
Adobe Systems Incorporated 2008 – All rights reserved
199
PDF 32000-1:2008
Like the Coons patch mapping, the tensor-product patch mapping is controlled by the location and shape of 
four  cubic  Bézier curves marking the boundaries  of  the  patch. However,  the  tensor-product patch has four 
additional, “internal” control points to adjust the mapping. The 16 control points can be arranged in a 4-by-4 
array indexed by row and column, as follows (see Figure 32): 
p
03
p
13
p
23
p
33
p
02
p
12
p
22
p
32
p
01
p
11
p
21
p
31
p
00
p
10
p
20
p
30
Figure 32 –  Control Points in a Tensor-product Patch
As in a Coons patch mesh, the geometry of the tensor-product patch is described by a surface defined over a 
pair of parametric variables, u and v, which vary horizontally and vertically across the unit square. The surface 
is defined by the equation 
where p
ij
is the control point in column i and row j of the tensor, and B
i 
and B
j
are the Bernstein polynomials 
Since each point p
ij
is actually a pair of coordinates (x
ij
y
ij
), the surface can also be expressed as 
p
02
p
00
p
01
p
12
p
22
p
21
p
11
p
10
p
20
p
30
p
31
p
32
p
33
p
23
p
13
p
03
S u v
,
(
)
p
ij
B
i
(u ) B
j
(v )
×
×
j 0
=
3
i 0
=
3
=
B
0
(t )
t
( –
)
3
=
B
1
(t )
3t 1 t
( –
)
2
×
=
B
2
(t )
3t
2
1 t
( –
)
×
=
B
3
(t )
t
3
=
PDF 32000-1:2008
200
© 
Adobe Systems Incorporated 2008 – All rights reserved
The geometry of the tensor-product patch can be visualized in terms of a cubic Bézier curve moving from the 
bottom boundary of the patch to the top. At the bottom and top, the control points of this curve coincide with 
those of the patch’s bottom (p
00
… p
30
) and top (p
03
… p
33
) boundary curves, respectively. As the curve moves 
from the bottom edge of the patch to the top, each of its four control points follows a trajectory that is in turn a 
cubic Bézier  curve  defined  by the four control  points in the corresponding  column of  the array.  That is,  the 
starting point of the moving curve follows the trajectory defined by control points p
00
… p
03
, the trajectory of the 
ending point is defined by points p
30
… p
33
, and those of the two intermediate control points by p
10
… p
13
and 
p
20
… p
23
. Equivalently, the patch can be considered to be traced by a cubic Bézier curve moving from the left 
edge to the right, with its control points following the trajectories defined by the rows of the coordinate array 
instead of the columns. 
The  Coons  patch  (type 6)  is  actually  a  special  case  of  the  tensor-product  patch  (type  7) in which  the four 
internal control  points  (p
11
p
12
p
21
p
22
)  are  implicitly  defined  by  the  boundary  curves. The  values  of  the 
internal control points are given by these equations: 
In the more general tensor-product patch, the values of these four points are unrestricted. 
The coordinates of the control points in a tensor-product patch shall be specified in the shading’s data stream in 
the following order: 
4
5
6
7
3
14
15
8
2
13
16
9
1
12
11 10
All  control  point  coordinates  shall  be  expressed  in  the  shading’s  target  coordinate  space.  These  shall  be 
followed by the colour values for the four corners of the patch, in the same order as the corners themselves. If 
the patch’s edge flag f is 0, all 16 control points and four corner colours shall be explicitly specified in the data 
stream. If f is 1, 2, or 3, the control points and colours for the patch’s shared edge are implicitly understood to 
be the  same as those along the specified edge of the  previous patch and shall not be repeated in the data 
stream. Table 86 summarizes the data values for various values of the edge flag f, expr
essed in terms of the 
x u v
( ,
)
x
ij
B
i
u
( )
B
j
v
( )
×
×
j 0
=
3
i 0
=
3
=
y u v
( ,
)
y
ij
B
i
u
( )
B
j
v
( )
×
×
j 0
=
3
i 0
=
3
=
p
11
1 9
4
p
00
×
6
p
01
p
10
+
(
)
×
2
p
03
p
30
+
(
)
– ×
3
p
31
p
13
+
(
)
×
1 p
33
– ×
+
+
[
]
×
=
p
12
1 9
4
p
03
×
6
p
02
p
13
+
(
)
×
2
p
00
p
33
+
(
)
– ×
3
p
32
p
10
+
(
)
×
1 p
×
30
+
+
[
]
×
=
p
21
1 9
4
p
30
×
6
p
31
p
20
+
(
)
×
2
p
33
p
00
+
(
)
– ×
3
p
01
p
23
+
(
)
×
1 p
03
– ×
+
+
[
]
×
=
p
22
1 9
4
p
33
×
6
p
32
p
23
+
(
)
×
2
p
30
p
03
+
(
)
– ×
3
p
02
p
20
+
(
)
×
1 p
00
– ×
+
+
[
]
×
=
© 
Adobe Systems Incorporated 2008 – All rights reserved
201
PDF 32000-1:2008
row  and  column indices  used in Figure  32. See  8.7.4.5.5,  "Type  4  Shadings  (Free-Form  Gouraud-Shaded 
Triangle Meshes)" for further details on the format of the data. 
8.8 External Objects
8.8.1
General
An external object (commonly called an XObject) is a graphics object whose contents are defined by a self-
contained  stream,  separate from  the  content  stream in which it  is used.  There are three  types  of  external 
objects: 
An image XObject (8.9.5, "Image Dictionaries") represents a sampled visual image such as a photograph. 
form XObject  (8.10,  "Form  XObjects")  is  a  self-contained  description  of  an  arbitrary  sequence  of 
graphics objects. 
PostScript XObject  (8.8.2,  "PostScript  XObjects")  contains  a  fragment  of  code  expressed  in  the 
PostScript page description language. PostScript XObjects should not be used.
Table 86 –  Data values in a tensor-product patch mesh  
Edge Flag
Next Set of Data Values
f 
=
0
x
00
y
00
x
01
y
01
x
02
y
02
x
03
y
03
x
13
y
13
x
23
y
23
x
33
y
33
x
32
y
32
x
31
y
31
x
30
y
30
x
20
y
20
x
10
y
10
x
11
y
11
x
12
y
12
x
22
y
22
x
21
y
21
c
00
c
03
c
33
c
30
New patch; no implicit values 
f 
=
1
x
13
y
13
x
23
y
23
x
33
y
33
x
32
y
32
x
31
y
31
x
30
y
30
x
20
y
20
x
10
y
10
x
11
y
11
x
12
y
12
x
22
y
22
x
21
y
21
c
33
c
30
Implicit values: 
(x
00
y
00
) = (x
03
y
03
) previous
c
00
c
03
previous
(x
01
y
01
) = (x
13
y
13
) previous
c
03
c
33
previous
(x
02
y
02
) = (x
23
y
23
) previous
(x
03
y
03
) = (x
33
y
33
) previous
f 
=
2
x
13
y
13
x
23
y
23
x
33
y
33
x
32
y
32
x
31
y
31
x
30
y
30
x
20
y
20
x
10
y
10
x
11
y
11
x
12
y
12
x
22
y
22
x
21
y
21
c
33
c
30
Implicit values: 
(x
00
y
00
) = (x
33
y
33
) previous
c
00
c
33
previous
(x
01
y
01
) = (x
32
y
32
) previous
c
03
c
30
previous
(x
02
y
02
) = (x
31
y
31
) previous
(x
03
y
03
) = (x
30
y
30
) previous
f 
=
3
x
13
y
13
x
23
y
23
x
33
y
33
x
32
y
32
x
31
y
31
x
30
y
30
x
20
y
20
x
10
y
10
x
11
y
11
x
12
y
12
x
22
y
22
x
21
y
21
c
33
c
30
Implicit values: 
(x
00
y
00
) = (x
30
y
30
) previous
c
00
c
30
previous
(x
01
y
01
) = (x
20
y
20
) previous
c
03
c
00
previous
(x
02
y
02
) = (x
10
y
10
) previous
(x
03
y
03
) = (x
00
y
00
) previous
PDF 32000-1:2008
202
© 
Adobe Systems Incorporated 2008 – All rights reserved
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  8.10.3,  "Group  XObjects"  and  8.10.4, 
"Reference XObjects" for additional information. 
Any XObject can be painted as part of another content stream by means of the Do operator (see Table 87). 
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 behaviour differ depending on the type. 
8.8.2
PostScript XObjects
Beginning with PDF 1.1, a content stream may include PostScript language fragments. These fragments may 
be used only when printing to a PostScript  output device; they shall have  no effect either when viewing the 
document on-screen or when printing it to a non-PostScript device. In addition, conforming readers may not be 
able to interpret the PostScript fragments. Hence, this capability should be used with extreme caution and only 
if there is no other way to achieve the same result. Inappropriate use of PostScript XObjects can cause PDF 
files to print incorrectly. 
PostScript XObject  is an XObject  stream  whose Subtype  entry has the  value PS.  A PostScript  XObject 
dictionary may contain the entries shown in Table 88 in addition to the usual entries common to all streams 
(see Table 5). 
If a PDF content stream is translated by a conforming reader into the PostScript language, any Do operation 
that references a PostScript XObject may be replaced by the contents of the XObject stream itself. The stream 
shall be copied without interpretation. The PostScript fragment may use Type 1 and TrueType fonts listed in the 
Font subdictionary of the current resource dictionary (see 7.8.3, "Resource Dictionaries"), accessing them by 
their BaseFont names using the PostScript findfont operator. The fragment shall not use other types of fonts 
listed  in  the Font  subdictionary.  It  should  not  reference  the  PostScript  definitions  corresponding  to  PDF 
procedure sets (see 14.2, "Procedure Sets"), which are subject to change. 
Table 87 –  XObject Operator  
Operands
Operator
Description
name
Do
Paint the specified XObject. The operand name shall appear as a key in 
the XObject subdictionary of the current resource dictionary (see 7.8.3, 
"Resource Dictionaries"). The associated value shall 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 8.9.5, "Image 
Dictionaries"), Form   (see  8.10,  "Form  XObjects"),  or PS  (see  8.8.2, 
"PostScript XObjects"). 
Table 88 –  Additional Entries Specific to a PostScript XObject Dictionary  
Key
Type
Value
Type
name
(Optional) The type of PDF object that this dictionary describes; if present, 
shall be XObject for a PostScript XObject. 
Subtype
name
(Required) The type of XObject that this dictionary describes; shall be PS for 
a PostScript XObject. 
Alternatively,  the  value  of  this  entry  may  be Form ,  with  an  additional 
Subtype2 entry whose value shall be PS.
Level1
stream
(Optional) A stream whose contents shall be used in place of the PostScript 
XObject’s stream when the target PostScript interpreter is known to support 
only LanguageLevel 1. 
Documents you may be interested
Documents you may be interested