Foxit PDF SDK
FSOptimizer Class Reference
Inheritance diagram for FSOptimizer:
FSBase

Class Methods

(FSProgressive *) + optimize:settings:pause:
 Optimize the given PDF document with specified optimizers settings.
More...
 
(FSProgressive *) + startSubsetEmbedFont:pause:
 Start to make subsets for embedded fonts in the given PDF document.
More...
 

Detailed Description

This class can be used to optimize PDF file to reduce file size. Before using this class to do optimization, please ensure Foxti PDF SDK has been initialized successfully by function FSLibrary::initialize:key: with a key including "Optimizer" module.

See also
FSLibrary

Method Documentation

◆ optimize:settings:pause:()

+ (FSProgressive *) optimize: (FSPDFDoc*)  doc
settings: (FSOptimizerSettings*)  settings
pause: (id<FSPauseCallback>)  pause 

Optimize the given PDF document with specified optimizers settings.

Parameters
[in]docA valid PDF document object to be optimized.
[in]settingsSetting data used for optimization processing settings.
[in]pausePause object which decides if the process needs to be paused. This can be nil which means not to pause during the optimization process. If this is not nil, it should be a valid pause object implemented by user.
Note
If module "Optimizer" is not defined in the license information which is used in function FSLibrary::initialize:key:, that means user has no right in using Optimization related functions and this function will throw exception FSErrNoOptimizerModuleRight.
Returns
A progressive object. Please check the rate of current progress by function FSProgressive::getRateOfProgress. If the rate is not 100 yet, call function FSProgressive::resume to coninue the progress until the progress is finished.

◆ startSubsetEmbedFont:pause:()

+ (FSProgressive *) startSubsetEmbedFont: (FSPDFDoc*)  doc
pause: (id<FSPauseCallback>)  pause 

Start to make subsets for embedded fonts in the given PDF document.

This function can be used to remove useless embedded characters from the data of embedded fonts (if there's any in a PDF document) in order to reduce the size of a PDF document.

Parameters
[in]docA valid PDF document object to be processed a subset of embedded fonts.
[in]pausePause object which decides if the process needs to be paused. This can be nil which means not to pause during the embeded font subset process. If this is not nil, it should be a valid pause object implemented by user.
Note
If module "Optimizer" is not defined in the license information which is used in function FSLibrary::initialize:key:, that means user has no right in using Optimization related functions and this function will throw exception FSErrNoOptimizerModuleRight.
Returns
A progressive object. Please check the rate of current progress by function FSProgressive::getRateOfProgress. If the rate is not 100 yet, call function FSProgressive::resume to coninue the progress until the progress is finished.