asp.net pdf viewer disable save : Show pdf thumbnail in html application control tool html web page .net online PDFlib-7-tutorial18-part386

8.1  Simple pCOS Examples s 181
8The pCOS Interface
The pCOS (PDFlib Comprehensive Object Syntax) interface provides a simple and elegant 
facility for retrieving arbitrary information from all sections of a PDF document which 
do not describe page contents, such as page dimensions, metadata, interactive ele-
ments, etc. pCOS users are assumed to have some basic knowledge of internal PDF struc-
tures and dictionary keys, but do not have to deal with PDF syntax and parsing details.
We strongly recommend that pCOS users obtain a copy of the PDF Reference, which is 
available as follows:
Adobe Systems Incorporated: PDF Reference, Sixth Edition: Version 1.7. Download-
able PDF from 
www.adobe.com/devnet/pdf/pdf_reference.html
.
8.1Simple pCOS Examples
Cookbook A collection of pCOS coding fragments for solving specific problems can be found in the 
pCOS Cookbook.
Assuming a valid PDF document handle is available, the pCOS functions PDF_pcos_get_
number(), PDF_pcos_get_string(), and PDF_pcos_get_stream() can be used to retrieve in-
formation from a PDF using the pCOS path syntax. Table 8.1 lists some common pCOS 
paths and their meaning.
Number of pages. The total number of pages in a document can be queried as follows:
pagecount = p.pcos_get_number(doc, "length:pages");
Document info fields. Document information fields can be retrieved with the follow-
ing code sequence:
objtype = p.pcos_get_string(doc, "type:/Info/Title");
if (objtype.equals("string"))
{
/* Document info key found */
title = p.pcos_get_string(doc, "/Info/Title");
}
Page size. Although the MediaBoxCropBox, and Rotate entries of a page can directly be 
obtained via pCOS, they must be evaluated in combination in order to find the actual 
Table 8.1 1 pCOS paths for commonly used PDF objects
pCOS path
type
explanation
length:pages
number
number of pages in the document
/Info/Title
string
document info field Title
/Root/Metadata
stream
XMP stream with the document’s metadata
fonts[...]/name
string
name of a font; the number of entries can be retrieved with length:fonts
fonts[...]/embedded
boolean
embedding status of a font
pages[...]/width
number
width of the visible area of the page
Show pdf thumbnail in html - Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
pdf thumbnails in; html display pdf thumbnail
Show pdf thumbnail in html - VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
thumbnail view in for pdf files; generate thumbnail from pdf
182
Chapter 8:  The pCOS Interface
size of a page. Determining the page size is much easier with the width and height keys 
of the pages pseudo object. The following code retrieves the width and height of page 3 
(note that indices for the pages pseudo object start at 0):
pagenum = 2
width = p.pcos_get_number(doc, "pages[" + pagenum + "]/width");
height = p.pcos_get_number(doc, "pages[" + pagenum + "]/height");
Listing all fonts in a document. The following sequence creates a list of all fonts in a 
document along with their embedding status:
fontcount = p.pcos_get_number(doc, "length:fonts");
for (i=0; i < fontcount; i++)
{
fontname = p.pcos_get_string(doc, "fonts[" + i + "]/name");
embedded = p.pcos_get_number(doc, "fonts[" + i + "]/embedded");
}
Encryption status. You can query the pcosmode pseudo object to determine the pCOS 
mode for the document:
if (p.pcos_get_number(doc, "pcosmode") == 2)
{
/* full pCOS mode */
}
XMP meta data. A stream containing XMP meta data can be retrieved with the follow-
ing code sequence:
objtype = p.pcos_get_number(doc, "type:/Root/Metadata");
if (objtype.equals("stream"))
{
/* XMP meta data found */
metadata = p.pcos_get_stream(doc, "", "/Root/Metadata");
}
How to C#: Set Image Thumbnail in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff, VB.NET Imaging, VB.NET OCR, VB Thumbnail item. Make the ToolBox view show.
pdf thumbnail viewer; view pdf image thumbnail
C# Word - Header & Footer Processing in C#.NET
using RasterEdge.XDoc.Word; Create Footer & Header. The following C# sample code will show you how to create a header and footer in section.
pdf thumbnail fix; program to create thumbnail from pdf
8.2  Handling Basic PDF Data Types s 183
8.2Handling Basic PDF Data Types
pCOS offers the three functions PDF_pcos_get_number(), PDF_pcos_get_string(), and PDF_
pcos_get_stream(). These can be used to retrieve all basic data types which may appear 
in PDF documents.
Numbers. Objects of type integer and real can be queried with PDF_pcos_get_number(). 
pCOS doesn’t make any distinction between integer and floating point numbers.
Names and strings. Objects of type name and string can be queried with PDF_pcos_get_
string()
Name objects in PDF may contain non-ASCII characters and the # syntax (dec-
oration) to include certain special characters. pCOS deals with PDF names as follows:
>Name objects will be undecorated (i.e. the # syntax will be resolved) before they are 
returned.
>Name objects will be returned as Unicode strings in most language bindings. How-
ever, in the C and C++ language bindings they will be returned as UTF-8 with BOM.
Since the majority of strings in PDF are text strings PDF_pcos_get_string() will treat them 
as such. However, in rare situations strings in PDF are used to carry binary information. 
In this case strings should be retrieved with the function PDF_pcos_get_stream() which 
preserves binary strings and does not modify the contents in any way.
Booleans. Objects of type boolean can be queried with PDF_pcos_get_number() and will 
be returned as 1 (true) or 0 (false). PDF_pcos_get_string() can also be used to query bool-
ean objects; in this case they will be returned as one of the strings true and false.
Streams. Objects of type stream can be queried with PDF_pcos_get_stream(). Depend-
ing on the pCOS data type (stream or fstream) the contents will be compressed or un-
compressed. Using the keepfilter option of PDF_pcos_get_stream() the client can retrieve 
compressed data even for type stream.
Stream data in PDF may be preprocessed with one or more filters. The list of filters 
present at the stream can be queried from the stream dictionary; for images this infor-
mation is much easier accessible in the image’s filterinfo dictionary. If a stream’s filter 
chain contains only supported filters its type will be stream. When retrieving the con-
tents of a stream object, PDF_pcos_get_stream() will remove all filters and return the re-
sulting unfiltered data.
Note pCOS does not support the following stream filters: CCITTFax, JBIG2, and JPX.
If there is at least one unsupported filter in a stream’s filter chain, the object type will be 
reported as fstream (filtered stream). When retrieving the contents of an fstream object, 
PDF_pcos_get_stream() will remove the supported filters at the beginning of a filter 
chain, but will keep the remaining unsupported filters and return the stream data with 
the remaining unsupported filters still applied. The list of applied filters can be queried 
from the stream dictionary, and the filtered stream contents can be retrieved with PDF_
pcos_get_stream(). Note that the names of supported filters will not be removed when 
querying the names of the stream’s filters, so the client should ignore the names of sup-
ported filters.
How to C#: File Format Support
PowerPoint Pages. Annotate PowerPoint. Text Search. Insert Image. Thumbnail Create. VB.NET How-to, VB.NET PDF, VB.NET Word, VB Microsoft Office 2003 PowerPoint Show
pdf files thumbnails; show pdf thumbnails in
VB.NET Image: How to Process & Edit Image Using VB.NET Image
How to Process Image Using VB.NET. In this section, we will show you all VB.NET Image Cropping Assembly to Crop Image, VB.NET Image Thumbnail Creator Control SDK
create thumbnail jpg from pdf; create thumbnail jpeg from pdf
184
Chapter 8:  The pCOS Interface
8.3Composite Data Structures and IDs
Objects with one of the basic data types can be arranged in two kinds of composite data 
structures: arrays and dictionaries. pCOS does not offer specific functions for retrieving 
composite objects. Instead, the objects which are contained in a dictionary or array can 
be addressed and retrieved individually.
Arrays. Arrays are one-dimensional collections of any number of objects, where each 
object may have arbitrary type.
The contents of an array can be enumerated by querying the number of elements 
it contains (using the length prefix in front of the array’s path, see Table 8.2), and then it-
erating over all elements from index 0 to N-1.
Dictionaries. Dictionaries (also called associative arrays) contain an arbitrary number 
of object pairs. The first object in each pair has the type name and is called the key. The 
second object is called the value, and may have an arbitrary type except null).
The contents of a dictionary can be enumerated by querying the number of ele-
ments it contains (using the length prefix in front of the dictionary’s path, see Table 8.2), 
and then iterating over all elements from index 0 to N-1. Enumerating dictionaries will 
provide all dictionary keys in the order in which they are stored in the PDF using the .key 
suffix at the end of the dictionary’s path. Similarly, the corresponding values can be 
enumerated with the .val suffix. Inherited values (see below) and pseudo objects will not 
be visible when enumerating dictionary keys, and will not be included in the length 
count.
Some page-related dictionary entries in PDF can be inherited across a tree-like data 
structure, which makes it difficult to retrieve them. For example the MediaBox for a 
page is not guaranteed to be contained in the page dictionary, but may be inherited 
from an arbitrarily complex page tree. pCOS eliminates this problem by transparently 
inserting all inherited keys and values into the final dictionary. In other words, pCOS 
users can assume that all inheritable entries are available directly in a dictionary, and 
don’t have to search all relevant parent entries in the tree. This merging of inherited en-
tries is only available when accessing the pages tree via the pages[] pseudo object; ac-
cessing the /Pages tree, the objects[] pseudo object, or enumerating the keys via 
pages[][] will return the actual entries which are present in the respective dictionary, 
without any inheritance applied.
pCOS IDs for dictionaries and arrays. Unlike PDF object IDs, pCOS IDs are guaranteed 
to provide a unique identifier for an element addressed via a pCOS path (since arrays 
and dictionaries can be nested an object can have the same PDF object ID as its parent 
array or dictionary). pCOS IDs can be retrieved with the pcosid prefix in front of the dic-
tionary’s or array’s path (see Table 8.2). 
The pCOS ID can therefore be used as a shortcut for repeatedly accessing elements 
without the need for explicit path addressing. For example, this will improve perfor-
mance when looping over all elements of a large array. Use the objects[] pseudo object to 
retrieve the contents of an element identified by a particular ID.
XDoc.HTML5 Viewer for .NET, All Mature Features Introductions
By clicking a thumbnail, you are redirect to a to search text-based documents, like PDF, Microsoft Office Word In addition, you may customize to show or hide
enable pdf thumbnails in; create thumbnail jpg from pdf
VB.NET Image: Sharpen Images with DocImage SDK for .NET
This guiding page will show you how to sharpen an image in a Visual Basic .NET image processing application. Besides, we would like
view pdf thumbnails in; pdf files thumbnail preview
8.4  Path Syntax x 185
8.4Path Syntax
The backbone of the pCOS interface is a simple path syntax for addressing and retriev-
ing any object contained in a PDF document. In addition to the object data itself pCOS 
can retrieve information about an object, e.g. its type or length. Depending on the ob-
ject’s type (which itself can be queried) one of the functions PDF_pcos_get_number(), 
PDF_pcos_get_string(), and PDF_pcos_get_stream() can be used to obtain the value of an 
object. The general syntax for pCOS paths is as follows:
[<prefix>:][pseudoname[<index>]]/<name>[<index>]/<name>[<index>] ... [.key|.val]
The meaning of the various path components is as follows:
>The optional prefix can attain the values listed in Table 8.2.
>The optional pseudo object name may contain one of the values described in Section 
8.5, »Pseudo Objects«, page 187.
>The name components are dictionary keys found in the document. Multiple names 
are separated with a / character. An empty path, i.e. a single / denotes the docu-
ment’s Trailer dictionary. Each name must be a dictionary key present in the preced-
ing dictionary. Full paths describe the chain of dictionary keys from the initial dic-
tionary (which may be the Trailer or a pseudo object) to the target object.
>Paths or path components specifying an array or dictionary can have a numerical in-
dex which must be specified in decimal format between brackets. Nested arrays or 
dictionaries can be addressed with multiple index entries. The first entry in an array 
or dictionary has index 0.
>Paths or path components specifying a dictionary can have an index qualifier plus 
one of the suffixes .key or .val. This can be used to retrieve a particular dictionary key 
or the corresponding value of the indexed dictionary entry, respectively. If a path for 
a dictionary has an index qualifier it must be followed by one of these suffixes.
When a path component contains any of the characters /, [, ], or #, these must be ex-
pressed by a number sign # followed by a two-digit hexadecimal number.
Path prefixes. Prefixes can be used to query various attributes of an object (as opposed 
to its actual value). Table 8.2 lists all supported prefixes.
The length prefix and content enumeration via indices are only applicable to plain 
PDF objects and pseudo objects of type array, but not any other pseudo objectsThe  
pcosid prefix cannot be applied to pseudo objects. The type prefix is supported for all 
pseudo objects.
VB.NET Image: VB.NET Code to Create Watermark on Images in .NET
Add Watermark to Image. In the code tab below we will show you the We are dedicated to provide powerful & profession imaging controls, PDF document, tiff files
cannot view pdf thumbnails in; how to make a thumbnail of a pdf
VB.NET Image: VB.NET DLL for Image Basic Transforming in .NET
VB.NET demo code below will show you how to crop a local image by We are dedicated to provide powerful & profession imaging controls, PDF document, tiff files
pdf no thumbnail; .pdf printing in thumbnail size
186
Chapter 8:  The pCOS Interface
Table 8.2 2 pCOS path prefixes
prefix
explanation
length
(Number) Length of an object, which depends on the object’s type:
array
Number of elements in the array
dict
Number of key/value pairs in the dictionary
stream
Number of key/value pairs in the stream dict (not the stream length; use the Length key to 
determine the length of stream data in bytes)
fstream
Same as stream
other
0
pcosid
(Number) Unique pCOS ID for an object of type dictionary or array.
If the path describes an object which doesn’t exist in the PDF the result will be -1. This can be used to 
check for the existence of an object, and at the same time obtaining an ID if it exists.
type
(String or number) Type of the object as number or string:
0, null
Null object or object not present (use to check existence of an object)
1, boolean Boolean object
2, number Integer or real number
3, name
Name object
4, string
String object
5, array
Array object
6, dict
Dictionary object (but not stream)
7, stream
Stream object which uses only supported filters
8, fstream Stream object which uses one or more unsupported filters
C# Word - Run Processing in C#.NET
The following demo code will show you how to create a run in current paragraph. The following demo code will show you how to operate this work.
show pdf thumbnails; create thumbnail jpeg from pdf
C# Word - Table Cell Processing in C#.NET
using RasterEdge.XDoc.Word; Create and Add Cells in Table. The following demo code will show how to create a table cell and add to table.
no pdf thumbnails in; thumbnail pdf preview
8.5  Pseudo Objects s 187
8.5Pseudo Objects
Pseudo objects extend the set of pCOS paths by introducing some useful elements 
which can be used as an abbreviation for information which is present in the PDF, but 
cannot easily be accessed by reading a single value. The following sections list all sup-
ported pseudo objects. Pseudo objects of type dict can not be enumerated.
Universal pseudo objects. Universal pseudo objects are always available, regardless of 
encryption and passwords. This assumes that a valid document handle is available, 
which may require setting the option requiredmode suitably when opening the docu-
ment. Table 8.3 lists all universal pseudo objects.
Table 8.3 3 Universal pseudo objects
object name
explanation
encrypt
(Dict) Dictionary with keys describing the encryption status of the document:
length
(Number) Length of the encryption key in bits
algorithm (Number)
description(String) Encryption algorithm number or description:
-1
Unknown encryption
0
No encryption
1
40-bit RC4 (Acrobat 2-4)
2
128-bit RC4 (Acrobat 5)
3
128-bit RC4 (Acrobat 6)
4
128-bit AES (Acrobat 7)
5
Public key on top of 128-bit RC4 (Acrobat 5) (unsupported)
6
Public key on top of 128-bit AES (Acrobat 7) (unsupported)
7
Adobe Policy Server (Acrobat 7) (unsupported)
master
(Boolean) True if the PDF requires a master password to change security settings 
(permissions, user or master password),false otherwise
user
(Boolean) True if the PDF requires a user password for opening, false otherwise
noaccessible, noannots, noassemble, nocopy, noforms, nohiresprint, nomodify, noprint
(Boolean) True if the respective access protection is set, false otherwise
plainmetadata
(Boolean) True if the PDF contains unencrypted meta data, false otherwise
filename
(String) Name of the PDF file.
filesize
(Number) Size of the PDF file in bytes
linearized
(Boolean) True if the PDF document is linearized, false otherwise
major
minor
revision
(Number) Major, minor, or revision number of the library, respectively.
pcosinterface
(Number) Interface number of the underlying pCOS implementation. This specification describes inter-
face number 3. The following table details which product versions implement various pCOS interface 
numbers:
1
TET 2.0, 2.1
2
pCOS 1.0
3
PDFlib+PDI 7, PPS 7, TET 2.2, TET 2.3, pCOS 2.0, PLOP 3.0
188
Chapter 8:  The pCOS Interface
pcosmode
pcos-
modename
(Number/string) pCOS mode as number or string:
0
minimum
1
restricted
2
full
pdfversion
(Number) PDF version number multiplied by 10, e.g. 16 for PDF1.6
version
(String) Full library version string in the format <major>.<minor>.<revision>, possibly suffixed with addi-
tional qualifiers such as beta, rc, etc.
Table 8.3 3 Universal pseudo objects
object name
explanation
8.5  Pseudo Objects s 189
Pseudo objects for PDF objects, pages, and interactive elements. Table 8.4 lists pseudo 
objects which can be used for retrieving object or page information, or serve as short-
cuts for various interactive elements.
Table 8.4 4 Pseudo objects for PDF objects, pages, and interactive elements
object name
explanation
articles
(Array of dicts) Array containing the article thread dictionaries for the document. The array will have 
length 0 if the document does not contain any article threads. In addition to the standard PDF keys pCOS 
supports the following pseudo key for dictionaries in the articles array:
beads
(Array of dicts) Bead directory with the standard PDF keys, plus the following:
destpage (Number) Number of the target page (first page is 1)
bookmarks
(Array of dicts) Array containing the bookmark (outlines) dictionaries for the document. In addition to 
the standard PDF keys pCOS supports the following pseudo keys for dictionaries in the bookmarks array:
level
(Number) Indentation level in the bookmark hierarchy
destpage (Number) Number of the target page (first page is 1) if the bookmark points to a page in the 
same document, -1 otherwise.
fields
(Array of dicts) Array containing the form fields dictionaries for the document. In addition to the stan-
dard PDF keys in the field dictionary and the entries in the associated Widget annotation dictionary pCOS 
supports the following pseudo keys for dictionaries in the fields array:
level
(Number) Level in the field hierarchy (determined by ».« as separator)
fullname (String) Complete name of the form field. The same naming conventions as in Acrobat7 will 
be applied.
names
(Dict) A dictionary where each entry provides simple access to a name tree. The following name trees are 
supported: APAlternatePresentationsDestsEmbeddedFilesIDSJavaScriptPages, Renditions, 
TemplatesURLS.
Each name tree can be accessed by using the name as a key to retrieve the corresponding value, e.g.:
names/Dests[0].key retrieves the name of a destination
names/Dests[0].val retrieves the corresponding destination dictionary
In addition to standard PDF dictionary entries the following pseudo keys for dictionaries in the Dests 
names tree are supported:
destpage (number) Number of the target page (first page is 1) if the destination points to a page in the 
same document, -1 otherwise.
In order to retrieve other name tree entries these must be queried directly via /Root/Names/Dests etc. 
since they are not present in the name tree pseudo objects.
objects
(Array) Address an element for which a pCOS ID has been retrieved earlier using the pcosid prefix. The ID 
must be supplied as array index in decimal form; as a result, the PDF object with the supplied ID will be 
addressed. The length prefix cannot be used with this array.
190
Chapter 8:  The pCOS Interface
pages
(Array of dicts) Each array element addresses a page of the document. Indexing it with the decimal repre-
sentation of the page number minus one addresses that page (the first page has index 0). Using the 
length prefix the number of pages in the document can be determined. A page object addressed this way 
will incorporate all attributes which are inherited via the /Pages tree. The entries /MediaBox and /
Rotate are guaranteed to be present. In addition to standard PDF dictionary entries the following pseudo 
entries are available for each page:
colorspaces, extgstates, fonts, images, patterns, properties, shadings, templates
(Arrays of dicts) Page resources according to Table 8.5.
annots
(Array of dicts) In addition to the standard PDF keys pCOS supports the following pseudo key 
for dictionaries in the annots array:
destpage (Number; only for Subtype=Link and if a Dest entry is present) Number of the tar-
get page (first page is 1)
blocks
(Array of dicts) pages[ ]/blocks[ [ ] is a shorthand for pages[ ]/PieceInfo/PDFlib/
Private/Blocks[ ], i.e. the page’s block dictionary. In addition to the existing PDF keys pCOS 
supports the following pseudo key for dictionaries in the blocks array:
rect
(Rectangle) Similar to Rect, except that it takes into account any relevant 
CropBox/MediaBox and Rotate entries and normalizes coordinate ordering.
height
(Number) Height of the page. The MediaBox or the CropBox (if present) will be used to 
determine the height. Rotate entries will also be applied.
isempty
(Boolean) True if the page is empty, and false if the page is not empty
label
(String) The page label of the page (including any prefix which may be present). Labels will be 
displayed as in Acrobat. If no label is present (or the PageLabel dictionary is malformed), the 
string will contain the decimal page number. Roman numbers will be created in Acrobat’s 
style (e.g. VL), not in classical style which is different (e.g. XLV). If /Root/PageLabels doesn’t 
exist, the document doesn’t contain any page labels.
width
(Number) Width of the page (same rules as for height)
The following entries will be inherited: CropBoxMediaBox, Resources, Rotate.
pdfa
(String) PDF/A conformance level of the document (e.g. PDF/A-1a:2005) or none
pdfx
(String) PDF/X conformance level of the document (e.g. PDF/X-1a:2001) or none
tagged
(Boolean) True if the PDF document is tagged, false otherwise
Table 8.4 4 Pseudo objects for PDF objects, pages, and interactive elements
object name
explanation
Documents you may be interested
Documents you may be interested