pdftron::PDFNet Class Reference

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

#include <PDFNet.h>

List of all members.

Public Types

enum  CharacterOrdering {
  e_Identity = 0, e_Japan1 = 1, e_Japan2 = 2, e_GB1 = 3,
  e_CNS1 = 4, e_Korea1 = 5
}
 Standard character orderings. More...

Static Public Member Functions

static void Initialize (const char *license_key=0)
 Initializes PDFNet library.
static void Terminate ()
 Terminates PDFNet library.
static bool SetResourcesPath (const UString &path)
 Sets the location of PDFNet resource file.
static UString GetResourcesPath ()
 
Returns:
the location of PDFNet resources folder.

static void SetColorManagement (bool enable)
 Used to enable or disable ICC color management.
static void SetDefaultDeviceCMYKProfile (const UString &icc_filename)
 Sets the default ICC color profile for DeviceCMYK color space.
static void SetDefaultDeviceRGBProfile (const UString &icc_filename)
 Sets the default ICC color profile for DeviceRGB color space.
static bool AddFontSubst (const char *fontname, const UString &fontpath)
 AddFontSubst functions can be used to create font substitutes that can override default PDFNet font selection algorithm.
static bool AddFontSubst (CharacterOrdering ordering, const UString &fontpath)
static bool SetTempPath (const UString &temp_path)
 Set the location of temporary folder.
static double GetVersion ()
 
Returns:
PDFNet version number.


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.

Member Enumeration Documentation

enum pdftron::PDFNet::CharacterOrdering

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.


Member Function Documentation

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_key Optional license key used to activate the product. If the license_key is not specified, the product will work in demo mode. If the license_key is invalid, the function will throw an exception.

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.

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

Sets the location of PDFNet resource file.

PDFNet relies on an external resource file (pdfnet.res) to process PDF documents that use CJKV encodings or standard fonts. To make your application compatible with all types of PDF documents, make sure to reference 'pdfnet.res' from your application.

By default, PDFNet assumes that all resources are located in the working folder. Use this method to specify a different location for PDFNet resource file. For example: PDFNet::SetResourcesPath("c:/resources") or PDFNet::SetResourcesPath("c:/resources/pdfnet.res")

Parameters:
path - A string representing the path to 'pdfnet.res'. The path may or may not include the name of the resource file (i.e. 'pdfnet.res').
Returns:
true if 'pdfnet.res' was successfully opened, false otherwise.

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 void pdftron::PDFNet::SetColorManagement ( bool  enable  )  [static]

Used to enable or disable ICC color management.

Parameters:
enable true to enable ICC color management, false otherwise.

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:
the function 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:
the function will throw Exception if the ICC profile can't be found or if it fails to open.

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.

These 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.

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 these functions to provide user defined font substitutes:

 PDFNet::Initialize();
 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");
         
 // 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 bool pdftron::PDFNet::AddFontSubst ( CharacterOrdering  ordering,
const UString fontpath 
) [static]

static bool 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 double pdftron::PDFNet::GetVersion (  )  [static]

Returns:
PDFNet version number.


© 2002-2008 PDFTron Systems Inc.