pdf viewer c# winform : Add an image to a pdf form SDK control service wpf web page azure dnn PDF32000_200813-part2329

© 
Adobe Systems Incorporated 2008 – All rights reserved
123
PDF 32000-1:2008
alpha source
boolean
(PDF 1.4) A flag specifying whether the current soft mask and 
alpha  constant  parameters  shall  be  interpreted  as  shape 
values (true) or opacity values (false ). This flag also governs 
the  interpretation  of  the SMask  entry,  if  any,  in  an  image 
dictionary  (see  8.9.5,  "Image  Dictionaries").  Initial  value: 
false
Table 53 –  Device-Dependent Graphics State Parameters  
Parameter
Type
Value
overprint
boolean
(PDF 1.2) A flag specifying (on output devices that support 
the overprint control feature) whether painting in one set of 
colorants  should  cause  the  corresponding  areas  of  other 
colorants to be erased (false ) or left unchanged (true); see 
8.6.7, "Overprint Control". In PDF 1.3, there are two separate 
overprint parameters: one for stroking and one for all other 
painting operations. Initial value: false. 
overprint mode
number
(PDF 1.3) A code specifying whether a colour component 
value of 0 in a DeviceCMYK colour space should erase that 
component (0) or leave it unchanged (1) when overprinting 
(see 8.6.7, "Overprint Control"). Initial value: 0. 
black generation
function 
or name
(PDF 1.2) A function that calculates the level of the black 
colour  component to  use  when  converting RGB colours  to 
CMYK (see 10.3.4, "Conversion from DeviceRGB to 
DeviceCMYK").  Initial  value:  a  conforming  reader  shall 
initialize this to a suitable device dependent value.
undercolor removal function 
or name
(PDF 1.2) A function that calculates the reduction in the 
levels of the cyan, magenta, and yellow colour components to 
compensate  for  the  amount  of  black  added  by  black 
generation  (see  10.3.4,  "Conversion  from  DeviceRGB  to 
DeviceCMYK").  Initial  value:  a  conforming  reader  shall 
initialize this to a suitable device dependent value.
transfer
function, 
array, or name
(PDF 1.2) A function that adjusts device gray or colour 
component levels to compensate for nonlinear response in a 
particular  output  device  (see  10.4,  “Transfer  Functions“). 
Initial  value:  a  conforming  reader  shall  initialize  this  to  a 
suitable device dependent value.
halftone
dictionary, 
stream, or name
(PDF 1.2) A halftone screen for gray and colour rendering, 
specified  as  a  halftone  dictionary  or  stream  (see  10.5, 
"Halftones"). Initial value: a conforming reader shall initialize 
this to a suitable device dependent value.
flatness
number
The  precision  with  which  curves  shal
l  be  rendered  on  the 
output device (see 10.6.2, "Flatness Tolerance"). The value 
of this parameter (positive number)
gives the maximum error 
tolerance, measured in output device pixels; smaller numbers 
give  smoother curves  at  the  expense of  more computation 
and memory use. Initial value: 1.0. 
Table 52 –  Device-Independent Graphics State Parameters (continued)
Parameter
Type
Value
Add an image to a pdf form - 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
add image to pdf acrobat; add image in pdf using java
Add an image to a pdf form - 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
add jpg signature to pdf; how to add image to pdf file
PDF 32000-1:2008
124
© 
Adobe Systems Incorporated 2008 – All rights reserved
NOTE 1
Some graphics state parameters are set with specific PDF operators, some are set by including a particular 
entry in a graphics state parameter dictionary, and some can be specified either way. 
EXAMPLE 2
The current line width can be set either with the w operator or (in PDF 1.3) with the LW  entry in a graphics 
state parameter dictionary, whereas the current colour is set only with specific operators, and the current 
halftone is set only with a graphics state parameter dictionary.
In  general,  a  conforming  reader,  when  interpreting  the  operators  that  set  graphics  state  parameters,  shall 
simply store them unchanged for later use when interpreting the painting operators.However, some parameters 
have special properties or call for behaviour that a conforming reader shall handle: 
Most parameters shall be of the correct type or have values that fall within a certain range. 
Parameters that are numeric values, such as the current colour, line width, and miter limit, shall be forced 
into valid range, if necessary. However, they shall not be adjusted to reflect capabilities of the raster output 
device,  such  as  resolution  or  number  of  distinguishable  colours.  Painting  operators  perform  such 
adjustments, but the adjusted values shall not be stored back into the graphics state. 
Paths shall be internal objects that shall not be directly represented in PDF. 
NOTE 2
As indicated in Table 52 and Table 53, some of the parameters—color space, color, and overprint—have two 
values, one used for stroking (of paths and text objects) and one for all other painting operations. The two 
parameter values can be set independently, allowing for operations such as combined filling and stroking of the 
same path with different colours. Except where noted, a term such as current colour should be interpreted to 
refer to whichever colour parameter applies to the operation being performed. When necessary, the individual 
colour parameters are distinguished explicitly as the stroking colour and the nonstroking colour
8.4.2
Graphics State Stack
A PDF document typically contains many graphical elements that are independent of each other and nested to 
multiple levels. The graphics state stack allows these elements to make local changes to  the graphics state 
without disturbing the graphics state of the surrounding environment. The stack is a LIFO (last in, first out) data 
structure  in  which  the  contents  of  the  graphics  state  may  be  saved  and  later  restored  using  the  following 
operators: 
The q operator shall push a copy of the entire graphics state onto the stack. 
The Q operator shall restore the entire graphics state to its former value by popping it from the stack. 
NOTE
These  operators can be used to encapsulate a  graphical element so that it can  modify parameters of  the 
graphics state and later restore them to their previous values. 
Occurrences of the q and Q operators shall be balanced within a given content stream (or within the sequence 
of streams specified in a page dictionary’s Contents array). 
smoothness
number
(PDF 1.3) The precision with which colour gradients are to be 
rendered  on  the  output  device  (see  10.6.3,  "Smoothness 
Tolerance"). The value of this parameter (0 to 1.0) gives the 
maximum  error  tolerance,  expressed  as  a  fraction  of  the 
range  of  each  colour  component;  smaller  numbers  give 
smoother  colour  transitions  at  the  expense  of  more 
computation  and  memory  use.  Initial  value:  a  conforming 
reader  shall  initialize  this  to  a  suitable  device  dependent 
value. 
Table 53 –  Device-Dependent Graphics State Parameters (continued)
Parameter
Type
Value
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Scan image to PDF, tiff and various image formats. Get image information, such as its location, zonal information Able to edit, add, delete, move, and output PDF
adding image to pdf in preview; add a jpg to a pdf
C# PDF Form Data Read Library: extract form data from PDF in C#.
featured PDF software, it should have functions for processing text, image as well can help you have a quick evaluation of our PDF SDK. Add necessary references
add picture to pdf online; how to add a jpeg to a pdf
© 
Adobe Systems Incorporated 2008 – All rights reserved
125
PDF 32000-1:2008
8.4.3
Details of Graphics State Parameters
8.4.3.1 General
This sub-clause gives details of several of the device-independent graphics state parameters listed in Table 52. 
8.4.3.2 Line Width
The line width  parameter specifies the thickness of the line used to stroke a path. It shall be a non-negative 
number expressed  in  user space  units;  stroking  a  path shall  entail  painting  all points  whose  perpendicular 
distance from the path in user space is less than or equal to half the line width. The effect produced in device 
space depends on the current transformation matrix (CTM) in effect at the time the path is stroked. If the CTM 
specifies scaling by different factors in the horizontal and vertical dimensions, the thickness of stroked lines in 
device  space  shall  vary  according  to  their  orientation.  The  actual  line  width  achieved  can  differ  from  the 
requested width by as much as 2 device pixels, depending on the positions of lines with respect to the pixel 
grid.  Automatic stroke  adjustment may  be  used  to ensure uniform line width;  see 10.6.5, "Automatic Stroke 
Adjustment". 
A line width of 0 shall denote the thinnest line that can be rendered at device resolution: 1 device pixel wide. 
However,  some  devices  cannot  reproduce  1-pixel  lines,  and  on  high-resolution  devices,  they  are  nearly 
invisible. Since the results of rendering such zero-width lines are device-dependent, they should not be used. 
8.4.3.3 Line Cap Style
The line cap style  shall specify the shape that shall be used at the ends of open subpaths (and dashes, if any) 
when they are stroked. Table 54 shows the possible values. 
8.4.3.4 Line Join Style
The line join style  shall specify the shape to be used at the corners of paths that are stroked. Table 55 shows 
the  possible  values.  Join  styles  shall  be  significant  only  at  points  where  consecutive  segments  of  a  path 
connect at an angle; segments that meet or intersect fortuitously shall receive no special treatment. 
Table 54 –  Line Cap Styles  
Style
Appearance
Description
0
Butt cap. The stroke shall be squared off at the endpoint of the path. 
There shall be no projection beyond the end of the path. 
1
Round cap. A semicircular arc with a diameter equal to the line width 
shall be drawn around the endpoint and shall be filled in. 
2
Projecting square cap. The stroke shall continue beyond the endpoint 
of the path for a distance equal to half the line  width and shall be
squared off. 
Table 55 –  Line Join Styles  
Style
Appearance
Description
0
Miter join. The outer edges of the strokes for the two segments shall be
extended  until they  meet at  an  angle,  as  in a  picture  frame. If  the 
segments  meet  at  too  sharp an angle (as defined by the miter limit 
parameter—see  8.4.3.5,  "Miter  Limit"),  a  bevel  join  shall  be  used 
instead. 
VB.NET PDF Form Data Read library: extract form data from PDF in
featured PDF software, it should have functions for processing text, image as well can help you have a quick evaluation of our PDF SDK. Add necessary references
add an image to a pdf acrobat; add jpg to pdf file
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline Image DLLs for PDF Image Extraction in VB.NET. Add necessary references
how to add image to pdf acrobat; adding an image to a pdf
PDF 32000-1:2008
126
© 
Adobe Systems Incorporated 2008 – All rights reserved
NOTE
The  definition  of  round join  was  changed  in  PDF  1.5.  In  rare  cases, the  implementation  of the  previous 
specification could produce unexpected results.
8.4.3.5
Miter Limit
When two line segments meet at a sharp angle and mitered joins have been specified as the line join style, it is 
possible for  the  miter  to extend  far  beyond the  thickness of  the  line stroking the path. The miter limit  shall 
impose a maximum on the ratio of the miter length to the line width (see Figure 15 in Annex L). When the limit 
is exceeded, the join is converted from a miter to a bevel. 
The ratio of miter length to line width is directly related to the angle j between the segments in user space by 
the following formula: 
EXAMPLE
A miter limit of 1.414 converts miters to bevels for j less than 90 degrees, a limit of 2.0 converts them for j 
less than 60 degrees, and a limit of 10.0 converts them for j less than approximately 11.5 degrees. 
Figure 15 –  Miter Length
8.4.3.6
Line Dash Pattern
The line dash pattern  shall control the pattern of dashes and gaps used to stroke paths. It shall be specified by 
dash array  and  a dash phase.  The  dash  array’s  elements  shall  be  numbers  that  specify  the  lengths  of 
alternating dashes and gaps; the numbers shall be nonnegative and not all zero. The dash phase shall specify 
the distance into the dash pattern at which to start the dash. The elements of both the dash array and the dash 
phase shall be expressed in user space units. 
Before beginning to stroke a path, the dash array shall be cycled through, adding up the lengths of dashes and 
gaps. When the accumulated length equals the value specified by the dash phase, stroking of the path shall 
begin, and the  dash  array shall be  used cyclically  from that point onward. Table 56 shows examples of line 
1
Round join. An arc of a circle with a diameter equal to the line width 
shall  be  drawn  around  the  point  where  the  two  segments  meet, 
connecting the outer edges of the strokes for the two segments. This 
pieslice-shaped figure shall be filled in, producing a rounded corner. 
2
Bevel  join. The two segments shall be finished with butt caps (see 
8.4.3.3, "Line Cap Style") and the resulting notch beyond the ends of 
the segments shall be filled with a triangle. 
Table 55 –  Line Join Styles (continued)
Style
Appearance
Description
miterLength
lineWidth
-----------------------------
1
ϕ
2
---
⎝ ⎠
⎛ ⎞
sin
------------------
=
Miter
length
Line width
j
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = True ' Add password to PDF file. PDFDocument
acrobat insert image into pdf; how to add photo to pdf in preview
C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAnnot = true; // Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = true; // Add password to PDF file. PDFDocument
add image to pdf online; how to add an image to a pdf
© 
Adobe Systems Incorporated 2008 – All rights reserved
127
PDF 32000-1:2008
dash patterns. As can be seen from the table, an empty dash array and zero phase can be used to restore the 
dash pattern to a solid line. 
Dashed lines shall wrap around curves and corners just as solid stroked lines do. The ends of each dash shall 
be treated with the current line cap style, and corners within dashes shall be treated with the current line join 
style. A stroking operation shall take no measures to coordinate the dash pattern with features of the path; it 
simply shall dispense dashes and gaps along the path in the pattern defined by the dash array. 
When a path consisting of several subpaths is stroked, each subpath shall be treated independently—that is, 
the dash pattern shall be restarted and the dash phase shall be reapplied to it at the beginning of each subpath. 
8.4.4
Graphics State Operators
Table 57 shows the operators that  set the values of  parameters in the graphics  state.  (See also the colour 
operators listed in Table 74 and the text state operators in Table 105.) 
Table 56 –  Examples of Line Dash Patterns  
Dash Array
and Phase
Appearance
Description
[ ]  0
No dash; solid, unbroken lines
[ 3 ]  0
3 units on, 3 units off, …
[ 2 ]  1
1 on, 2 off, 2 on, 2 off, …
[ 2  1 ]  0
2 on, 1 off, 2 on, 1 off, …
[ 3  5 ]  6
2 off, 3 on, 5 off, 3 on, 5 off, …
[ 2  3 ]  11
1 on, 3 off, 2 on, 3 off, 2 on, …
Table 57 –  Graphics State Operators  
Operands
Operator
Description
q
Save the  current graphics state on the graphics state stack (see 
8.4.2, "Graphics State Stack"). 
Q
Restore  the  graphics state by removing  the  most recently saved 
state  from  the  stack  and  making  it  the current  state  (see  8.4.2, 
"Graphics State Stack"). 
 b  c  d  e  f
cm
Modify the  current transformation matrix (CTM) by concatenating 
the specified matrix (see 8.3.2, "Coordinate Spaces"). Although the 
operands  specify  a  matrix,  they  shall be written as six  separate 
n
umbers, not as an array. 
lineWidth
w
Set the line width in the graphics state (see 8.4.3.2, "Line Width"). 
lineCap
J
Set the line cap style in the graphics state (see 8.4.3.3, "Line Cap 
Style"). 
lineJoin
j
Set the line join style in the graphics state (see 8.4.3.4, "Line Join 
Style"). 
miterLimit
M
Set the miter limit in the graphics state (see 8.4.3.5, "Miter Limit"). 
dashArray  dashPhase
d
Set the line dash pattern in the graphics state (see 8.4.3.6, "Line 
Dash Pattern"). 
intent
ri
(PDF 1.1) Set the colour rendering intent in the graphics state (see 
8.6.5.8, "Rendering Intents"). 
C# Create PDF from images Library to convert Jpeg, png images to
List<Bitmap> images = new List<Bitmap>(); images.Add(new Bitmap(Program.RootPath + "\\" 1.gif")); / Build a PDF document with GIF image.
add photo to pdf form; add a picture to a pdf file
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
pdf insert image; how to add image to pdf reader
PDF 32000-1:2008
128
© 
Adobe Systems Incorporated 2008 – All rights reserved
8.4.5
Graphics State Parameter Dictionaries
While some parameters in the graphics state may be set with individual operators, as shown in Table 57, others 
may  not.  The  latter  may  only  be  set  with  the  generic  graphics  state  operator gs (PDF 1.2).  The  operand 
supplied to this operator shall be the name of a graphics state parameter dictionary whose contents specify the 
values of one or more graphics state parameters. This name shall be looked up in the ExtGState subdictionary 
of the current resource dictionary. 
The graphics state parameter dictionary is also used by type 2 patterns, which do not have a content stream in 
which the graphics state operators could be invoked (see 8.7.4, "Shading Patterns"). 
Each  entry  in  the parameter dictionary shall  specify the value  of an individual graphics state parameter, as 
shown  in  Table 58.  All  entries  need  not  be  present  for  every  invocation  of  the gs  operator;  the  supplied 
parameter dictionary may include any combination of parameter entries. The results of gs shall be cumulative; 
parameter values established in previous invocations persist until explicitly overridden. 
NOTE
Note that some parameters appear in both Table 57 and Table 58; these parameters can be set either with 
individual graphics state operators or with gs. It is expected that any future extensions to the graphics state will 
be implemented by adding new entries to the graphics state parameter dictionary rather than by introducing 
new graphics state operators. 
flatness
i
Set  the  flatness  tolerance  in  the  graphics  state  (see  10.6.2, 
"Flatness Tolerance"). flatness  is a number in the range 0 to 100; a 
value  of  0  shall  specify  the  output  device’s  default  flatness 
tolerance. 
dictName
gs
(PDF 1.2) Set the specified parameters in the graphics state. 
dictName shall be the name of a graphics state parameter 
dictionary in the ExtGState subdictionary of the current resource 
dictionary (see the next sub-clause). 
Table 58 –  Entries in a Graphics State Parameter Dictionary  
Key
Type
Description
Type
name
(Optional) The type of PDF object that this dictionary describes; shall 
be ExtGState for a graphics state parameter dictionary. 
LW
number
(Optional; PDF 1.3) The line width (see 8.4.3.2, "Line Width"). 
LC
integer
(Optional; PDF 1.3) The line cap style (see 8.4.3.3, "Line Cap Style"). 
LJ
integer
(Optional; PDF 1.3) The line join style (see 8.4.3.4, "Line Join Style"). 
ML
number
(Optional; PDF 1.3) The miter limit (see 8.4.3.5, "Miter Limit"). 
D
array
(Optional; PDF 1.3) The line dash pattern, expressed as an array of 
the form [ dashArray dashPhase ], where dashArray shall be itself an 
array  and dashPhase  shall be  an  integer  (see  8.4.3.6,  "Line  Dash 
Pattern"). 
RI
name
(Optional;  PDF 1.3) The name of the rendering intent (see 8.6.5.8, 
"Rendering Intents"). 
Table 57 –  Graphics State Operators (continued)
Operands
Operator
Description
© 
Adobe Systems Incorporated 2008 – All rights reserved
129
PDF 32000-1:2008
OP
boolean
(Optional) A flag specifying whether to apply overprint (see 8.6.7, 
"Overprint Control"). In PDF 1.2 and earlier, there is a single overprint 
parameter that applies to all painting operations. Beginning with PDF 
1.3, there shall be two separate overprint parameters: one for stroking 
and one for all other painting operations. Specifying an OP entry shall 
set  both parameters  unless  there  is  also an op  entry  in  the  same 
graphics state parameter dictionary, in which case the OP entry shall 
set only the overprint parameter for stroking. 
op
boolean
(Optional; PDF 1.3) A flag specifying whether to apply overprint (see 
8.6.7, "Overprint Control") for painting operations other than stroking. If 
this entry is absent, the OP entry, if any, shall also set this parameter. 
OPM
integer
(Optional;  PDF 1.3) The overprint mode (see 8.6.7, "Overprint 
Control"). 
Font
array
(Optional; PDF 1.3) An array of the form [ font  size ], where font shall 
be an indirect reference to a font dictionary and size shall be a number 
expressed in text space units. These two  objects correspond  to the 
operands  of  the Tf  operator  (see  9.3,  "Text  State  Parameters  and 
Operators");  however,  the  first  operand  shall  be  an  indirect  object 
reference instead of a resource name. 
BG
function
(Optional) The black-generation function, which maps the interval 
[ 0.0  1.0 ]  to  the  interval  [ 0.0  1.0 ]  (see  10.3.4,  "Conversion  from 
DeviceRGB to DeviceCMYK"). 
BG2
function or name
(Optional; PDF 1.3) Same as BG except that the value may also be 
the name Default, denoting the black-generation function that was in 
effect at the start of the page. If both BG and BG2 are present in the 
same graphics state parameter dictionary, BG2 shall take precedence. 
UCR
function
(Optional) The undercolor-removal function, which maps the interval 
[ 0.0  1.0 ]  to  the  interval  [ 
1.0  1.0 ]  (see  10.3.4,  "Conversion  from 
DeviceRGB to DeviceCMYK"). 
UCR2
function or name
(Optional; PDF 1.3) Same as UCR except that the value may also be 
the name Default, denoting the undercolor-removal function that was 
in effect at the start of the page. If both UCR and UCR2 are present in 
the  same  graphics  state  parameter  dictionary, UCR2  shall  take
precedence. 
TR
function, array, or 
name
(Optional) The transfer function, which maps the interval [ 0.0 1.0 ] to 
the interval [ 0.0  1.0 ] (see 10.4, "Transfer Functions"). The value shall 
be either a single function (which applies to all process colorants) or 
an  array  of  four  functions  (which  apply  to  the  process  colorants 
individually). The name Identity  may be used to represent the identity 
function. 
TR2
function, array, or 
na
me
(Optional; PDF 1.3) Same as TR except that the value may also be the 
name Default, denoting the transfer function that was in effect at the 
start of the page. If both TR and TR2 are present in the same graphics 
state parameter dictionary, TR2 shall take precedence. 
HT
dictionary, 
stream, or name
(Optional) The halftone dictionary or stream (see 10.5, "Halftones") or 
the name Default, denoting the halftone that was in effect at the start of 
the page. 
FL
number
(Optional;  PDF 1.3) The flatness tolerance (see 10.6.2, "Flatness 
Tolerance"). 
SM
number
(Optional;  PDF 1.3) The smoothness tolerance (see 10.6.3, 
"Smoothness Tolerance"). 
Table 58 –  Entries in a Graphics State Parameter Dictionary (continued)
Key
Type
Description
PDF 32000-1:2008
130
© 
Adobe Systems Incorporated 2008 – All rights reserved
EXAMPLE
The following shows two graphics state parameter dictionaries. In the first, automatic stroke adjustment is 
turned on, and the dictionary includes a transfer function that inverts its value, f (x) = 1 - x. In the second, 
overprint is turned off, and the dictionary includes a parabolic transfer function, (x) = (2x - 1) 2, with a 
sample of 21 values. The domain of the transfer function, [ 0.0  1.0 ], is mapped to [ 0  20 ], and the range 
of the sample values, [ 0  255 ], is mapped to the range of the transfer function, [ 0.0  1.0 ].
10  0  obj
% Page object
<< /Type  /Page
/Parent  5 0 R
/Resources  20 0 R
/Contents  40 0 R
>>
endobj
20  0  obj
% Resource dictionary for page
<<   /ProcSet  [ /PDF  /Text ]
/Font  <<  /F1  25 0 R  >>
/ExtGState  <<  /GS1  30 0 R
/GS2  35 0 R
  >>
>>
endobj
30  0  obj
% First graphics state parameter dictionary
<<   /Type  /ExtGState
/SA  true
/TR  31 0 R
>>
endobj
SA
boolean
(Optional) A flag specifying whether to apply automatic stroke 
adjustment (see 10.6.5, "Automatic Stroke Adjustment"). 
BM
name or array
(Optional;  PDF 1.4) The current blend mode to be used in the 
transparent  imaging  model  (see  11.3.5,  "Blend  Mode"  and  11.6.3, 
"Specifying Blending Colour Space and Blend Mode"). 
SMask
dictionary 
or 
name
(Optional; PDF 1.4) The current soft mask, specifying the mask shape 
or mask opacity values that shall be used in the transparent imaging 
model (see 11.3.7.2, "Source Shape and Opacity" and 11.6.4.3, "Mask 
Shape and Opacity"). 
Although the current soft mask is sometimes referred to as a “soft clip,” 
altering it with the gs operator completely replaces the old value with 
the  new  one,  rather  than  intersecting  the  two  as  is  done  with  the 
current clipping path parameter (see 8.5.4, "Clipping Path Operators"). 
CA
number 
(Optional; PDF 1.4) The current stroking alpha constant, specifying the 
constant  shape  or  constant  opacity  value  that  shall  be  used  for 
stroking operations  in  the  transparent  imaging model (see 11.3.7.2, 
"Source  Shape  and  Opacity"  and  11.6.4.4,  "Constant  Shape  and 
Opacity"). 
ca
number
(Optional; PDF 1.4) Same as CA, but for nonstroking operations. 
AIS
boolean
(Optional;  PDF 1.4) The alpha source flag (“alpha is shape”), 
specifying whether the current soft mask and alpha constant shall be
interpreted as shape values (true) or opacity values (false ). 
TK
boolean
(Optional;  PDF 1.4) The text knockout flag, shall determine the 
behaviour of overlapping glyphs within a text object in the transparent 
imaging model (see 9.3.8, "Text Knockout"). 
Table 58 –  Entries in a Graphics State Parameter Dictionary (continued)
Key
Type
Description
© 
Adobe Systems Incorporated 2008 – All rights reserved
131
PDF 32000-1:2008
31  0  obj
% First transfer function
<<   /FunctionType  0
/Domain  [ 0.0  1.0 ]
/Range  [ 0.0  1.0 ]
/Size  2
/BitsPerSample  8
/Length  7
/Filter  /ASCIIHexDecode
>>
stream
01  00  >
endstream
endobj
35  0  obj
% Second graphics state parameter dictionary
<<   /Type  /ExtGState
/OP  false
/TR  36 0 R
>>
endobj
36  0  obj
% Second transfer function
<<   /FunctionType  0
/Domain  [ 0.0  1.0 ]
/Range  [ 0.0  1.0 ]
/Size  21
/BitsPerSample  8
/Length  63
/Filter  /ASCIIHexDecode
>>
stream
FF  CE  A3  7C  5B  3F  28  16  0A  02  00  02  0A  16  28  3F  5B  7C  A3  CE  FF  >
endstream
endobj
8.5 Path Construction and Painting
8.5.1
General
Paths define shapes, trajectories, and regions of all sorts. They shall be used to draw lines, define the shapes 
of filled areas, and specify boundaries for clipping other graphics. The graphics state shall include a current 
clipping path that shall define the clipping boundary for the current page. At the beginning of each page, the 
clipping path shall be initialized to include the entire page. 
A path shall be composed of straight and curved line segments, which may connect to one another or may be 
disconnected.  A  pair  of  segments  shall  be  said  to connect  only  if  they  are  defined  consecutively, with  the 
second segment starting where the first one ends. Thus, the order in which the segments of a path are defined 
shall be  significant.  Nonconsecutive segments  that meet or  intersect  fortuitously shall not be  considered to 
connect. 
NOTE
 path  is  made  up  of  one  or  more  disconnected subpaths,  each  comprising  a  sequence  of  connected 
segments.  The  topology  of  the  path  is  unrestricted:  it  may  be  concave  or  convex,  may  contain  multiple 
subpaths representing disjoint areas, and may intersect itself in arbitrary ways. 
The h operator explicitly shall connect the end of a subpath back to its starting point; such a subpath is said to 
be closed. A subpath that has not been explicitly closed is said to be open. 
PDF 32000-1:2008
132
© 
Adobe Systems Incorporated 2008 – All rights reserved
As discussed in 8.2, "Graphics Objects", a path object is defined by a sequence of operators to construct the 
path,  followed  by  one  or  more  operators  to  paint  the  path  or  to  use  it  as  a  clipping  boundary.  PDF  path 
operators fall into three categories: 
Path construction operators (8.5.2, "Path Construction Operators") define the geometry of a path. A path is 
constructed by sequentially applying one or more of these operators. 
Path-painting operators (8.5.3, "Path-Painting Operators") end a path object, usually causing the object to 
be painted on the current page in any of a variety of ways. 
Clipping  path  operators (8.5.4, "Clipping Path Operators"), invoked immediately before a path-painting 
operator, cause the path object also to be used for clipping of subsequent graphics objects. 
8.5.2
Path Construction Operators
8.5.2.1
General
A page description shall begin with an empty path and shall build up its definition by invoking one or more path 
construction operators to add segments to it. The path construction operators may be invoked in any sequence, 
but the first one invoked shall be m or re to begin a new subpath. The path definition may conclude with the 
application of a path-painting operator such as Sf, or b (see 8.5.3, "Path-Painting Operators"); this operator 
may optionally be preceded by one of the clipping path operators W or W* (8.5.4, "Clipping Path Operators"). 
NOTE
Note that the path construction operators do not place any marks on the page; only the painting operators do 
that. A path definition is not complete until a path-painting operator has been applied to it. 
The path currently under construction is called the current path. In PDF (unlike PostScript), the current path is 
not part of the graphics state and is not saved and restored along with the other graphics state parameters. 
PDF paths  shall  be strictly  internal  objects with  no  explicit  representation. After  the current  path has  been 
painted, it shall become no longer defined; there is then no current path until a new one is begun with the m or 
re operator. 
The trailing endpoint of the segment most recently added to the current path is referred to as the current point.
If  the current path is empty,  the current point shall be undefined.  Most  operators that add a segment to  the 
current path start at the current point; if the current point is undefined, an error shall be generated. 
Table 59 shows the path construction operators. All operands shall be numbers denoting coordinates in user 
space. 
Table 59 –  Path Construction Operators  
Operands
Operator
Description
x  y
m
Begin  a  new  subpath  by  moving  the  current  point  to 
coordinates  (x, y), omitting  any  connecting line segment.  If 
the  previous path  construction  operator in  the  current path 
was  also m,  the  new m  overrides  it;  no  vestige  of  the 
previous m operation remains in the path. 
x  y
l (lowercase L)
Append a straight line segment from the current point to the 
point (x, y). The new current point shall be (x, y). 
x
1
y
1
x
2
y
2
x
3
y
3
c
Append a cubic Bézier curve to the current path. The curve 
shall extend from the current point to the point (x
y
3
), using 
(x
1
y
1
) and (x
2
y
2
) as the Bézier control points (see 8.5.2.2, 
"Cubic  Bézier  Curves").  The  new  current  point  shall  be 
(x
3
y
3
). 
Documents you may be interested
Documents you may be interested