pdf viewer control in asp net c# : How to add image to pdf Library application class asp.net azure wpf ajax PDF32000_200861-part2382

© 
Adobe Systems Incorporated 2008 – All rights reserved
603
PDF 32000-1:2008
14.8.5.4.4
Layout Attributes for ILSEs
The  attributes  described  in  Table 345  apply  to  inline-level  structure  elements  (ILSEs).  They  may  also  be 
specified for a block-level element (BLSE) and may apply to any content items that are its immediate children.
InlineAlign
name
(Optional;  inheritable; table  cells  only) The alignment, in the inline-
progression direction, of content within the table cell: 
Start
Start edge of each child’s allocation rectangle aligned with 
that of the table cell’s content rectangle.
Center
Each  child  centered  within  the  table  cell.  The  distance 
between the start edges of the child’s allocation rectangle 
and the table cell’s content rectangle shall be the same as 
the distance between their end edges. 
End
End edge of each child’s allocation rectangle aligned with 
that of the table cell’s content rectangle. 
This attribute shall apply only to elements of structure type TH (Table 
header) or TD (Table data) and controls the placement of all BLSEs 
that  are  children  of  the  given  element.  The  table  cell’s  content 
rectangle  (see  “Content  and  Allocation  Rectangles”  in  14.8.5.4, 
“Layout  Attributes”)  shall  become  the  reference  area  for  all  of  its 
descendants. Default value: Start. 
TBorderStyle
name 
or 
array
(Optional; inheritable; PDF 1.5) The style of the border drawn on each 
edge  of  a  table  cell.  Allowed  values  shall  be  the  same  as  those 
specified for BorderStyle (see Table 343). If both TBorderStyle and 
BorderStyle apply to a given table cell, BorderStyle shall supersede 
TBorderStyle. Default value: None. 
TPadding
integer  or 
array
(Optional; inheritable; PDF 1.5) Specifies an offset to account for the 
separation  between  the  table  cell’s  content  rectangle  and  the 
surrounding  border  (see  “Content  and  Allocation  Rectangles”  in 
14.8.5.4, “Layout Attributes”). If both TPadding and Padding apply to 
a  given  table  cell, Padding  shall  supersede TPadding.  A  positive 
value shall enlarge the background area; a negative value shall trim it, 
and the border may overlap the element’s text or graphic. The value 
shall be either a single number representing the width of the padding, 
in default user space units, that applies to all four edges of the table 
cell or a 4-entry array representing the padding width for the before 
edge, after edge, start edge, and end edge, respectively, of the content 
rectangle. Default value: 0.
Table 344 –  Additional standard layout attributes specific to 
block-level structure elements  (continued)
Key
Type
Value
How to add image to 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 jpg to pdf file; how to add an image to a pdf in acrobat
How to add image to 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
how to add a jpg to a pdf; add photo pdf
PDF 32000-1:2008
604
© 
Adobe Systems Incorporated 2008 – All rights reserved
Table 345 –  Standard layout attributes specific to inline-level structure elements  
Key
Type
Value
BaselineShift
number
(Optional; not inheritable) The distance, in default user space units, 
by which the element’s baseline shall be shifted relative to that of its 
parent  element.  The  shift  direction  shall  be  the  opposite  of  the 
block-progression  direction  specified  by  the  prevailing 
WritingMode attribute (see “General Layout Attributes” in 14.8.5.4, 
“Layout Attributes”). Thus,  positive  values  shall  shift  the  baseline 
toward the before edge and negative values toward the after edge 
of  the  reference  area  (upward  and  downward,  respectively,  in 
Western writing systems). Default value: 0.
The shifted element may be a superscript, a subscript, or an inline 
graphic. The shift shall apply to the element, its content, and all of 
its descendants. Any further baseline shift applied to a child of this 
element shall be measured relative to the shifted baseline of this 
(parent) element. 
LineHeight
number 
or name
(Optional; inheritable) The element’s preferred height, measured in 
default  user  space  units  in  the  block-progression  direction.  The 
height of a line shall be determined by the largest LineHeight value 
for any complete or partial ILSE that it contains. 
The name Normal or Auto in place of a numeric value shall indicate 
that no specific height constraint is to be imposed. The element’s 
height shall be set to a reasonable value based on the content’s font 
size: 
Normal Adjust  the  line  height  to  include  any  nonzero  value 
specified for BaselineShift.
Auto
Adjustment  for  the  value  of BaselineShift shall  not  be 
made.
Default value: Normal. 
This attribute applies to all ILSEs (including implicit ones) that are 
children of this element or of its nested ILSEs, if any. It shall not 
apply to nested BLSEs.
When translating to a specific export format, the values Normal and 
Auto, if specified, shall be used directly if they are available in the 
target format. The meaning of the term “reasonable value” is left to 
the conforming reader to determine. It should be approximately 1.2 
times the font size, but this value can vary depending on the export 
format. 
NOTE 1
In the absence of a numeric value for LineHeight or 
an explicit value for the font size, a reasonable method 
of calculating the line height from the information in a 
Tagged PDF file is to find the difference between the 
associated  font’s Ascent  and Descent  values  (see 
9.8, “Font  Descriptors”),  map  it  from glyph  space to 
default user space (see  9.4.4, “Text  Space  Details”), 
and use the maximum resulting value for any character 
in the line. 
TextDecorationColor
array
(Optional; inheritable; PDF 1.5) The colour to be used for drawing 
text decorations. The value shall be an array of three numbers in 
the range 0.0 to 1.0, representing the red, green, and blue values, 
respectively,  of  an  RGB  colour  space.  If  this  attribute  is  not 
specified, the border colour for this element shall be the current fill 
colour in effect at the start of its associated content.
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Get image information, such as its location, zonal information, metadata, and so on. Able to edit, add, delete, move, and output PDF document image.
add image pdf; adding an image to a pdf in acrobat
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
acrobat insert image into pdf; add signature image to pdf acrobat
© 
Adobe Systems Incorporated 2008 – All rights reserved
605
PDF 32000-1:2008
TextDecorationThickness
number
(Optional; inheritable; PDF 1.5) The thickness of each line drawn as 
part  of  the  text  decoration.  The  value  shall  be  a  non-negative 
number in default user space units representing the thickness (0 is 
interpreted  as  the  thinnest  possible  line).  If  this  attribute  is  not 
specified, it shall be derived  from the current stroke thickness in 
effect at the start of the element’s associated content, transformed 
into default user space units.
TextDecorationType
name
(Optional; not inheritable) The text decoration, if any, to be applied 
to the element’s text. 
None
No text decoration
Underline
A line below the text
Overline
A line above the text
LineThrough
A line through the middle of the text
Default value: None. 
This attribute shall apply to all text content items that are children of 
this element or of its nested ILSEs, if any. The attribute shall not 
apply to nested BLSEs or to content items other than text.
The  colour,  position,  and  thickness  of  the  decoration  shall  be 
uniform across all  children, regardless  of changes in  colour,  font 
size, or other variations in the content’s text characteristics.
RubyAlign
name
(Optional; inheritable; PDF 1.5) The justification of the lines within a 
ruby assembly:
Start
The  content shall be aligned on the start  edge in  the 
inline-progression direction.
Center
The content shall be centered in the inline-progression 
direction.
End
The  content  shall  be aligned  on  the end  edge  in  the 
inline-progression direction.
Justify
The content shall be expanded to fill the available width 
in the inline-progression direction.
Distribute The content shall be expanded to fill the available width 
in the inline-progression direction. However, space shall 
also be inserted at the start edge and end edge of the 
text.  The  spacing  shall  be  distributed  using  a  1:2:1 
(start:infix:end) ratio. It shall be changed to a 0:1:1 ratio 
if the ruby appears at the start of a text line or to a 1:1:0 
ratio if the ruby appears at the end of the text line.
Default value: Distribute. 
This attribute may be specified on the RB and RT elements. When a 
ruby is formatted, the attribute shall be applied to the shorter line of 
these two elements. (If the RT element has a shorter width than the 
RB element,  the RT  element  shall be aligned  as  specified  in  its 
RubyAlign attribute.)
Table 345 –  Standard layout attributes specific to inline-level structure elements  (continued)
Key
Type
Value
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
add a picture to a pdf file; how to add picture to pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
DLLs for PDF Image Extraction in VB.NET. In order to run the sample code, the following steps would be necessary. Add necessary references:
add an image to a pdf; add image in pdf using java
PDF 32000-1:2008
606
© 
Adobe Systems Incorporated 2008 – All rights reserved
14.8.5.4.5
Content and Allocation Rectangles
As defined in 14.8.3, “Basic Layout Model,” an element’s content rectangle is an enclosing rectangle derived 
from the shape of the element’s content, which shall define the bounds used for the layout of any included child 
elements.  The allocation rectangle  includes  any  additional  borders  or  spacing  surrounding  the  element, 
affecting how it shall be positioned with respect to adjacent elements and the enclosing content rectangle or 
reference area.
The exact definition of the content rectangle shall depend on the element’s structure type:
For a table cell (structure type TH or TD), the content rectangle shall be determined from the bounding box 
of all graphics objects in the cell’s content, taking into account any explicit bounding boxes (such as the 
BBox entry in a form XObject). This implied size may be explicitly overridden by the cell’s  Width and 
Height attributes. The cell’s height shall be adjusted to equal the maximum height of any cell in its row; its 
width shall be adjusted to the maximum width of any cell in its column.
RubyPosition
name
(Optional; inheritable; PDF 1.5) The placement of the RT structure 
element relative to the RB element in a ruby assembly:
Before
The RT content shall be aligned along the before edge of 
the element.
After
The RT content shall be aligned along the after edge of 
the element.
Warichu The RT and associated RP elements shall be formatted 
as a warichu, following the RB element.
Inline
The RT and associated RP elements shall be formatted 
as a parenthesis comment, following the RB element.
Default value: Before. 
GlyphOrientationVertical
name
(Optional; inheritable; PDF 1.5) Specifies the orientation of glyphs 
when the inline-progression direction is top to bottom or bottom to 
top.
This attribute may take one of the following values:
angle A number representing the clockwise rotation in degrees of 
the top of the glyphs relative to the top of the reference area. Shall 
be a multiple of 90 degrees between -180 and +360.
AutoSpecifies a default orientation for text, depending on whether it 
is  fullwidth  (as  wide  as  it  is  high).  Fullwidth  Latin  and  fullwidth 
ideographic text (excluding  ideographic punctuation)  shall be set 
with an angle of 0. Ideographic punctuation and other ideographic 
characters having alternate horizontal and vertical forms shall use 
the vertical form of the glyph. Non-fullwidth text shall be set with an 
angle of 90.
Default value: Auto. 
NOTE 2
This  attribute is used most commonly to differentiate 
between the preferred  orientation  of alphabetic (non-
ideographic)  text  in  vertically  written  Japanese 
documents  (Auto  or  90)  and  the  orientation  of  the 
ideographic  characters  and/or  alphabetic  (non-
ideographic) text in  western signage  and advertising 
(90).
This attribute shall affect both the alignment and width of the glyphs. 
If  a  glyph  is  perpendicular  to  the  vertical  baseline,  its  horizontal 
alignment point shall be aligned with the alignment baseline for the 
script to which the glyph belongs. The width of the glyph area shall 
be determined from the horizontal width font characteristic for the 
glyph.
Table 345 –  Standard layout attributes specific to inline-level structure elements  (continued)
Key
Type
Value
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.
adding image to pdf in preview; adding images to a pdf document
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.
add an image to a pdf with acrobat; add image to pdf
© 
Adobe Systems Incorporated 2008 – All rights reserved
607
PDF 32000-1:2008
For any other BLSE, the height of the content rectangle  shall be the  sum of the heights of all BLSEs it 
contains, plus any additional spacing adjustments between these elements.
For an ILSE that contains text, the height of the content rectangle shall be set by the LineHeight attribute. 
The  width  shall  be  determined  by  summing  the  widths  of  the  contained  characters,  adjusted  for  any 
indents, letter spacing, word spacing, or line-end conditions.
For  an  ILSE  that  contains  an  illustration  or  table,  the  content  rectangle  shall  be  determined  from  the 
bounding box of all graphics objects in the content, and shall take into account any explicit bounding boxes 
(such as the BBox entry in a form XObject). This implied size may be explicitly overridden by the element’s 
Width and Height attributes.
For an ILSE that contains a mixture of elements, the height of the content rectangle shall be determined by 
aligning the child objects relative to one another based on their text baseline (for text ILSEs) or end edge 
(for  non-text  ILSEs),  along  with  any  applicable BaselineShift  attribute  (for  all  ILSEs),  and  finding  the 
extreme top and bottom for all elements.
NOTE
Some conforming readers may apply this process to all elements within the block; others may apply it on a 
line-by-line basis. 
The allocation rectangle shall be derived from the content rectangle in a way that also depends on the structure 
type: 
For a BLSE, the allocation rectangle shall be equal to the content rectangle with its before and after edges 
adjusted by the element’s SpaceBefore and SpaceAfter attributes, if any, but with no changes to the start 
and end edges.
For an ILSE, the allocation rectangle is the same as the content rectangle.
14.8.5.4.6
Illustration Attributes
Particular  uses  of  illustration  elements  (structure  types  Figure,  Formula,  or  Form)  shall  have  additional 
restrictions: 
When an illustration element has a Placement attribute of Block, it shall have a Height attribute with an 
explicitly specified numerical value (not Auto). This value shall be the sole source of information about the 
illustration’s extent in the block-progression direction. 
When an illustration element has a Placement attribute of Inline, it shall have a Width attribute with an 
explicitly specified numerical value (not Auto). This value shall be the sole source of information about the 
illustration’s extent in the inline-progression direction. 
When  an  illustration  element  has  a Placement  attribute  of  Inline,  Start,  or  End,  the  value  of  its 
BaselineShift attribute shall be used to determine the position of its after edge relative to the text baseline; 
BaselineShift shall be ignored for all other values of  Placement. (An illustration element with a 
Placement value of Start may be used to create a dropped capital; one with a Placement value of Inline 
may be used to create a raised capital.) 
14.8.5.4.7
Column Attributes
The  attributes  described  in  Table 346  shall  be  present  for  the  grouping  elements  Art,  Sect,  and  Div  (see 
14.8.4.2, “Grouping Elements”). They shall be used when the content in the grouping element is divided into 
columns.
C# PDF remove image library: remove, delete images from PDF in C#.
C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF; Remove Image from PDF Page Using C#. Add necessary references:
how to add a jpeg to a pdf; add image to pdf java
VB.NET PDF remove image library: remove, delete images from PDF in
C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF; VB.NET: Remove Image from PDF Page. Add necessary references:
add image to pdf acrobat; add image to pdf acrobat reader
PDF 32000-1:2008
608
© 
Adobe Systems Incorporated 2008 – All rights reserved
14.8.5.5
List Attribute
If present, the ListNumbering attribute, described in Table 347, shall appear in an L (List) element. It controls 
the interpretation of  the Lbl  (Label) elements  within the list’s LI  (List  item)  elements  (see “List  Elements”  in 
14.8.4.3, “Block-Level  Structure Elements”). This attribute may  only be defined in  attribute objects whose O
(owner) entry has the value List or is one of the format-specific owner names listed in Table 341.
Table 346 –  Standard column attributes  
Key
Type
Value
ColumnCount
integer
(Optional; not inheritable; PDF 1.6) The number of columns in the content 
of the grouping element. Default value: 1.
ColumnGap
number 
or array
(Optional; not inheritable; PDF 1.6) The desired space between adjacent 
columns, measured in default user space units in the inline-progression 
direction.  If the  value is  a  number,  it  specifies  the  space  between all 
columns.  If  the value  is  an  array, it  should  contain  numbers,  the  first 
element specifying the space between the first and second columns, the 
second specifying the space between the second and third columns, and 
so  on.  If  there  are  fewer  than ColumnCount  -  1  numbers,  the  last 
element  shall  specify  all  remaining  spaces;  if  there  are  more  than 
ColumnCount - 1 numbers, the excess array elements shall be ignored. 
ColumnWidths
number 
or array
(Optional; not inheritable;  PDF 1.6) The desired width of the columns, 
measured in default user space units in the inline-progression direction. If 
the value is a number, it specifies the width of all columns. If the value is 
an array, it shall contain numbers, representing the width of each column, 
in order. If there are fewer than ColumnCount numbers, the last element 
shall specify all remaining widths; if there are more than ColumnCount 
numbers, the excess array elements shall be ignored.
Table 347 –  Standard list attribute  
Key
Type
Value
ListNumbering
name
(Optional;  inheritable) The numbering system used to generate the 
content of the Lbl (Label) elements in an autonumbered list, or the symbol 
used  to  identify  each  item  in  an  unnumbered  list.  The  value  of  the 
ListNumbering shall be one of the following, and shall be applied as 
described here.
None
No  autonumbering;  Lbl  elements  (if  present)  contain 
arbitrary text not subject to any numbering scheme 
Disc
Solid circular bullet 
Circle
Open circular bullet 
Square
Solid square bullet 
Decimal
Decimal arabic numerals (1–9, 10–99, … ) 
UpperRoman Uppercase roman numerals (I, II, III, IV, … ) 
LowerRoman Lowercase roman numerals (i, ii, iii, iv, … ) 
UpperAlpha
Uppercase letters (A, B, C, … ) 
LowerAlpha
Lowercase letters (a, b, c, … ) 
Default value: None. 
The alphabet used for UpperAlpha and LowerAlpha shall be determined 
by  the  prevailing Lang  entry  (see  14.9.2,  “Natural  Language 
Specification”). 
The  set  of  possible  values  may  be  expanded  as  Unicode  identifies 
additional numbering systems. A conforming reader shall ignore any value 
not listed in this table; it shall behave as though the value were None.
© 
Adobe Systems Incorporated 2008 – All rights reserved
609
PDF 32000-1:2008
NOTE
This attribute is used to allow a content extraction tool to autonumber a list. However, the Lbl elements within 
the table should nevertheless contain the resulting numbers explicitly, so that the document can be reflowed or 
printed without the need for autonumbering. 
14.8.5.6
PrintField Attributes
(PDF 1.7) The attributes described in Table 348 identify the role of fields in non-interactive PDF forms. Such 
forms  may  have  originally  contained  interactive  fields  such  as  text  fields  and  radio  buttons  but  were  then 
converted  into  non-interactive  PDF  files,  or  they  may  have  been  designed  to  be  printed  out  and  filled  in 
manually. Since the roles of the fields cannot be determined from interactive elements, the roles are defined 
using PrintField attributes.
NOTE
PrintField attributes enable screen readers to identify page content that represents form fields (radio buttons, 
check boxes, push buttons, and text fields). These attributes enable the controls in print form fields to be 
represented in the logical structure tree and to be presented to assistive technology as if they were read-only 
interactive fields.
14.8.5.7
Table Attributes
The  value of the O (owner) entry of a  Table attributes element  shall  be Table  or one  of the  format-specific 
owner names listed in Table 341. 
Table 348 –  PrintField attributes  
Key
Type
Value
Role
name
(Optional;  not  inheritable) The type of form field represented by this 
graphic. The value of Role shall be one of the following, and a conforming 
reader shall interpret its meaning as defined herein.
rb
Radio button
cb
Check box
pb
Push button
tv
Text-value field
The tv role shall be used for interactive fields whose values have been 
converted  to text in the  non-interactive  document.  The  text  that  is  the 
value of the field shall be the content of the Form element (see Table 340).
NOTE 1
Examples include text edit  fields, numeric fields, password 
fields, digital signatures, and combo boxes.
Default value: None specified. 
checked
name
(Optional; not inheritable) The state of a radio button or check box field. 
The value shall be one of: onoff (default), or neutral.
NOTE 2
The case (capitalization) used for this key does not conform 
to the same conventions used elsewhere in this standard.
Desc
text string
(Optional; not inheritable) The alternate name of the field.
NOTE 3
Similar  to  the  value  supplied  in  the TU  entry  of  the  field 
dictionary for interactive fields (see Table 220). 
PDF 32000-1:2008
610
© 
Adobe Systems Incorporated 2008 – All rights reserved
14.9 Accessibility Support
14.9.1
General
PDF includes several facilities in support of accessibility of documents to users with disabilities. In particular, 
many visually computer users with visual impairments use screen readers to read documents aloud. To enable 
proper  vocalization,  either  through  a  screen  reader  or  by  some  more  direct  invocation  of  a  text-to-speech 
engine, PDF supports the following features: 
Specifying the natural language used for text in a PDF document—for example, as English or Spanish, or 
used to hide or reveal optional content (see 14.9.2, “Natural Language Specification”) 
Providing  textual descriptions for  images or other items that do not translate naturally into text  (14.9.3, 
“Alternate Descriptions”), or replacement text for content that does translate into text but is represented in 
a nonstandard way (such as with a ligature or illuminated character; see 14.9.4, “Replacement Text”) 
Specifying the expansion of abbreviations or acronyms (Section 14.9.5, “Expansion of Abbreviations and 
Acronyms”) 
Table 349 –  Standard table attributes  
Key
Type
Value
RowSpan
integer
(Optional; not inheritable) The number of rows in the enclosing table that 
shall be spanned by the cell. The cell shall expand by adding rows in the 
block-progression  direction  specified  by  the  table’s WritingMode
attribute. If this entry is absent, a conforming reader shall assume a value 
of 1.
This entry shall only be used when the table cell has a structure type of 
TH or TD or one that is role mapped to structure type  TH or  TD (see 
Table 337).
ColSpan
integer
(Optional; not inheritable) The number of columns in the enclosing table 
that  shall  be  spanned  by  the  cell.  The  cell  shall  expand  by  adding 
columns  in  the  inline-progression  direction  specified  by  the  table’s 
WritingMode attribute. If this entry is absent, a conforming reader shall 
assume a value of 1
This entry shall only be used when the table cell has a structure type of 
TH or TD or one that is role mapped to structure types TH or TD (see 
Table 337).
Headers
array
(Optional; not inheritable; PDF 1.5) An array of byte strings, where each 
string shall be the element identifier (see the ID  entry in Table 323) for a 
TH structure element that shall be used as a header associated with this 
cell. 
This attribute may apply to header cells (TH) as well as data cells (TD) 
(see Table 337). Therefore, the headers associated with any cell shall be 
those in its Headers array plus those in the Headers array of any TH
cells in that array, and so on recursively.
Scope
name
(Optional; not inheritable; PDF 1.5) A name whose value shall be one of 
the following: RowColumn, or Both. This attribute shall only be used 
when the structure  type of  the element is TH.  (see Table 337).  It shall 
reflect whether the header cell applies to the rest of the cells in the row 
that  contains  it,  the  column  that  contains  it,  or  both  the  row  and  the 
column that contain it.
Summary
text string
(Optional; not inheritable; PDF 1.7) A summary of the table’s purpose and 
structure. This entry shall only be used within Table structure elements 
(see Table 337). 
NOTE
For use in non-visual rendering such as speech or braille
© 
Adobe Systems Incorporated 2008 – All rights reserved
611
PDF 32000-1:2008
The  core  of  this  support  lies  in  the  ability  to  determine  the  logical  order  of  content  in  a  PDF  document, 
independently of the content’s appearance or layout, through logical structure and Tagged PDF, as described 
under 14.8.2.3, “Page Content Order.” An accessibility application can extract the content of a document for 
presentation to users with disabilities by traversing the structure hierarchy and presenting the contents of each 
node. For this reason, conforming writers ensure that all information in a document is reachable by means of 
the structure hierarchy, and they should use the facilities described in this sub-clause. 
NOTE 1
Text  can  be  extracted  from  Tagged  PDF  documents  and  examined  or  reused  for  purposes  other  than 
accessibility; see 14.8, “Tagged PDF.” 
NOTE 2
Additional  guidelines for accessibility  support of  content published on  the Web  can  be  found in  the  W3C 
document Web Content Accessibility Guidelines and the documents it points to (see the Bibliography). 
14.9.2
Natural Language Specification
14.9.2.1
General
Natural language may be specified for text in a document or for optional content. 
The  natural language  used  for  text  in a document shall  be  determined  in  a  hierarchical  fashion,  based  on 
whether an optional Lang entry (PDF 1.4) is present in any of several possible locations. At the highest level, 
the document’s default language (which applies to both text strings and text within content streams) may be 
specified  by  a Lang  entry  in  the  document  catalogue  (see  7.7.2,  “Document  Catalog”).  Below  this,  the 
language may be specified for the following items: 
Structure elements of any type (see 14.7.2, “Structure Hierarchy”), through a Lang entry in the structure 
element dictionary. 
Marked-content sequences that are not in the structure hierarchy (see 14.6, “Marked Content”), through a 
Lang entry in a property list attached to the marked-content sequence with a Span tag. 
NOTE 1
Although Span  is  also  a  standard  structure  type,  as  described  under  14.8.4.4,  “Inline-Level  Structure 
Elements,” its use here is entirely independent of logical structure.
NOTE 2
The natural language used for optional content allows content to be hidden or revealed, based on the Lang
entry (PDF 1.5) in the Language dictionary of an optional content usage dictionary. 
NOTE 3
The following sub-clauses provide details on the value of the Lang entry and the hierarchical manner in which 
the language for text in a document is determined. 
Text strings encoded in Unicode may include an escape sequence or language tag indicating the language of 
the text and overriding the prevailing Lang entry (see 7.9.2.2, “Text String Type”). 
14.9.2.2
Language Identifiers
Certain language-related dictionary entries are text strings that specify language identifiers . Such text strings 
may appear as Lang entries in the following structures or dictionaries:
Document catalogue, structure element dictionary, or property list
Optional  content  usage  dictionary’s  Language  dictionary,  the  hierarchical  issues  described  in  14.9.2.3, 
“Language Specification Hierarchy,” shall not apply to this entry 
A  language  identifier  shall  either  be  the  empty  text  string,  to  indicate  that  the  language  is  unknown,  or  a 
Language-Tag as defined in RFC 3066, Tags for the Identification of Languages.
Although language codes are commonly represented using lowercase letters and country codes are commonly 
represented using uppercase letters, all tags shall be treated as case insensitive.
PDF 32000-1:2008
612
© 
Adobe Systems Incorporated 2008 – All rights reserved
14.9.2.3
Language Specification Hierarchy
The Lang  entry  in  the  document  catalogue  shall  specify  the  default  natural  language  for  all  text  in  the 
document.  Language  specifications  may  appear  within  structure  elements,  and  they  may  appear  within 
marked-content sequences  that  are  not in  the  structure  hierarchy.  If present,  such  language  specifications 
override the default. 
Language specifications within the structure hierarchy apply in this order: 
A  structure  element’s  language  specification.  If  a  structure  element  does  not  have  a Lang  entry,  the 
element shall inherit its language from any parent element that has one.
Within  a  structure element, a language  specification  for a  nested structure  element  or  marked-content 
sequence 
If  only part of the page content is contained in the structure hierarchy,  and the structured content is nested 
within  nonstructured  content  for  which  a  different  language  specification  applies,  the  structure  element’s 
language specification shall take precedence.
A language identifier attached to a marked-content sequence with the Span tag specifies the language for all 
text in the sequence except for nested marked content that is contained in the structure hierarchy  (in which 
case the structure element’s language applies) and except where overridden by language specifications  for 
other nested marked content. 
NOTE
Examples in this sub-clause illustrate the hierarchical manner in which the language for text in a document is 
determined. 
EXAMPLE 1
This example shows how a language specified for the document as a whole could be overridden by one 
specified for  a marked-content  sequence within a  page’s content  stream, independent  of any logical 
structure.  In this case, the Lang entry in  the document catalogue  (not shown) has the value en-US, 
meaning U.S. English, and it is overridden by the Lang  property attached (with the Span  tag) to the 
marked-content sequence  Hasta  la  vista.  The Lang  property identifies  the language for  this marked 
content sequence with the value es-MX, meaning Mexican Spanish. 
 0  obj
% Page object
<<  /Type  /Page
/Contents  3 0 R
% Content stream
>>
endobj
 0  obj
% Page's content stream
<<  /Length  …  >>
stream
BT
( See you later, or as Arnold would say,  )  Tj
/Span  << /Lang  ( es-MX ) >>
% Start of marked-content sequence
BDC
( Hasta la vista . )  Tj
EMC
% End of marked-content sequence
ET
endstream
endobj
EXAMPLE 2
In the following example, the La
ng entry in the structure element dictionary (specifying English) applies to 
the marked-content sequence having an MCID (marked-content identifier) value of 0 within the indicated 
page’s content stream. However, nested within that marked-content sequence is another one in which the 
Lang property attached with the Span tag (specifying Spanish) overrides the structure element’s 
language specification. 
This example omits required St
ructParents entries in the objects used as content items (see 14.7.4.4, 
“Finding Structure Elements from Content Items”). 
Documents you may be interested
Documents you may be interested