All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pdftron::PDFNet Class Reference

#include <PDFNet.h>

Classes

class  SecurityDescriptor
 

Public Types

enum  CloudErrorCode {
  STATUS_ERR, STATUS_OK, STATUS_NETWORK_ERR, STATUS_BAD_CREDENTIALS,
  STATUS_SERVICE_DOWN, STATUS_INVALID_OPERATION, STATUS_NUM
}
 
enum  CMSType { e_lcms, e_icm, e_no_cms }
 
enum  FlateCompressionLevel { e_Z_DEFAULT_COMPRESSION = -1, e_Z_NO_COMPRESSION = 0, e_Z_BEST_SPEED = 1, e_Z_BEST_COMPRESSION = 9 }
 
enum  CharacterOrdering {
  e_Identity = 0, e_Japan1 = 1, e_Japan2 = 2, e_GB1 = 3,
  e_CNS1 = 4, e_Korea1 = 5
}
 
typedef
TRN_PDFNetCreateSecurityHandler 
CreateSecurityHandler
 
typedef Common::Iterator
< SecurityDescriptor
SecurityDescriptorIterator
 

Static Public Member Functions

static void Initialize (const char *license_key=0)
 
static void EnableJavaScript (bool enable)
 
static bool IsJavaScriptEnabled ()
 
static void Terminate ()
 
static bool SetResourcesPath (const UString &path)
 
static UString GetResourcesPath ()
 
static double GetVersion ()
 
static PDFNet::CloudErrorCode ConnectToCloud (const char *username, const char *password, bool demo_mode=false)
 
static void SetColorManagement (CMSType t=e_lcms)
 
static void SetDefaultDeviceCMYKProfile (const UString &icc_filename)
 
static void SetDefaultDeviceRGBProfile (const UString &icc_filename)
 
static void SetDefaultDiskCachingEnabled (bool use_disk)
 
static void SetDefaultFlateCompressionLevel (int level)
 
static void SetViewerCache (size_t max_cache_size, bool on_disk)
 
static bool AddFontSubst (const char *fontname, const UString &fontpath)
 
static bool AddFontSubst (CharacterOrdering ordering, const UString &fontpath)
 
static void SetTempPath (const UString &temp_path)
 
static void SetPersistentCachePath (const UString &persistent_path)
 
static void RegisterSecurityHandler (const char *handler_name, const char *gui_name, CreateSecurityHandler factory_method)
 
static SecurityDescriptorIterator GetSecHdlrInfoIterator ()
 
static void SetNumberWriteProc (char *(*WriteProc)(double num, char *in_buf, int in_buf_size))
 
static void SetNumberReadProc (TRN_Bool(*ReadProc)(const TRN_UChar *buf, double *output))
 

Detailed Description

PDFNet contains global library initialization, registration, configuration, and termination methods.

Note
there is only a single, static instance of PDFNet class. Initialization and termination methods need to be called only once per application session.

Definition at line 21 of file PDFNet.h.

Member Typedef Documentation

typedef TRN_PDFNetCreateSecurityHandler pdftron::PDFNet::CreateSecurityHandler

CreateSecurityHandler is a function pointer and a factory method used to create new instances of SecurityHandler. The function pointer is used to register a new type of SecurityHandler with PDFNet.

Definition at line 330 of file PDFNet.h.

Member Enumeration Documentation

Standard character orderings. PDFNet.AddFontSubst() can be used to associate a specific font with a given character ordering and to override default font mapping algorithm.

Enumerator
e_Identity 

Generic/Unicode.

e_Japan1 

Japanese.

e_Japan2 

Japanese.

e_GB1 

Chinese; Simplified.

e_CNS1 

Chinese; Traditional.

e_Korea1 

Korean.

Definition at line 236 of file PDFNet.h.

Enumerator
STATUS_ERR 

Unexpected error. If the error persists go to http://www.pdftron.com/kb_cloud_error.

STATUS_OK 

Credentials are correct.

STATUS_NETWORK_ERR 

Can't establish a connection due networking error; Check your connectivity to the internet and firewall settings.

