pdf viewer control in asp net c# : Adding an image to a pdf application software tool html windows .net online PDF32000_200832-part2350

© 
Adobe Systems Incorporated 2008 – All rights reserved
313
PDF 32000-1:2008
Like a type 6 halftone, a type 10 halftone shall be represented as a stream containing the threshold values, with 
the parameters defining the halftone specified by entries in the stream dictionary. This dictionary may contain 
the  entries  shown  in  Table  132  in  addition  to  the  usual  entries  common to all  streams  (see Table  5).  The 
Xsquare and Ysquare entries replace the type 6 halftone’s Width and Height entries. 
The Xsquare and Ysquare entries shall specify the dimensions of the two squares in device pixels. The stream 
shall contain Xsquare 2 
+
Ysquare 2 bytes, each representing a single threshold value. The contents of square 
X shall be specified first, followed by those of square Y. Threshold values within each square shall be defined in 
device space in the same order as image samples in image space (see Figure 34), with the first value at device 
coordinates (0, 0) and horizontal coordinates changing faster than vertical coordinates. 
10.5.5.5 Type 16 Halftones
Like type 10, a type 16 halftone (PDF 1.3) defines a halftone screen with a threshold array and allows nonzero 
screen angles. In type 16, however, each element of the threshold array shall be 16 bits wide instead of 8. This 
allows the threshold array to distinguish 65,536 levels of colour rather than only 256 levels. The threshold array 
may consist of either one rectangle or two rectangles. If two rectangles are specified, they shall tile the device 
space as shown in Figure 53. The last row in the first rectangle shall be immediately adjacent to the first row in 
the second and shall start in the same column. 
Figure 53 –  Tiling of device space in a type 16 halftone
A type 16 halftone, like type 6 and type 10, shall be represented as a stream containing the threshold values, 
with  the  parameters  defining  the halftone specified by entries  in  the  stream dictionary.  This  dictionary may 
contain the entries shown in Table 133 in addition to the usual entries common to all streams (see Table 5). The 
Table 132 –  Additional entries specific to a type 10 halftone dictionary  
Key
Type
Value
Type
name
(Optional) The type of PDF object that this dictionary describes; if 
present, shall be Halftone for a halftone dictionary. 
HalftoneType
integer
(Required) A code identifying the halftone type that this dictionary 
describes; shall be 10 for this type of halftone. 
HalftoneName
byte string
(Optional) The name of the halftone dictionary. 
Xsquare
integer
(Required) The side of square X, in device pixels; see below. 
Ysquare
integer
(Required) The side of square Y, in device pixels; see below. 
TransferFunction
function or 
name
(Optional) A transfer function, which shall override the current 
transfer function  in the  graphics  state  for  the  same  component. 
This entry shall be present if the dictionary is a component of a type 
5  halftone  (see  “Type  5  Halftones”  in  10.5.5.6)  and  represents 
either a nonprimary or nonstandard primary colour component (see 
10.4, "Transfer Functions").  The  name Identity   may  be  used to 
specify the identity function. 
Width ´ Height
Height
Height2
Width
Width2 ´
Height2
Width2
Adding an image to a pdf - 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
how to add an image to a pdf file in acrobat; add picture to pdf online
Adding an image to a pdf - 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
attach image to pdf form; add image in pdf using java
PDF 32000-1:2008
314
© 
Adobe Systems Incorporated 2008 – All rights reserved
dictionary’s Width and Height entries define the dimensions of the first (or only) rectangle. The dimensions of 
the second, optional rectangle are defined by the optional entries Width2 and Height2. Each threshold value 
shall  be  represented as 2 bytes,  with the high-order byte first. The stream shall contain 2 
×
Width 
×
Height
bytes  if  there  is  only  one  rectangle  or  2 
×
(Width 
×
Height 
+
Width2 
×
Height2 bytes  if  there  are  two 
rectangles. The contents of the first rectangle are specified first, followed by those of the second rectangle. 
Threshold values within each rectangle shall be defined in device space in the same order as image samples in 
image  space  (see  Figure  34),  with  the  first  value  at  device  coordinates  (0, 0)  and  horizontal  coordinates 
changing faster than vertical coordinates. 
10.5.5.6 Type 5 Halftones
Some devices, particularly colour printers, require separate halftones for each individual colorant. Also, devices 
that can produce named separations may require individual halftones for each separation. Halftone dictionaries 
of type 5 allow individual halftones to be specified for an arbitrary number of colorants or colour components. 
A type 5 halftone dictionary (Table 134) is a composite dictionary containing independent halftone definitions 
for multiple colorants. Its keys shall be name objects representing the names of individual colorants or colour 
components.  The values  associated  with  these  keys  shall be  other  halftone  dictionaries,  each  defining  the 
halftone  screen  and  transfer  function  for  a  single  colorant  or  colour  component.  The  component  halftone 
dictionaries shall not be of halftone type 5.
Table 133 –  Additional entries specific to a type 16 halftone dictionary  
Key
Type
Value
Type
name
(Optional) The type of PDF object that this dictionary describes; 
if present, shall be Halftone for a halftone dictionary. 
HalftoneType
integer
(Required) A code identifying the halftone type that this 
dictionary describes; shall be 16 for this type of halftone. 
HalftoneName
byte string
(Optional) The name of the halftone dictionary. 
Width
integer
(Required) The width of the first (or only) rectangle in the 
threshold array, in device pixels. 
Height
integer
(Required) The height of the first (or only) rectangle in the 
threshold array, in device pixels. 
Width2
integer
(Optional) The width of the optional second rectangle in the 
threshold  array,  in  device  pixels.  If  this  entry  is  present,  the 
Height2 entry shall be present as well. If this entry is absent, the 
Height2 entry shall also be absent, and the threshold array has 
only one rectangle. 
Height2
integer
(Optional) The height of the optional second rectangle in the 
threshold array, in device pixels. 
TransferFunction
function or name
(Optional) A transfer function, which shall override the current 
transfer function in the graphics state for the same component. 
This entry shall be present if the dictionary is a component of a 
type  5  halftone  (see  10.5.5.6,  "Type  5  Halftones")  and 
represents either a nonprimary  or  nonstandard primary  colour 
component (see 10.4, "Transfer Functions"). The name Identity
may be used to specify the identity function. 
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Support adding PDF page number. Offer PDF page break inserting function. DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references:
add image to pdf online; add image field to pdf form
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF document to/from supported document and image forms. to define text or images on PDF document and Capable of adding PDF file navigation features to your VB
add image to pdf acrobat; add picture to pdf in preview
© 
Adobe Systems Incorporated 2008 – All rights reserved
315
PDF 32000-1:2008
The colorants or colour components represented in a type 5 halftone dictionary (aside from the Default entry) 
fall into two categories: 
Primary  colour  components for  the  standard  native device  colour  spaces  (Gray  for DeviceGrayRed, 
Green, and Blue for DeviceRGBCyanMagentaYellow, and Black for DeviceCMYK;). 
Nonstandard  colour  components  for use as spot  colorants  in Separation  and DeviceN  colour  spaces. 
Some of these may also be used as process colorants if the native colour space is nonstandard. 
When a halftone dictionary of some other type appears as the value of an entry in a type 5 halftone dictionary, 
it shall apply only to the single colorant or colour component named by that entry’s key. This is in contrast to 
such a dictionary’s being used as the current halftone parameter in the graphics state, which shall apply to all 
colour components. If nonprimary colorants are requested when the current halftone is defined by any means 
other than a type 5 halftone dictionary, the gray halftone screen and transfer function shall be used for all such 
colorants. 
EXAMPLE
In this example, the halftone dictionaries for the colour components and for the default all use the same 
spot function. In this example, the halftone dictionaries for the colour components and for the default all 
use the same spot function.
27  0  obj
<<  /Type  /Halftone
/HalftoneType  5
/Cyan  31 0 R
/Magenta  32 0 R
/Yellow  33 0 R
/Black  34 0 R
/Default  35 0 R
>>
endobj
31  0  obj
<<  /Type  /Halftone
/HalftoneType  1
/Frequency  89.827
/Angle  15
/SpotFunction  /Round
/AccurateScreens  true
>>
endobj
32  0  obj
Table 134 –  Entries in a type 5 halftone dictionary  
Key
Type
Value
Type
name
(Optional) The type of PDF object that this dictionary describes; if 
present, shall be Halftone for a halftone dictionary. 
HalftoneType
number
(Required) A code identifying the halftone type that this dictionary 
describes; shall be 5 for this type of halftone. 
HalftoneName
byte string
(Optional) The name of the halftone dictionary. 
any colorant
name
dictionary 
or stream
(Required,  one  per  colorant) The halftone corresponding to the 
colorant or colour component named by the key. The halftone may be 
of any type other than 5. 
Default
dictionary 
or stream
(Required) A halftone to be used for any colorant or colour component 
that does not have an entry of its own. The value shall not be 5. If there 
are any nonprimary colorants, the default halftone shall have a transfer 
function. 
C# PDF Page Insert Library: insert pages into PDF file in C#.net
By using reliable APIs, C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel
adding images to pdf; adding image to pdf form
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
how to add jpg to pdf file; how to add an image to a pdf file
PDF 32000-1:2008
316
© 
Adobe Systems Incorporated 2008 – All rights reserved
<<  /Type  /Halftone
/HalftoneType  1
/Frequency  89.827
/Angle  75
/SpotFunction  /Round
/AccurateScreens  true
>>
endobj
33  0  obj
<<  /Type  /Halftone
/HalftoneType  1
/Frequency  90.714
/Angle  0
/SpotFunction  /Round
/AccurateScreens  true
>>
endobj
34  0  obj
<<  /Type  /Halftone
/HalftoneType  1
/Frequency  89.803
/Angle  45
/SpotFunction  /Round
/AccurateScreens  true
>>
endobj
35  0  obj
<<  /Type  /Halftone
/HalftoneType  1
/Frequency  90.000
/Angle  45
/SpotFunction  /Round
/AccurateScreens  true
>>
endobj
10.6 Scan Conversion Details
10.6.1
General
The  final  step  of  rendering  shall  be scan conversion.  The  conforming  reader  executes  a  scan  conversion 
algorithm to paint graphics, text, and images in the raster memory of the output device. 
NOTE
The specifics of the scan conversion algorithm are not defined as part of PDF. Different implementations may 
perform  scan  conversion  in  different  ways;  techniques  that  are  appropriate  for  one  device  may  be 
inappropriate for another. Still, it is useful to have a general understanding of how scan conversion works, 
particularly when creating PDF files intended for viewing on a display. At the low resolutions typical of displays, 
variations of even one pixel’s width can have a noticeable effect on the appearance of painted shapes. 
Most scan conversion details are not under program control, but a few are; the parameters for controlling them 
are described here. 
10.6.2
Flatness Tolerance
The flatness tolerance  controls the maximum permitted distance in device pixels between the mathematically 
correct path and an approximation constructed from straight line segments, as shown in Figure 54. Flatness 
may be specified as the operand of the i operator (see Table 57) or as the value of the FL entry in a graphics 
state parameter dictionary (see Table 58). It shall be a positive number.
VB.NET Image: How to Draw Annotation on Doc Images with Image SDK
multi-page TIFF, Microsoft Office Word and PDF file programmer, you might need some other image annotating tutorials besides adding annotation using VB
add jpeg signature to pdf; add image to pdf reader
VB.NET TIFF: Add New Image to TIFF File in Visual Basic .NET
NET TIFF image processing SDK and its TIFF image adding function at this section, the following parts will describe the sample method for adding image to TIFF
adding images to pdf files; add a picture to a pdf document
© 
Adobe Systems Incorporated 2008 – All rights reserved
317
PDF 32000-1:2008
NOTE 1
Smaller values yield greater precision at the cost of more computation. 
NOTE 2
Although the figure exaggerates the difference between the curved and flattened paths for the sake of clarity, 
the  purpose of  the  flatness tolerance is to control  the precision of  curve rendering,  not  to draw  inscribed 
polygons. If the parameter’s value is large enough to cause visible straight line segments to appear, the result 
is unpredictable. 
Figure 54 –  Flatness tolerance
10.6.3
Smoothness Tolerance
The smoothness tolerance (PDF 1.3)  controls  the  quality  of  smooth  shading  (type 2  patterns  and  the sh
operator)  and  thus  indirectly controls  the  rendering  performance.  Smoothness  is  the  allowable colour error 
between a shading approximated by piecewise linear interpolation and the true value of a (possibly nonlinear) 
shading function. The error shall be measured for each colour component, and the maximum independent error 
shall be used. The allowable error (or tolerance) shall be expressed as a fraction of the range of the colour 
component, from 0.0 to 1.0. Thus, a smoothness tolerance of 0.1 represents a tolerance of 10 percent in each 
colour component. Smoothness may be specified as the value of the SM entry in a graphics state parameter 
dictionary (see Table 58). 
EXAMPLE
Each output device may have internal limits on the maximum and minimum tolerances attainable. setting 
smoothness to 1.0 may result in an internal smoothness of 0.5 on a high-quality colour device, while 
setting it  to 0.0 on the same  device  may  result in an  internal smoothness of  0.01 if  an error of that 
magnitude is imperceptible on the device. 
NOTE 1
The smoothness tolerance may also interact with the accuracy of colour conversion. In the case of a colour 
conversion defined by a sampled function, the conversion function is unknown. Thus the error may be sampled 
at  too  low  a  frequency,  in  which  case  the  accuracy  defined  by  the  smoothness  tolerance  cannot  be 
guaranteed. In most cases, however, where the conversion function is smooth and continuous, the accuracy 
should be within the specified tolerance. 
NOTE 2
The effect of the smoothness tolerance is similar to that of the flatness tolerance. However, that flatness is 
measured in device-dependent units of pixel width, whereas smoothness is measured as a fraction of colour 
component range. 
10.6.4
Scan Conversion Rules
The following rules determine  which device pixels a painting operation affects. All references  to coordinates 
and pixels are in device space. A shape is a path to be painted with the current colour or with an image. Its 
coordinates  are mapped into device space but  not rounded to  device pixel boundaries.  At this level, curves 
have been flattened to sequences of straight lines, and all “insideness” computations have been performed. 
Pixel boundaries always fall on integer coordinates in device space. A pixel is a square region identified by the 
location of its corner with minimum horizontal and vertical coordinates. The region is half-open, meaning that it 
includes its lower but not its upper boundaries. More precisely, for any point whose real-number coordinates 
Flatness error
tolerance
VB.NET Image: Adding Line Annotation to Images with VB.NET Doc
Codes for Line Annotation on Image. Displayed below are the complete Visual Basic .NET sample codes for adding a line annotation on your image (supporting png
add jpg signature to pdf; how to add image to pdf in preview
VB.NET Word: Word Image Adding Guide in VB.NET
Developed in .NET Framework, this Word image adding toolkit also allows provide powerful & profession imaging controls, PDF document, image to pdf files and
adding a jpg to a pdf; add image to pdf
PDF 32000-1:2008
318
© 
Adobe Systems Incorporated 2008 – All rights reserved
are  (x, y ),  let i 
=
floor (x)  and j 
=
floor (y). The  pixel that contains this point  is  the  one identified as  (i, j). The 
region belonging to that pixel is defined to be the set of points (x 
, y  
) such that i 
x 
<
i 
+
1 and j 
y 
<
j 
+
1. 
Like pixels, shapes to be painted by filling and stroking operations are also treated as half-open regions that 
include the boundaries along their “floor” sides, but not along their “ceiling” sides. 
A shape shall be scan-converted by painting any pixel whose square region intersects the shape, no matter 
how  small  the  intersection  is.  This  ensures  that  no  shape  ever  disappears  as  a  result  of  unfavourable 
placement  relative to the  device pixel grid, as might happen with other  possible scan conversion rules. The 
area covered by painted pixels shall always be at least as large as the area of the original shape. This rule 
applies  both  to  fill  operations  and  to  strokes  with  nonzero  width.  Zero-width  strokes  may  be  done  in  an 
implementation-defined manner that may include fewer pixels than the rule implies. 
NOTE 1
Normally, the intersection of two regions is defined as the intersection of their interiors. However, for purposes 
of scan conversion, a filling region is considered to intersect every pixel through which its boundary passes, 
even if the interior of the filling region is empty. 
EXAMPLE
A zero-width or zero-height rectangle paints a line 1 pixel wide. 
The region of device space to be painted by a sampled image is determined similarly to that of a filled shape, 
though not identically. The conforming reader transforms the image’s source rectangle into device space and 
defines a half-open region, just as for fill operations. However, only those pixels whose centres lie within the 
region shall be painted. The position of the centre of such a pixel—in other words, the point whose coordinate 
values have fractional parts of one-half—shall be mapped back into source space to determine how to colour 
the pixel. There shall not be averaging over the pixel area; 
NOTE 2
If the resolution of the source image is higher than that of device space, some source samples may not be 
used. 
For  clipping,  the  clipping  region  consists  of  the  set  of  pixels  that  would  be  included  by  a  fill  operation. 
Subsequent painting operations shall affect a region that is the intersection of the set of pixels defined by the 
clipping region with the set of pixels for the region to be painted. 
Scan conversion of character glyphs may be performed by a different algorithm from the preceding one. 
NOTE 3
That font rendering algorithm uses hints in the glyph descriptions and techniques that are specialized to glyph 
rasterization. 
10.6.5
Automatic Stroke Adjustment
When  a  stroke  is  drawn  along  a  path,  the  scan  conversion  algorithm  may  produce  lines  of  nonuniform 
thickness  because  of  rasterization  effects.  In general,  the  line  width  and  the  coordinates  of  the  endpoints, 
transformed into device space, are arbitrary real numbers not quantized to device pixels. A line of a given width 
can intersect with different numbers of device pixels, depending on where it is positioned. Figure 55 illustrates 
this effect. 
For  best  results,  it  is  important  to  compensate  for  the  rasterization  effects  to  produce  strokes  of  uniform 
thickness.  This  is  especially  important  in  low-resolution  display  applications.  To  meet  this  need,  PDF  1.2 
provides an optional automatic stroke adjustment feature. When stroke adjustment is enabled, the line width 
and  the  coordinates  of  a  stroke  shall  automatically  be  adjusted  as  necessary  to  produce  lines  of  uniform 
thickness. The thickness shall be as near as possible to the requested line width—no more than half a pixel 
different. 
VB.NET PDF insert text library: insert text into PDF content in vb
VB.NET PDF - Insert Text to PDF Document in VB.NET. Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program.
add png to pdf acrobat; how to add an image to a pdf in preview
© 
Adobe Systems Incorporated 2008 – All rights reserved
319
PDF 32000-1:2008
Figure 55 –  Rasterization without stroke adjustment
If stroke adjustment is enabled and the requested line width, transformed into device space, is less than half a 
pixel, the stroke shall be rendered as a single-pixel line. 
NOTE
This is the thinnest line that can be rendered at device resolution. It is equivalent to the effect produced by 
setting the line width to 0 (see 10.6.4, "Scan Conversion Rules"). 
Because automatic stroke adjustment can have a substantial effect on the appearance of lines, PDF provides 
means to control whether the adjustment shall be performed. This may be specified with the stroke adjustment 
parameter in the graphics state, set by means of the SA entry in a graphics state parameter dictionary (see 
8.4.5, "Graphics State Parameter Dictionaries"). 
Path
Resulting line
Line width
Resulting line
Line width
Path
1
pixel
PDF 32000-1:2008
320
© 
Adobe Systems Incorporated 2008 – All rights reserved
11
Transparency
11.1 General
The PDF imaging model includes the notion of transparency . Transparent objects do not necessarily obey a 
strict opaque painting model but may blend (composite) in interesting ways with other overlapping objects. This 
clause describes the general transparency model but does not cover how it is implemented. At various points it 
uses implementation-like descriptions to describe how things work, for the purpose of elucidating the behaviour 
of the model. The actual implementation will almost certainly be different from what these descriptions might 
imply. 
NOTE
Transparency was added to PDF in version 1.4
The clause is organized as follows: 
11.2,  "Overview  of  Transparency,"  introduces  the  basic  concepts  of  the  transparency  model  and  its 
associated terminology. 
11.3,  "Basic  Compositing  Computations,"  describes  the  mathematics  involved  in  compositing  a  single 
object with its backdrop. 
11.4,  "Transparency  Groups,"  introduces  the  concept  of transparency groups   and  describes  their 
properties and behaviour. 
11.5, "Soft Masks," covers the creation and use of masks to specify position-dependent shape and opacity. 
11.6, "Specifying Transparency in PDF," describes how transparency properties are represented in a PDF 
document. 
11.7, "Colour Space and Rendering Issues," deals with some specific interactions between transparency 
and other aspects of colour specification and rendering. 
11.2 Overview of Transparency
The original PDF imaging model  paints objects (fills, strokes, text, and  images), possibly clipped by a path, 
opaquely  onto  a  page.  The  colour  of  the  page  at  any  point  shall  be  that  of  the  topmost  enclosing  object, 
disregarding  any  previous  objects  it  may  overlap.  This  effect  may  be—and  often  is—realized  simply  by 
rendering  objects directly to  the  page  in  the  order in  which  they are  specified,  with each object completely 
overwriting any others that it overlaps. 
Under  the  transparent  imaging  model,  all  of the objects on a page may potentially  contribute  to  the  result. 
Objects at a given point may be thought of as forming a transparency stack  (or stack for short). The objects 
shall be arranged from bottom to top in the order in which they are specified. The colour of the page at each 
point  shall  be  determined  by  combining  the  colours  of  all  enclosing  objects  in  the  stack  according  to 
compositing rules defined by the transparency model. 
NOTE 1
The order in which objects are specified determines the stacking order but not necessarily the order in which 
the  objects  are  actually  painted  onto  the  page. In  particular,  the transparency model  does  not  require a
conforming reader to rasterize objects immediately or to commit to a raster representation at any time before 
rendering the entire stack onto the page. This is important, since rasterization often causes significant loss of 
information and precision that is best avoided during intermediate stages of the transparency computation. 
A given object shall be composited with a backdrop. Ordinarily, the backdrop consists of the stack of all objects 
that have been specified previously. The result of compositing shall then be treated as the backdrop for the 
next  object.  However,  within  certain kinds  of  transparency  groups  (see “Transparency Groups”),  a  different 
backdrop may be chosen. 
© 
Adobe Systems Incorporated 2008 – All rights reserved
321
PDF 32000-1:2008
During the compositing  of  an object with  its backdrop, the  colour at  each  point  shall  be computed  using  a 
specified blend mode, which is a function of both the object’s colour and the backdrop colour. The blend mode 
shall determine how colours interact; different blend modes may be used to achieve a variety of useful effects. 
A single blend mode shall be in effect for compositing all of a given object, but different blend modes may be 
applied to different objects. 
Two  scalar  quantities  called shape  and opacity  mediate  compositing  of  an  object  with  its  backdrop. 
Conceptually, for each object, these quantities shall be defined at every point in the plane, just as if they were 
additional  colour  components.  (In actual  practice,  they  may  be  obtained  from  auxiliary  sources  rather  than 
being intrinsic to the object.) 
Both shape and opacity vary from 0.0 (no contribution) to 1.0 (maximum contribution). At any point where either 
the shape or the opacity of an object is equal to 0.0, its colour shall be undefined. At points where the shape is 
equal to 0.0, the opacity shall also be undefined. The shape and opacity shall be subject to compositing rules; 
therefore, the stack as a whole also has a shape and opacity at each point. 
An object’s opacity, in combination with the backdrop’s opacity, shall determine the relative contributions of the 
backdrop  colour, the object’s  colour, and  the  blended  colour to  the  resulting composite  colour. The  object’s 
shape shall  then determine the degree to which  the composite colour replaces  the backdrop  colour. Shape 
values of 0.0 and 1.0 identify points that lie outside and inside a conventional sharp-edged object; intermediate 
values are useful in defining soft-edged objects. 
Shape and  opacity are  conceptually very  similar.  In fact,  they can usually be combined into a  single value, 
called alpha, which controls both the colour compositing computation and the fading between an object and its 
backdrop. However, there are a few situations in which they shall be treated separately; see 11.4.6, "Knockout 
Groups." 
NOTE 2
Raster-based implementations may need to maintain a separate shape parameter to do anti-aliasing properly; 
it is therefore convenient to have shape as an explicit part of the model. 
One or more consecutive objects in a stack may be collected together into a transparency group  (often referred 
to hereafter simply as a group). The group as a whole may have various properties that modify the compositing 
behaviour of objects within the group and their interactions with its backdrop. An additional blend mode, shape, 
and opacity may also be associated with the group as a whole and used when compositing it with its backdrop. 
Groups may be nested within other groups, forming a tree-structured hierarchy. 
EXAMPLE
Figure L.16 in Annex L illustrates the effects of transparency grouping. In the upper two figures, three 
coloured circles are painted as independent objects with no grouping. At the upper left, the three objects 
are painted opaquely (opacity = 1.0); each object completely replaces its backdrop (including previously 
painted objects) with its own colour. At the upper right, the same three independent objects are painted 
with an opacity of 0.5, causing them to composite with each other and with the gray and white backdrop. 
In the lower two figures, the three objects are combined as a transparency group. At the lower left, the 
individual objects have an opacity of 1.0 within the group, but the group as a whole is painted in the 
Normal blend mode with an opacity of 0.5. The objects thus completely overwrite each other within the 
group, but the resulting group then composites transparently with the gray and white backdrop. At the 
lower right, the objects have an opacity of 0.5 within the group and thus composite with each other. The 
group as a whole is painted against the backdrop with an opacity of 1.0 but in a different blend mode 
(HardLight), producing a different visual effect. 
The colour result of compositing a group may be converted to a single-component luminosity value and treated 
as  a soft mask.  Such  a  mask  may  then  be  used  as  an  additional  source  of  shape  or  opacity  values  for 
subsequent  compositing  operations.  When  the  mask  is  used  as  a  shape,  this  technique  is  known  as soft 
clipping; it is a generalization of the current clipping path in the opaque imaging model (see “Clipping Path 
Operators”). 
The  notion  of current page is generalized to  refer  to a transparency group consisting  of the entire stack of 
objects  placed on the page,  composited with a  backdrop  that is pure white and fully  opaque. Logically, this 
entire stack shall then be rasterized to determine the actual pixel values to be transmitted to the output device. 
PDF 32000-1:2008
322
© 
Adobe Systems Incorporated 2008 – All rights reserved
NOTE 3
In contexts where a PDF page is treated as a piece of artwork to be placed on some other page it is treated not 
as a page but as a group, whose backdrop may be defined differently from that of a page. 
11.3 Basic Compositing Computations
11.3.1
General
This  sub-clause  describes the basic computations  for  compositing  a  single  object with its backdrop. These 
computations are extended in 11.4, "Transparency Groups," to cover groups consisting of multiple objects. 
11.3.2
Basic Notation for Compositing Computations
In general, variable names in this clause consisting of a lowercase letter denote a scalar quantity, such as an 
opacity. Uppercase letters denote a value with multiple scalar components, such as a colour. In the descriptions 
of  the  basic  colour  compositing  computations,  colour  values  are  generally  denoted  by  the  letter C,  with  a 
mnemonic subscript indicating which of several colour values is being referred to; for instance, C
s
stands for 
“source colour.” Shape and opacity values are denoted respectively by the letters f (for “form factor”) and q (for 
“opaqueness”)—again with a mnemonic subscript, such as q
s
for “source opacity.” The symbol 
α
(alpha) stands 
for a product of shape and opacity values. 
In certain computations, one or more variables may have undefined values; for instance, when opacity is equal 
to zero, the corresponding colour is undefined. A quantity can also be undefined if it results from division by 
zero. In  any formula that  uses such  an  undefined  quantity, the quantity has no effect  on  the  ultimate  result 
because it is subsequently multiplied by zero or otherwise cancelled out. It is significant that while any arbitrary 
value  may  be  chosen  for  such  an  undefined  quantity,  the  computation  shall  not  malfunction  because  of 
exceptions  caused  by  overflow  or  division  by  zero.  The  further  convention  that  0 
÷
=
 should  also  be 
adopted. 
11.3.3
Basic Compositing Formula
The primary change in the imaging model to accommodate transparency is in how colours are painted. In the 
transparent model, the result of painting (the result colour) is a function of both the colour being painted (the 
source colour) and the colour it is painted over (the backdrop colour). Both of these colours may vary as a 
function  of  position  on  the  page;  however,  this  sub-clause  focuses  on  some  fixed  point  on  the  page  and 
assumes a fixed backdrop and source colour. 
This computation uses two other parameters: alpha, which controls the relative contributions of the backdrop 
and  source  colours,  and  the blend function,  which  specifies  how  they  shall  be  combined  in  the  painting 
operation.  The resulting basic colour compositing formula  (or just basic compositing formula  for short)  shall 
determine the result colour produced by the painting operation: 
where the variables have the meanings shown in Table 135. 
Table 135 –  Variables used in the basic compositing formula  
Variable
Meaning
Backdrop colour
Source colour
Result colour
C
r
1
α
s
α
r
–------
C
b
×
α
s
α
r
------
1
α
b
( –
)
C
s
×
α
b
B C
b
C
s
( ,
)
×
+
[
]
×
+
=
C
b
C
s
C
r
Documents you may be interested
Documents you may be interested