c# extract table from pdf : Export pdf bookmarks to text file application control utility azure web page winforms visual studio admin_dynconvert_10en9-part412

Dynamic Converter Administration Guide
7-1
Ch a p t e r
7.S
CRIPT
T
EMPLATES
O
VERVIEW
This section covers the following topics:
ʍ About Script Templates (page 7-2)
ʍ Elements (page 7-3)
ʍ Indexes (page 7-14)
ʍ Macros (page 7-17)
ʍ Pragmas (page 7-46)
ʍ Sample Script Templates (page 7-48)
ʍ Setting Script Template Formatting Options (page 7-61)
ʍ Breaking Documents by Structure (page 7-63)
ʍ Breaking Documents by Content Size (page 7-66)
ʍ Using Grids to Navigate Spreadsheet and Database Files (page 7-69)
Export pdf bookmarks to text file - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
acrobat split pdf bookmark; export pdf bookmarks to text
Export pdf bookmarks to text file - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmarks pdf documents; export pdf bookmarks to excel
7-2
Dynamic Converter Administration Guide
Script Templates
A
BOUT
S
CRIPT
T
EMPLATES
Script templates are the text-based conversion templates that were primarily used in earlier 
versions of Dynamic Converter. They are plain-text files that must be hand-coded with 
elementsindexesmacrospragmas, and IdocScript. You can still use this template 
format in Dynamic Converter, but GUI templates (see chapter 5) have, for the most part, 
replaced script templates.
The following is the code for a very simple script template:
{## unit}{## header}
<html>
<body>
{## /header}
<p>Here is the document you requested.
{## insert element=property.title} by 
{## insert element=property.author}</p>
<p>Below is the document itself</p>
{## insert element=body}
{## footer}
</body>
</html>
{## /footer}{## /unit}
The {## unit}, {## /unit}, {## header}, {## /header}, {## footer} and {## /footer} macros 
can be ignored for the moment. Their purpose is described in Macros (page 7-17).
The remainder of the file is regular HTML code with the exception of three macros in the 
form {## insert element=xxx}. Dynamic Converter uses this template plus the source file 
to create its output. To accomplish this, Dynamic Converter reads through the template 
file, writing it byte for byte to the output file unless character mapping is performed on the 
template. This continues until the template contains a properly formatted macro. Dynamic 
Converter reads the macro and executes the macro’s command. Usually this means 
inserting an HTML version of some element from the source file into the output file. 
Dynamic Converter then continues reading the template and executing macros until the 
end of the template file is reached.
In the example above, the first {##insert} macro uses the element syntax (described on 
page 7-20) to insert the title of the document. The second macro inserts the author of the 
Note: See the Content Server developer documentation for more information on 
Idoc Script.
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Compress & decompress PDF document file while maintaining original content of target PDF document file. Remove bookmarks, annotations, watermark, page labels
bookmarks pdf file; bookmarks pdf files
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmark pdf documents; add bookmarks to pdf online
Dynamic Converter Administration Guide
7-3
Script Templates
document and the third macro inserts the entire body of the document. The resulting 
HTML might look like this (HTML that is the result of a macro is in bold):
<html>
<body>
<p>Here is the document you requested.
A Poem
 by
Phil Boutros
</p>
<p>Below is the document itself</p>
<p>Roses are red</p>
<p>Violets are blue</p>
<p>I’m a programmer</p>
<p>and so are you</p>
</body>
</html>
E
LEMENTS
This section covers the following topics:
ʍ Element Tree (page 7-3)
ʍ Leaf Elements (page 7-5)
ʍ Repeatable Elements (page 7-5)
ʍ ElementDefinitions (page 7-5)
Element Tree
Dynamic Converter uses the concept of an element tree to make various pieces and 
attributes of the source file individually addressable from within a script template.
The nodes of the element tree are used to generate a path to a specific element, and a 
period is used to separate the nodes in this path. For example, the path of the author 
property of a document is Property.Author.
For convenience, certain nodes in an element path may be skipped because they 
represent the obvious default behavior. These nodes include the Sections node 
(Sections.Current.Body.Title is equivalent to Body.Title), and the Body and Contents 
nodes (Body.Contents.Headings.1.Body is equivalent to Headings.1.Body).
Important: These nodes may not be skipped if they are the last node in the path 
(Heading.1.Body is not equivalent to Headings.1).
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Demo Code in VB.NET. The following VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmarks in pdf from word; add bookmarks pdf
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Easy to compress & decompress PDF document file in .NET framework. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while
creating bookmarks in a pdf document; auto bookmark pdf
7-4
Dynamic Converter Administration Guide
Script Templates
There are two types of elements in the element tree: leaf elements and repeatable elements 
(see next page).
Figure 7-1 Example of an element tree
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Export PDF images to HTML images. SDK, preserves all the original anchors, links, bookmarks and font style that are included in target PDF document file.
bookmark a pdf file; export pdf bookmarks to text file
C# Create PDF Library SDK to convert PDF from other file formats
etc. Create writable PDF from text (.txt) file. file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create
adding bookmarks to pdf reader; how to add bookmarks to pdf document
Dynamic Converter Administration Guide
7-5
Script Templates
Leaf Elements
Leaf elements are single identifiable pieces of the source file like the author property 
(Property.Author) or the preface of the document (Body.Contents.Preface). This type of 
element is a valid target for inserting, testing and linking using the {## INSERT}, {## IF} 
and {## LINK...} macros. The last node in this type of path must be a valid leaf node in 
the document tree. Valid leaf nodes are shown in italics in the element tree example 
Figure 7-1.
Repeatable Elements
Repeatable elements have multiple instances associated with them, like the footnotes in a 
document (Sections.1.Footnotes). This type of element may not be directly inserted, tested 
or linked to but its instances may be looped through using the {## REPEAT} macro. The 
last node in this type of path must be a valid repeatable node in the document tree. Valid 
repeatable nodes are shown in bold in the element tree example Figure 7-1.
Some templates use {## REPEAT} loops to generate one output file per repeatable 
element. For example, a template may render a presentation file as a group of output files, 
with one output file for each slide. When an input file contains an exceptionally large 
number of sections, it is possible for an operating system to run out of file handles. See 
your operating system’s documentation or system administrator to find out how many 
open file handles are allowed. To avoid this extremely rare problem, set a value for the 
maxreps attribute of the {## REPEAT} macro or configure the operating system to allow 
more file handles.
Element Definitions
The following table contains a list of all supported elements and a brief description of 
each. (SeeIndexes on page 7-14 for a description of valid values for x.)
Element
Type
Description
Property.Author
Leaf
Author property of the source file.
Property.Title
Leaf
Title property of the source file.
Property.Subject
Leaf
Subject property of the source file
Property.Keywords
Leaf
Keywords property of the source file.
How to C#: Basic SDK Concept of XDoc.PDF for .NET
PDFTextMgr. This class provides APIs to manipulate text contents in a PDF document. OutLines. This class describes bookmarks in a PDF document.
add bookmark pdf file; how to bookmark a pdf in reader
VB.NET PDF: Basic SDK Concept of XDoc.PDF
PDFTextMgr. This class provides APIs to manipulate text contents in a PDF document. OutLines. This class describes bookmarks in a PDF document.
editing bookmarks in pdf; excel print to pdf with bookmarks
7-6
Dynamic Converter Administration Guide
Script Templates
Property.Comments
Leaf
Comments property of the source file.
Property.Others
Repeatable
This permits access to all properties not specifically 
accessible through property elements described above, 
and includes both the "Name" and the "Body" of the 
property. Which "Other" properties are supported is 
file format dependant. Some file formats also allow for 
additional user definable properties.
Note: Only text properties are accessible. 
Properties such as Yes/No, numeric values, and 
dates are not supported.
Property.Others.x.Name
Leaf
Descriptive name for the property.
Property.Others.x.Body
Leaf
Text of the property.
Sheets
Repeatable
See ‘Sections’ below.
Slides
Repeatable
See ‘Sections’ below.
Sections
Repeatable
Sections are used to represent the highest level of 
abstraction within the source file. In general, word 
processor documents will have only one section, the 
document itself. Spreadsheets have one section for 
each sheet or chart. Presentations have one section for 
each slide. Graphics generally have one section but 
may have more, as in a multi-page TIFF.
For convenience and readability, Sheets and Slides are 
synonymous with Sections.
Element
Type
Description
Dynamic Converter Administration Guide
7-7
Script Templates
Sections.x.Body
Leaf
This element represents the main textual area of the 
source file.
For word processing documents, it includes the entire 
document excluding footnotes, endnotes, headers, 
footers, and annotations. (Footnote/endnote references 
are always included automatically in the body.  If the 
template includes footnotes/endnotes, then these 
references provide a link to the note. Annotation 
references are not placed in the body unless the 
template includes annotations, in which case they 
provide links to the annotations.)
For spreadsheets, it includes the entire sheet.
For graphics, it includes any text that actually appears 
as text in the file format.
Sections.x.Body.Title
Leaf
For word processing documents, this element is the 
text marked with the title style. This may be different 
than the Property.Title. For all other types, this 
element will be the “name” of the section. For 
example, if the source file is a spreadsheet, this 
element will be the name of the sheet as it appears on 
the spreadsheet application’s navigation tabs.
Sections.x.Body.Contents
Leaf
For word processing documents, this is the same as 
Sections.x.Body.
For all other document types, this is the same as the 
body minus the title, if a title exists.
Sections.x.Body.Contents. 
Preface
Leaf
Text between the top of the body and the first heading.
Sections.x.Body.Contents. 
Headings
Repeatable
Headings are labels in a word processor document 
inserted by the author to give a document structure. 
SeeBreaking Documents by Structure (page 7-63) for 
more information on headings. Dynamic Converter 
reads this structure and, through the use of the 
Headings element, allows you to access it.
Element
Type
Description
7-8
Dynamic Converter Administration Guide
Script Templates
Sections.x.Body.Contents. 
Headings.x.Body...
Leaf with 
Leaves and 
Repeatables 
below
Under each heading, the structure of a complete 
document from Body down is repeated. See Breaking 
Documents by Structure (page7-63) for a clearer 
picture of how these elements map to parts of a 
document.
Sections.x.Body.Contents. 
Headings.x.Footnotes...
Repeatable 
with Leaves 
below
Only footnotes contained in this heading.
Sections.x.Body.Contents. 
Headings.x.Endnotes...
Repeatable 
with Leaves 
below
Only endnotes contained in this heading.
Sections.x.Body.Contents. 
Headings.x.Annotations...
Repeatable 
with Leaves 
below
Only annotations contained in this heading.
Sections.x.Grids
Repeatable
Only valid for spreadsheet and database formats. This 
permits access to the “grids” inside a section or sheet 
of a spreadsheet or database file.
Sections.x.Grids.x.Body
Repeatable
Only valid for spreadsheet and database formats. This 
permits access to the “grids” inside a section or sheet 
of a spreadsheet or database file.
Sections.x.Image
Leaf
This element represents a graphic image of the content 
of the section. It is valid only for bitmap, drawing, 
chart and presentation sections.
Sections.x.BodyOrImage
Leaf
This element exists to make it easy to build templates 
that handle a range of section types. In word 
processing documents, spreadsheets and database 
sections, BodyOrImage is synonymous with Body. 
In bitmap, drawing, chart and presentation sections, 
BodyOrImage is synonymous with Image.
Element
Type
Description
Dynamic Converter Administration Guide
7-9
Script Templates
Sections.x.Title
Leaf
Same as Sections.x.Body.Title. For word processing 
documents, this element is the text marked with the 
title style. This may be different than the 
Property.Title. For all other types, this element will be 
the “name” of the section. For example, if the source 
file is a spreadsheet, this element will be the name of 
the sheet as it appears on the spreadsheet application’s 
navigation tabs.
Sections.x.Type
Leaf
This element exists only for query purposes. It is valid 
only at the ELEMENT of a {## IF...} macro. 
This element is normally used only for query 
purposes, but it may be inserted as well. See 
sectionConditional: {##IF...}, {##ELSEIF...}, and 
{## ELSE} (page7-27) for further details on how to 
use this in an {## IF} macro.
Sections.x.Footnotes
Repeatable
All footnotes.
Sections.x.Footnotes.x. 
Body
Leaf
The complete footnote reference and content text.
Sections.x.Footnotes.x. 
Reference
Leaf
The reference number for the footnote.
Sections.x.Footnotes.x. 
Content
Leaf
The content text for the footnote.
Sections.x.Footnotes
Repeatable
All footnotes.
Sections.x.Endnotes.x. 
Body
Repeatable 
with Leaves 
below
The complete endnote reference and content text.
Sections.x.Endnotes.x. 
Reference
Repeatable 
with Leaves 
below
The reference number for the endnote.
Element
Type
Description
7-10
Dynamic Converter Administration Guide
Script Templates
Sections.x.Endnotes.x. 
Content
Repeatable 
with Leaves 
below
The content text for the endnote.
Sections.x.Annotations
Repeatable
All annotations.
Sections.x.Annotations.x. 
Body
Leaf
The complete annotation reference and content text.
Sections.x.Annotations.x. 
Reference
Leaf
The reference text for the annotation.
Sections.x.Annotations.x. 
Content
Leaf
The content text for the annotation.
Sections.x.Slidenotes
Repeatable
All slide notes.
Note: Converting the slide notes will slow 
down the conversion process for PowerPoint 
files.
Sections.x.Slidenotes.x. 
Body
Leaf
The notes for the current slide.
Note: It is recommended that you write slide 
notes at the end of the output file for 
performance reasons (PowerPoint files keep 
slide notes at the end of the file, not next to each 
slide). Not doing so will slow conversion, as the 
technology will be forced to perform excessive 
seeking in the input file.
Sections.x.Headers
Repeatable
All headers.
Sections.x.Headers.x. 
Body
Leaf
Text of the header.
Sections.x.Footers
Repeatable
All footers.
Sections.x.Footers.x. Body Leaf
Text of the footer.
Element
Type
Description
Documents you may be interested
Documents you may be interested