STATUS_BAD_CREDENTIALS 

Credentials provided for authentication are incorrect. Make sure you are subscribed to pay as you go plan. You can check your subscription plan and credentials at api.pdftron.com.

STATUS_SERVICE_DOWN 

Server is not responding. If the error persists go to http://www.pdftron.com/kb_cloud_error.

STATUS_INVALID_OPERATION 

Unexpected internal server error. If the error persists go to http://www.pdftron.com/kb_cloud_error.

STATUS_NUM 

Definition at line 92 of file PDFNet.h.

Enumerator
e_lcms 

Use LittleCMS (available on all supported platforms).

e_icm 

Use Windows ICM2 (available only on Windows platforms).

e_no_cms 

No ICC color management.

Definition at line 151 of file PDFNet.h.

Enumerator
e_Z_DEFAULT_COMPRESSION 
e_Z_NO_COMPRESSION 
e_Z_BEST_SPEED 
e_Z_BEST_COMPRESSION 

Definition at line 198 of file PDFNet.h.

Member Function Documentation

static bool pdftron::PDFNet::AddFontSubst ( const char *  fontname,
const UString fontpath 
)
static

AddFontSubst functions can be used to create font substitutes that can override default PDFNet font selection algorithm.

AddFontSubst functions are useful in situations where referenced fonts are not present in the document and PDFNet font substitution algorithm is not producing desired results.

AddFontSubst(fontname, fontpath) maps the given font name (i.e. 'BaseFont' entry from the font dictionary) to a font file.

The following is an example of using this function to provide user defined font substitutes:

* PDFNet::SetResourcesPath("c:/myapp/resources");
* // Specify specific font mappings...
* PDFNet::AddFontSubst("MinionPro-Regular", "c:/myfonts/MinionPro-Regular.otf");
* PDFNet::AddFontSubst("Times-Roman", "c:/windows/fonts/times.ttf");
* PDFNet::AddFontSubst("Times-Italic", "c:/windows/fonts/timesi.ttf");
* ...
* PDFDoc doc("c:/my.pdf");
* ...
*
static bool pdftron::PDFNet::AddFontSubst ( CharacterOrdering  ordering,
const UString fontpath 
)
static

AddFontSubst functions can be used to create font substitutes that can override default PDFNet font selection algorithm.

AddFontSubst functions are useful in situations where referenced fonts are not present in the document and PDFNet font substitution algorithm is not producing desired results.

AddFontSubst(ordering, fontpath) maps the given character ordering (see Ordering entry in CIDSystemInfo dictionary; Section 5.6.2 in PDF Reference) to a font file. This method is less specific that the former variant of AddFontSubst, and can be used to override a range of missing fonts (or any missing font) with a predefined substitute.

The following is an example of using this function to provide user defined font substitutes:

* PDFNet::SetResourcesPath("c:/myapp/resources");
*
* // Specify more general font mappings...
* PDFNet::AddFontSubst(PDFNet::e_Identity, "c:/myfonts/arialuni.ttf"); // Arial Unicode MS
* PDFNet::AddFontSubst(PDFNet::e_Japan1, "c:/myfonts/KozMinProVI-Regular.otf");
* PDFNet::AddFontSubst(PDFNet::e_Japan2, "c:/myfonts/KozMinProVI-Regular.otf");
* PDFNet::AddFontSubst(PDFNet::e_Korea1, "c:/myfonts/AdobeSongStd-Light.otf");
* PDFNet::AddFontSubst(PDFNet::e_CNS1, "c:/myfonts/AdobeMingStd-Light.otf");
* PDFNet::AddFontSubst(PDFNet::e_GB1, "c:/myfonts/AdobeMyungjoStd-Medium.otf");
* ...
* PDFDoc doc("c:/my.pdf");
* ...
*
static PDFNet::CloudErrorCode pdftron::PDFNet::ConnectToCloud ( const char *  username,
const char *  password,
bool  demo_mode = false 
)
static

