asp.net pdf viewer disable save : Create pdf thumbnail application Library utility azure asp.net .net visual studio PDFlib-7-tutorial2-part388

1.4  Features in PDFlib/PDFlib+PDI/PPS 7 7 21
Interpret clipping paths in TIFF and JPEG images
1
Transparent (masked) images including soft masks
Image masks (transparent images with a color applied), colorize images with a spot color
Color
Grayscale, RGB, CMYK, CIE L*a*b* color
Integrated support for PANTONE® colors (2006 edition
1
) and HKS® colors; user-defined spot colors
Color 
management
ICC-based color with ICC color profiles: honor embedded profiles in images, or apply external profiles to 
images
Rendering intent for text, graphics, and raster images
Default gray, RGB, and CMYK color spaces to remap device-dependent colors
Prepress
Generate output conforming to PDF/X-1a, PDF/X-2, and PDF/X-3, including 2003 flavors
Embed output intent ICC profile or reference standard output intent
Copy output intent from imported PDF documents (only PDFlib+PDI and PPS)
Create OPI 1.3 and OPI 2.0 information for imported images
Separation information (PlateColor)
Settings for text knockout, overprinting etc.
Archiving
Generate output conforming to PDF/A-1a:2005 and PDF/A-1b:2005
1
Formatting
Textflow: format text into one or more rectangular or arbitrarily shaped areas with hyphenation, font 
and color changes, justification methods, tabs, leaders
1
, control commands; wrap text around images
1
Flexible image placement and formatting
Table formatter places rows and columns and automatically calculates their sizes according to a variety 
of user preferences. Tables can be split across multiple pages. Table cells can hold single- or multi-line 
text, images, or PDF pages, and can be formatted with ruling and shading options.
1
Flexible stamping function
1
Matchbox concept for referencing the coordinates of placed images or other objects
1
Security
Encrypt PDF output with RC4 or AES
1
encryption algorithms
Specify permission settings (e.g. printing or copying not allowed)
Import encrypted documents (master password required; only PDFlib+PDI and PPS)
Interactive 
elements
Create form fields with all field options and JavaScript
Create actions for bookmarks, annotations, page open/close and other events
Create bookmarks with a variety of options and controls
Page transition effects, such as shades and mosaic
Create all PDF annotation types, such as PDF links, launch links (other document types), Web links
Named destinations for links, bookmarks, and document open action
Create page labels (symbolic names for pages)
Multimedia
Embed 3D animations in U3D format
1
Tagged PDF
Create Tagged PDF and structure information for accessibility, page reflow, and improved content repur-
posing; links and other annotations can be integrated in the document structure
1
Easily format large amounts of text for Tagged PDF
Metadata
Create XMP metadata from document info fields or from client-supplied XMP streams
1
Document information: standard fields (Title, Subject, Author, Keywords) and user-defined fields
Programming
Language bindings for Cobol, COM, C, C++, Java, .NET, Perl, PHP, Python, REALbasic, RPG, Ruby, Tcl
Virtual file system for supplying data in memory, e.g., images from a database
1. New or considerably improved in PDFlib/PDFlib+PDI/PPS 7
Table 1.1 1 Feature list for PDFlib, PDFlib+PDI, and the PDFlib Personalization Server (PPS)
topic
features
Create pdf thumbnail - 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 first page thumbnail; generate pdf thumbnails
Create pdf thumbnail - 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
pdf thumbnail fix; how to make a thumbnail from pdf
22
Chapter 1:  Introduction
1.5Availability of Features in different Products
Table 1.2 details the availability of features in the open source edition PDFlibLite and 
different commercial products.
Note Although source code for PDFlib Lite is available for public download, the PDFlib Lite license is 
much stricter than many common open-source licenses. Carefully review the PDFlib Lite license 
document to check whether you qualify for free use of PDFlib Lite.
Table 1.2 2 Availability of features in different products
feature
API functions, parameters, and options
PDFlib Lite
PDFlib
PDFlib+PDI
PPS
basic PDF generation
(all except those listed below)
X
X
X
X
language bindings
C, C++, Java, Perl, Tcl, PHP, Python, Ruby
X
X
X
X
language bindings
Cobol, COM, .NET, REALbasic, RPG
X
X
X
works on EBCDIC systems
all functions
X
X
X
password protection and permis-
sion settings
PDF_begin_document() with userpassword, 
masterpasswordpermissions options
X
X
X
linearized PDF
PDF_begin_document() with linearize option
X
X
X
minimize PDF file size
PDF_begin_document() with optimize option
X
X
X
font subsetting
PDF_load_font() with subsetting option
X
X
X
kerning
PDF_load_font() with kerning option
X
X
X
access Mac and Windows host fonts
PDF_load_font()
X
X
X
access system encodings on Win-
dows, iSeries, zSeries
PDF_load_font()
X
X
X
Unicode encoding and ToUnicode 
CMaps
PDF_load_font() with encoding=unicode,
autocidfontunicodemap parameters
X
X
X
numeric, character entity and glyph 
name references
charref option in PDF_fit_textline(),
charref parameter
X
X
X
proportional glyph widths for stan-
dard CJK fonts
PDF_load_font() with standard CJK fonts and 
CMaps
X
X
X
glyph ID addressing
PDF_load_font() with encoding=glyphid
X
X
X
CJK legacy encodings
PDF_load_font() with standard CMaps or CJK code 
pages
X
X
X
glyph replacement
PDF_load_font() with replacementchar option
X
X
X
extended encoding for PostScript-
based OpenType fonts 
PDF_load_font()
X
X
X
font properties for Type 3 fonts
PDF_begin_font() with options familyname, 
stretchweight
X
X
X
query font details
PDF_info_font()
X
X
X
How to C#: Generate Thumbnail for Word
Images. Convert Word to ODT. Convert PDF to Word. File: Create, Load a Word File. File: Merge Text Search. Insert Image. Thumbnail Create. Thumbnail Create. |. Home
disable pdf thumbnails; can't see pdf thumbnails
How to C#: Generate Thumbnail for PowerPoint
Conversion. Convert PowerPoint to PDF. Convert PowerPoint File: Create, Load a PowerPoint File. File Annotate PowerPoint. Text Search. Insert Image. Thumbnail Create
enable pdf thumbnail preview; can't view pdf thumbnails
1.5  Availability of Features in different Products s 23
Textflow
PDF_add_textflow(),PDF_create_textflow(), PDF_
delete_textflow(), PDF_fit_textflow(), PDF_info_
textflow()
X
X
X
Table formatting
PDF_add_table_cell(), PDF_delete_table(), PDF_
fit_table(), PDF_info_table()
X
X
X
spot color
PDF_makespotcolor()
X
X
X
color separations
PDF_begin_page_ext() with separationinfo op-
tion
X
X
X
form fields
PDF_create_field(), PDF_create_fieldgroup(),
X
X
X
JavaScript actions
PDF_create_action() with type=JavaScript
X
X
X
layers
PDF_define_layer(), PDF_begin_layer(), PDF_end_
layer(), PDF_set_layer_dependency(), PDF_create_
action() with type=SetOCGState
X
X
X
Multimedia/3D
PDF_load_3ddata() and PDF_create_3dview(), 
PDF_create_action() with type=3D
X
X
X
Tagged PDF
PDF_begin_item(), PDF_end_item(), PDF_
activate_item(), PDF_begin_document() with 
tagged and lang options
X
X
X
JPEG2000 images
PDF_load_image() with imagetype=jpeg2000
X
X
X
clipping paths in TIFF and JPEG 
images
PDF_load_image() with clippingpathname and 
honorclippingpath options
X
X
X
PDF/A
PDF_begin_document() with pdfa option 
X
X
X
PDF/X
PDF_begin_document() with pdfx option 
X
X
X
ICC profile support
PDF_load_iccprofile(), PDF_setcolor() with icc-
basedgray/rgb/cmyk, PDF_load_image() with 
honoriccprofile option, honoriccprofile pa-
rameter, PDF_begin/end_page_ext() with 
defaultgray/rgb/cmyk option
X
X
X
CIE L*a*b* color
PDF_setcolor() with type=lab; Lab TIFF images
X
X
X
OPI support
PDF_load_image() with OPI-1.3/OPI-2.0 options
X
X
X
XMP metadata support
PDF_begin_document() with autoxmp option; 
metadata option in several functions
X
X
X
PDF import (PDI)
PDF_open_pdi_document(), PDF_open_pdi_
callback(), PDF_open_pdi_page(), PDF_fit_pdi_
page(), PDF_process_pdi()
X
X
Query information from existing 
PDF with pCOS
PDF_pcos_get_number(), PDF_pcos_get_string(), 
PDF_pcos_get_stream()
X
X
variable data processing and per-
sonalization with blocks
PDF_fill_textblock(), PDF_fill_imageblock(),
PDF_fill_pdfblock()
X
PDFlib Block plugin for Acrobat
interactively create PDFlib blocks for use with PPS
X
Table 1.2 2 Availability of features in different products
feature
API functions, parameters, and options
PDFlib Lite
PDFlib
PDFlib+PDI
PPS
VB.NET Image: Program for Creating Thumbnail from Documents and
language. It empowers VB developers to create thumbnail from multiple document and image formats, such as PDF, TIFF, GIF, BMP, etc. It
pdf thumbnail; enable pdf thumbnails in
How to C#: Generate Thumbnail for Raster
PDF Reading, C#.NET Annotate PDF in WPF, C#.NET PDF Create, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel How to C#: Generate Thumbnail for Raster.
how to show pdf thumbnails in; show pdf thumbnail in html
24
Chapter 1:  Introduction
How to C#: Set Image Thumbnail in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel How to C#: Set Image Thumbnail in C#.NET. With XImage.Raster SDK library, you can create an image viewer and
program to create thumbnail from pdf; pdf thumbnail preview
Create Thumbnail in Web Image Viewer | Online Tutorials
or Images; Create Thumbnail; Generate Barcodes on Your Documents; Read Barcodes from Your Documents. Multi-page Tiff Processing; RasterEdge OCR Engine; PDF Reading
how to create a thumbnail of a pdf document; generate thumbnail from pdf
2.1  Cobol Binding g 25
2PDFlib Language Bindings
Note It is strongly recommended to take a look at the starter examples which are contained in all 
PDFlib packages. They provide a convenient starting point for your own application develop-
ment, and cover many important aspects of PDFlib programming.
2.1Cobol Binding
The PDFlib API functions for Cobol are not available under the standard C names, but 
use abbreviated function names instead. The short function names are not documented 
here, but can be found in a separate cross-reference listing (xref.txt). For example, in-
stead of using PDF_load_font() the short form PDLODFNT must be used.
PDFlib clients written in Cobol are statically linked to the PDFLBCOB object. It in turn 
dynamically loads the PDLBDLCB Load Module (DLL), which in turn dynamically loads 
the PDFlib Load Module (DLL) upon the first call to PDNEW (which corresponds to PDF_
new()). The instance handle of the newly allocated PDFlib internal structure is stored in 
the P parameter which must be provided to each call that follows.
The PDLBDLCB load module provides the interfaces between the 8-character Cobol 
functions and the core PDFlib routines. It also provides the mapping between PDFlib’s 
asynchronous exception handling and the monolithic »check each function’s return 
code« method that Cobol expects.
Note PDLBDLCB and PDFLIB must be made available to the COBOL program through the use of a 
STEPLIB.
Data types. The data types used in the PDFlib Reference must be mapped to Cobol 
data types as in the following samples:
05  PDFLIB-A4-WIDTH         USAGE COMP-1 VALUE 5.95E+2. // float
05  WS-INT                  PIC S9(9) BINARY.           // int
05  WS-FLOAT                COMP-1.                     // float
05  WS-STRING               PIC X(128).                 // const char *
05  P                       PIC S9(9) BINARY.           // long *
05  RETURN-RC               PIC S9(9) BINARY.           // int *
All Cobol strings passed to the PDFlib API should be defined with one extra byte of stor-
age for the expected LOW-VALUES (NULL) terminator.
Return values. The return value of PDFlib API functions will be supplied in an addi-
tional ret parameter which is passed by reference. It will be filled with the result of the 
respective function call. A zero return value means the function call executed just fine; 
other values signal an error, and PDF generation cannot be continued.
Functions which do not return any result (C functions with a void return type) don’t 
use this additional parameter.
Error handling. PDFlib exception handling is not available in the Cobol language bind-
ing. Instead, all API functions support an additional return code (rc) parameter which 
signals errors. The rc parameter is passed by reference, and will be used to report prob-
lems. A non-zero value indicates that the function call failed.
Create Thumbnail Winforms | Online Tutorials
Create Thumbnail; Generate Barcodes on Your Documents; Read Barcodes from Your Documents. Multi-page Tiff Processing; RasterEdge OCR Engine; PDF Reading; Encode
show pdf thumbnails in; pdf files thumbnails
How to C#: Overview of Using XImage.Raster
You may edit the tiff document easily. Create Thumbnail. See this C# guide to learn how to use RasterEdge XImage SDK for .NET to perform quick file navigation.
show pdf thumbnail in; enable thumbnail preview for pdf files
26
Chapter 2:  PDFlib Language Bindings
2.2COM Binding
(This section is only included in the COM/.NET/REALbasic edition of the PDFlib tutorial.)
2.3  C Binding g 27
2.3C Binding
PDFlib itself is written in the ANSI C language. In order to use the PDFlib C binding, you 
can use a static or shared library (DLL on Windows and MVS), and you need the central 
PDFlib include file pdflib.h for inclusion in your PDFlib client source modules. Alterna-
tively, pdflibdl.h can be used for dynamically loading the PDFlib DLL at runtime (see next 
section for details).
Using PDFlib as a DLL loaded at Runtime. While most clients will use PDFlib as a stati-
cally bound library or a dynamic library which is bound at link time, you can also load 
the PDFlib DLL at runtime and dynamically fetch pointers to all API functions. This is es-
pecially useful to load the PDFlib DLL only on demand, and on MVS where the library is 
customarily loaded as a DLL at runtime without explicitly linking against PDFlib. PDFlib 
supports a special mechanism to facilitate this dynamic usage. It works according to the 
following rules:
>Include pdflibdl.h instead of pdflib.h.
>Use PDF_new_dl() and PDF_delete_dl() instead of PDF_new() and PDF_delete().
>Use PDF_TRY_DL() and PDF_CATCH_DL() instead of PDF_TRY() and PDF_CATCH().
>Use function pointers for all other PDFlib calls.
>PDF_get_opaque() must not be used.
>Compile the auxiliary module pdflibdl.c and link your application against it.
Note Loading the PDFlib DLL at runtime is supported on selected platforms only.
Error Handling in C. PDFlib supports structured exception handling with try/catch 
clauses. This allows C and C++ clients to catch exceptions which are thrown by PDFlib, 
and react on the exception in an adequate way. In the catch clause the client will have 
access to a string describing the exact nature of the problem, a unique exception num-
ber, and the name of the PDFlib API function which threw the exception. The general 
structure of a PDFlib C client program with exception handling looks as follows:
PDF_TRY(p)
{
...some PDFlib instructions...
}
PDF_CATCH(p)
{
printf("PDFlib exception occurred in hello sample:\n");
printf("[%d] %s: %s\n",
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
PDF_delete(p);
return(2);
}
PDF_delete(p);
PDF_TRY/PDF_CATCH are implemented as tricky preprocessor macros. Accidentally omit-
ting one of these will result in compiler error messages which may be difficult to com-
prehend. Make sure to use the macros exactly as shown above, with no additional code 
between the TRY and CATCH clauses (except PDF_CATCH()).
An important task of the catch clause is to clean up PDFlib internals using PDF_
delete() and the pointer to the PDFlib object. PDF_delete() will also close the output file if 
28
Chapter 2:  PDFlib Language Bindings
necessary. After fatal exceptions the PDF document cannot be used, and will be left in 
an incomplete and inconsistent state. Obviously, the appropriate action when an ex-
ception occurs is application-specific.
For C and C++ clients which do not catch exceptions, the default action upon excep-
tions is to issue an appropriate message on the standard error channel, and exit on fatal 
errors. The PDF output file will be left in an incomplete state! Since this may not be ade-
quate for a library routine, for serious PDFlib projects it is strongly advised to leverage 
PDFlib’s exception handling facilities. A user-defined catch clause may, for example, 
present the error message in a GUI dialog box, and take other measures instead of abort-
ing.
Volatile variables. Special care must be taken regarding variables that are used in both 
the PDF_TRY() and the PDF_CATCH() blocks. Since the compiler doesn’t know about the 
control transfer from one block to the other, it might produce inappropriate code (e.g., 
register variable optimizations) in this situation. Fortunately, there is a simple rule to 
avoid these problems:
Note Variables used in both the PDF_TRY() and PDF_CATCH() blocks should be declared volatile.
Using the volatile keyword signals to the compiler that it must not apply (potentially 
dangerous) optimizations to the variable.
Nesting try/catch blocks and rethrowing exceptions. PDF_TRY( ) blocks may be nested 
to an arbitrary depth. In the case of nested error handling, the inner catch block can acti-
vate the outer catch block by re-throwing the exception:
PDF_TRY(p)
/* outer try block */
{
/* ... */
PDF_TRY(p)
/* inner try block */
{
/* ... */
}
PDF_CATCH(p)
/* inner catch block */
{
/* error cleanup */
PDF_RETHROW(p);
}
/* ... */
}
PDF_CATCH(p)
/* outer catch block */
{
/* more error cleanup */
PDF_delete(p);
}
The PDF_RETHROW() invocation in the inner error handler will transfer program execu-
tion to the first statement of the outer PDF_CATCH() block immediately.
Prematurely exiting a try block. If a PDF_TRY() block is left – e.g., by means of a return 
statement –, thus bypassing the invocation of the corresponding PDF_CATCH() macro, 
the PDF_EXIT_TRY() macro must be used to inform the exception machinery. No other li-
brary function must be called between this macro and the end of the try block:
2.3  C Binding g 29
PDF_TRY(p)
{
/* ... */
if (error_condition)
{
PDF_EXIT_TRY(p);
return -1;
}
}
PDF_CATCH(p)
{
/* error cleanup */
PDF_RETHROW(p);
}
Memory Management in C. In order to allow for maximum flexibility, PDFlib’s inter-
nal memory management routines (which are based on standard C malloc/free) can be 
replaced by external procedures provided by the client. These procedures will be called 
for all PDFlib-internal memory allocation or deallocation. Memory management rou-
tines can be installed with a call to PDF_new2(), and will be used in lieu of PDFlib’s inter-
nal routines. Either all or none of the following routines must be supplied:
>an allocation routine
>a deallocation (free) routine
>a reallocation routine for enlarging memory blocks previously allocated with the al-
location routine.
The memory routines must adhere to the standard C malloc/free/realloc semantics, but 
may choose an arbitrary implementation. All routines will be supplied with a pointer to 
the calling PDFlib object. The only exception to this rule is that the very first call to the 
allocation routine will supply a PDF pointer of NULL. Client-provided memory alloca-
tion routines must therefore be prepared to deal with a NULL PDF pointer.
Using the PDF_get_opaque() function, an opaque application specific pointer can be 
retrieved from the PDFlib object. The opaque pointer itself is supplied by the client in 
the PDF_new2() call. The opaque pointer is useful for multi-threaded applications which 
may want to keep a pointer to thread- or class specific data inside the PDFlib object, for 
use in memory management or error handling. 
Unicode in the C Language Binding. Clients of the C language binding must take care 
not to use the standard text output functions (PDF_show()PDF_show_xy(), and PDF_
continue_text()) when the text may contain embedded null characters. In such cases the 
alternate functions PDF_show2() etc. must be used, and the length of the string must be 
supplied separately. This is not a concern for all other language bindings since the 
PDFlib language wrappers internally call PDF_show2( ) etc. in the first place.
30
Chapter 2:  PDFlib Language Bindings
2.4C++ Binding
In addition to the pdflib.h C header file, an object-oriented wrapper for C++ is supplied 
for PDFlib clients. It requires the pdflib.hpp header file, which in turn includes pdflib.h. 
The corresponding pdflib.cpp module should be linked against the application which in 
turn should be linked against the generic PDFlib C library.
Using the C++ object wrapper replaces the PDF_prefix in all PDFlib function names 
with a more object-oriented approach.
Error Handling in C++. PDFlib API functions will throw a C++ exception in case of an 
error. These exceptions must be caught in the client code by using C++ try/catch clauses. 
In order to provide extended error information the PDFlib class provides a public 
PDFlib::Exception class which exposes methods for retrieving the detailed error message, 
the exception number, and the name of the PDFlib API function which threw the excep-
tion.
Native C++ exceptions thrown by PDFlib routines will behave as expected. The fol-
lowing code fragment will catch exceptions thrown by PDFlib:
try {
...some PDFlib instructions...
catch (PDFlib::Exception &ex) {
cerr << "PDFlib exception occurred in hello sample: " << endl;
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
<< ": " << ex.get_errmsg() << endl;
return 2;
}
Memory Management in C++. Client-supplied memory management for the C++ 
binding works the same as with the C language binding.
The PDFlib constructor accepts an optional error handler, optional memory manage-
ment procedures, and an optional opaque pointer argument. Default NULL arguments 
are supplied in pdflib.hpp which will result in PDFlib’s internal error and memory man-
agement routines becoming active. All memory management functions must be »C« 
functions, not C++ methods.
Unicode in the C++ Language Binding. C++ users must be aware of a pitfall related to 
the compiler automatically converting literal strings to the C++ string type which is ex-
pected by the PDFlib API functions: this conversion supports embedded null characters 
only if an explicit length parameter is supplied. For example, the following will not 
work since the string will be truncated at the first null character:
p.show("\x00\x41\x96\x7B\x8C\xEA");
// Wrong!
To fix this problem apply the string constructor with an explicit length parameter:
p.show(string("\x00\x41\x96\x7B\x8C\xEA", 6));
// Correct
Documents you may be interested
Documents you may be interested