PTPDFNet

@interface PTPDFNet : NSObject

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.
  • Initializes PDFNet library. Initialize must be called once, before any other PDFNet method is used. You must provide a trial or purchased license key. Please see https://www.pdftron.com/key_init_ios for more information.

    @exception If the license_key is missing or invalid, the function will throw an exception.

    Declaration

    Objective-C

    + (void)Initialize:(NSString *)license_key;

    Swift

    class func initialize(_ license_key: String!)

    Parameters

    license_key

    The trial or purchased license key. Please see https://www.pdftron.com/key_init_ios for more information.

  • Undocumented

    Declaration

    Objective-C

    + (BOOL)IsInitialized;

    Swift

    class func isInitialized() -> Bool
  • A switch that can be used to turn on/off JavaScript engine

    Declaration

    Objective-C

    + (void)EnableJavaScript:(BOOL)enable;

    Swift

    class func enableJavaScript(_ enable: Bool)

    Parameters

    enable

    true to enable JavaScript engine, false to disable.

  • Test whether JavaScript is enabled

    Declaration

    Objective-C

    + (BOOL)IsJavaScriptEnabled;

    Swift

    class func isJavaScriptEnabled() -> Bool

    Return Value

    true if it is enabled, false otherwise

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

    Declaration

    Objective-C

    + (BOOL)SetResourcesPath:(NSString *)path;

    Swift

    class func setResourcesPath(_ path: String!) -> Bool

    Parameters

    path

    - The default resource directory path.

    Return Value

    true if path is found, false otherwise.

  • Declaration

    Objective-C

    + (NSString *)GetResourcesPath;

    Swift

    class func getResourcesPath() -> String!

    Return Value

    the location of PDFNet resources folder. Empty string means that resources are located in your application folder.

  • 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. The function can be used on all platforms to specify search paths for ICC profiles, fonts, and other user defined resources.

    Declaration

    Objective-C

    + (void)AddResourceSearchPath:(NSString *)path;

    Swift

    class func addResourceSearchPath(_ path: String!)

    Parameters

    path

    - The resource directory path to add to the search list.

  • Declaration

    Objective-C

    + (double)GetVersion;

    Swift

    class func getVersion() -> Double

    Return Value

    PDFNet version number.

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

    Declaration

    Objective-C

    + (void)SetColorManagement:(PTCMSType)t;

    Swift

    class func setColorManagement(_ t: PTCMSType)

    Parameters

    t

    identifies the type of color management to use.

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

    @exception the function will throw Exception if the ICC profile can’t be found or if it fails to open.

    Declaration

    Objective-C

    + (void)SetDefaultDeviceCMYKProfile:(NSString *)icc_filename;

    Swift

    class func setDefaultDeviceCMYKProfile(_ icc_filename: String!)
  • 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.

    @exception the function will throw Exception if the ICC profile can’t be found or if it fails to open.

    Declaration

    Objective-C

    + (void)SetDefaultDeviceRGBProfile:(NSString *)icc_filename;

    Swift

    class func setDefaultDeviceRGBProfile(_ icc_filename: String!)
  • Sets the default policy on using temporary files.

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

    Declaration

    Objective-C

    + (void)SetDefaultDiskCachingEnabled:(BOOL)use_disk;

    Swift

    class func setDefaultDiskCachingEnabled(_ use_disk: Bool)
  • Sets the default compression level for Flate (ZLib).

    - - parameter: level An 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).

    @default Z_DEFAULT_COMPRESSION (-1).
    

    Declaration

    Objective-C

    + (void)SetDefaultFlateCompressionLevel:(int)level;

    Swift

    class func setDefaultFlateCompressionLevel(_ level: Int32)
  • Sets the default parameters for the viewer cache. Any subsequently created documents will use these parameters.

    - - parameter: max_cache_size - The maximum size, in bytes, of the entire document's page cache. Set to zero to disable the viewer cache.
    - parameter: 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.
    
    @default Desktop: max_cache_size = 512 MB, on_disk = true | Mobile:  max_cache_size = 100 MB, on_disk = false
    

    Declaration

    Objective-C

    + (void)SetViewerCache:(unsigned long)max_cache_size on_disk:(BOOL)on_disk;

    Swift

    class func setViewerCache(_ max_cache_size: UInt, on_disk: Bool)
  • 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::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");
     ...
     PDFDoc doc("c:/my.pdf");
     ...
    

    Declaration

    Objective-C

    + (BOOL)AddFontSubstWithFontName:(NSString *)fontname
                            fontpath:(NSString *)fontpath;

    Swift

    class func addFontSubst(withFontName fontname: String!, fontpath: String!) -> Bool
  • 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::Initialize();
     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");
     ...
    

    Declaration

    Objective-C

    + (BOOL)AddFontSubstWithOrdering:(PTCharacterOrdering)ordering
                            fontpath:(NSString *)fontpath;

    Swift

    class func addFontSubst(with ordering: PTCharacterOrdering, fontpath: String!) -> Bool
  • Set the location of temporary folder.

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

    Declaration

    Objective-C

    + (void)SetTempPath:(NSString *)temp_path;

    Swift

    class func setTempPath(_ temp_path: String!)
  • Undocumented

    Declaration

    Objective-C

    + (void)SetPersistentCachePath: (NSString *)persistent_path;

    Swift

    class func setPersistentCachePath(_ persistent_path: String!)
  • Undocumented

    Declaration

    Objective-C

    + (void)SetLogLevel: (PTLogLevel)level;

    Swift

    class func setLogLevel(_ level: PTLogLevel)
  • Undocumented

    Declaration

    Objective-C

    - (instancetype)init;

    Swift

    init!()
  • A convenience method to translate Obj-C exceptions into Swift errors. Usage example:

         do {
             try PTPDFNet.catchException {
                 doc = PTPDFDoc(filepath: docPath!)
             }
         }
         catch {
             print("Caught exception: \(error)")
         }
    

    Declaration

    Objective-C

    + (BOOL)CatchException:(void (^)(void))tryBlock error:(NSError **)error;

    Swift

    class func catchException(_ tryBlock: (() -> Void)!) throws