ConnectToCloud() is used to connect PDFNet with your 'pay-as-you-go' account (http://www.pdftron.com/pws/onpremise.html).

PDFTron Cloud is a 'pay-as-you-go' service that offers PDFTron document conversion and processing capabilities with minimal startup costs.

PDFTron Cloud account allows applications to convert documents either on your own servers (e.g. using PDFNet SDK or DocPub CLI) or via PDFTron hosted REST service.

Benefits of the self-hosted model are related to privacy and increased flexibility and speed from your own hardware infrastructure. On the other hand, self-hosted model may be more costly due to operation fees.

Note
Please note that in order to use ConnectToCloud() you need to have a valid Enterprise or Web CPU license for PDFNet. If you do not need additional functionality provided by PDFNet (e.g. you simply need to convert), please use DocPub CLI instead of PDFNet SDK.
ConnectToCloud() should be called once, immediately after PDFNet.Initialize("...license key...").
List of functions supported by pay-as-you-go:
  • FromEmf (free)
  • ToEmf (free)
  • ToSvg (chargeable)
  • ToPDF (chargeable, except image to PDF)
  • FromXps (chargeable)
  • ToXps (chargeable)
  • ToXod (chargeable)
  • Flattener (chargeable)
  • PDFACompliance (chargeable)
  • ToHtml (chargeable)
  • ToEpub (chargeable)
Parameters
usernameYour API ID. You should receive this information via email after Cloud API service (https://api.pdftron.com) sign-up. You can also find your 'API ID' in the 'Account' section in your PDFTron Cloud account.
passwordThis information is provided together with 'api_id' and can also be retrieved from https://api.pdftron.com.
Returns
CloudErrorCode will be returned. STATUS_OK if PDFNet successfully connected to your Cloud account.
Exceptions
Ifcalled before call to PDFNet.Initialized or in DEMO mode, the function will throw an exception.
static void pdftron::PDFNet::EnableJavaScript ( bool  enable)
static

A switch that can be used to turn on/off JavaScript engine

Parameters
enabletrue to enable JavaScript engine, false to disable.
static UString pdftron::PDFNet::GetResourcesPath ( )
static
Returns
the location of PDFNet resources folder. Empty string means that resources are located in your application folder.
static SecurityDescriptorIterator pdftron::PDFNet::GetSecHdlrInfoIterator ( )
static
Returns
iterator to the first SecurityDescriptor in the list of currently registered SecurityHandler types.
static double pdftron::PDFNet::GetVersion ( )
static
Returns
PDFNet version number.
static void pdftron::PDFNet::Initialize ( const char *  license_key = 0)
static

Initializes PDFNet library. Initialize() is usually called once, during process initialization.

Note
it is unsafe to call any other PDFNet API without first initializing the library
Parameters
license_keyOptional license key used to activate the product. If the license_key is not specified or is null, the product will work in the demo mode.
Exceptions
Ifthe license_key is invalid, the function will throw an exception.
static bool pdftron::PDFNet::IsJavaScriptEnabled ( )
static

Test whether JavaScript is enabled

Returns
true if it is enabled, false otherwise
static void pdftron::PDFNet::RegisterSecurityHandler ( const char *  handler_name,
const char *  gui_name,
CreateSecurityHandler  factory_method 
)
static

Registers a new type of SecurityHandler. If a handler with the same name was already registered, the new SecurityHandler will replace the old handler.

Parameters
handler_name- SecurityHandler's document name (as it appears in Encrypt dictionary).
factory_method- a function pointer and a factory method used to create new instances of SecurityHandler.
static void pdftron::PDFNet::SetColorManagement ( CMSType  t = e_lcms)
static

Used to set a specific Color Management System (CMS) for use during color conversion operators, image rendering, etc.

Parameters
tidentifies the type of color management to use.
static void pdftron::PDFNet::SetDefaultDeviceCMYKProfile ( const UString icc_filename)
static

Sets the default ICC color profile for DeviceCMYK color space.

Note
You can use this method to override default PDFNet settings. For more information on default color spaces please refer to section 'Default Color Spaces' in Chapter 4.5.4 of PDF Reference Manual.
Exceptions
thefunction will throw Exception if the ICC profile can't be found or if it fails to open.
static void pdftron::PDFNet::SetDefaultDeviceRGBProfile ( const UString icc_filename)
static

Sets the default ICC color profile for DeviceRGB color space.

Note
You can use this method to override default PDFNet settings. For more information on default color spaces please refer to section 'Default Color Spaces' in Chapter 4.5.4 of PDF Reference Manual.
Exceptions
thefunction will throw Exception if the ICC profile can't be found or if it fails to open.
static void pdftron::PDFNet::SetDefaultDiskCachingEnabled ( bool  use_disk)
static

Sets the default policy on using temporary files.

if parameter is true then new documents are allowed to create temporary files; otherwise all document contents will be stored in memory.

static void pdftron::PDFNet::SetDefaultFlateCompressionLevel ( int  level)
static

Sets the default compression level for Flate (ZLib).

Parameters
levelAn integer in range 0-9 representing the compression value to use as a default for any Flate streams (e.g used to compress content streams, PNG images, etc). The library normally uses the default compression level (Z_DEFAULT_COMPRESSION). For most images, compression values in the range 3-6 compress nearly as well as higher levels, and do so much faster. For on-line applications it may be desirable to have maximum speed Z_BEST_SPEED = 1). You can also specify no compression (Z_NO_COMPRESSION = 0).

Z_DEFAULT_COMPRESSION (-1).

static void pdftron::PDFNet::SetNumberReadProc ( TRN_Bool(*)(const TRN_UChar *buf, double *output)  ReadProc)
static

Sets a callback function used to override the default PDFNet number parsing function. Applications that require advanced control over PDF number processing can provide a custom handler.

Parameters
WriteProcA pointer to a function that will serialize a floating-point number in PDF number format.
static void pdftron::PDFNet::SetNumberWriteProc ( char *(*)(double num, char *in_buf, int in_buf_size)  WriteProc)
static

Sets a callback function used to override the default PDFNet number serialization routine. Applications that require advanced control over PDF number processing can provide a custom handler.

Parameters
WriteProcA pointer to a function that will serialize a floating-point number in PDF number format. The following parameters describe the callback function:
numThe number to be converted to decimal.
in_bufthe buffer used to serialize the number.
in_buf_sizethe size of input buffer.
Returns
A pointer within in_buf array where the number string starts.
static void pdftron::PDFNet::SetPersistentCachePath ( const UString persistent_path)
static

Set the location of persistent cache files.

This method is provided for applications that require tight control of the location where temporary files are created.

static bool pdftron::PDFNet::SetResourcesPath ( const UString path)
static

Sets the location of PDFNet resource file.

Note
Starting with v.4.5 PDFNet no longer requires a seperate resource file, and so this function is not required for proper PDFNet initialization. It remains available for backward compatibility. On mobile systems (iOS, Android, etc.) this method is required for proper initialization starting with version 6.0. (This helps reduce overall app size.) The function can be used on all platforms to specify a default search path for ICC profiles, fonts, and other user defined resources.
Parameters
path- The default resource directory path.
Returns
true if path is found, false otherwise.
static void pdftron::PDFNet::SetTempPath ( const UString temp_path)
static

Set the location of temporary folder.

This method is provided for applications that require tight control of the location where temporary files are created.

static void pdftron::PDFNet::SetViewerCache ( size_t  max_cache_size,
bool  on_disk 
)
static

Sets the default parameters for the viewer cache. Any subsequently created documents will use these parameters.

Parameters
max_cache_size- The maximum size, in bytes, of the entire document's page cache. Set to zero to disable the viewer cache.
on_disk- If set to 'true', cache will be stored on the local filesystem. If set to 'false', cache will be stored in heap memory.

Desktop: max_cache_size = 512 MB, on_disk = true | Mobile: max_cache_size = 100 MB, on_disk = false

static void pdftron::PDFNet::Terminate ( )
static

Terminates PDFNet library. Terminate() is usually called once, when the process is terminated.

Note
it is unsafe to call any other PDFNet API after you terminate the library.

The documentation for this class was generated from the following file:

© 2002-2014 PDFTron Systems Inc.