Foxit PDF SDK
FSDK.Optimizer Class Reference

Static Public Member Functions

static ComputeAuditSpace (doc)
 Compute audit space. More...
 
static Optimize (doc, settings, pause)
 Optimize the given PDF document with specified optimizer settings. More...
 
static OptimizeScannedPDF (doc, settings, image_compress_callback, pause)
 Optimize the scanned PDF document with specified optimizers settings. More...
 
static StartSubsetEmbedFont (doc, 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 Foxit PDF SDK has been initialized successfully by function with a key including "Optimizer" module. FSDK.Library

Member Function Documentation

◆ ComputeAuditSpace()

static FSDK.Optimizer.ComputeAuditSpace ( doc  )
static

Compute audit space.

Parameters
[in]docA valid PDF document object to audit space.
Returns
A object that contain all audit space contents.

◆ Optimize()

static FSDK.Optimizer.Optimize ( doc  ,
settings  ,
pause   
)
static

Optimize the given PDF document with specified optimizer 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 null which means not to pause during the optimization process. If this is not null, 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 , that means user has no right in using Optimization related functions and this function will throw exception FSDK.e_ErrNoOptimizerModuleRight .
Returns
A progressive object. Please check the rate of current progress by function FSDK.Progressive.GetRateOfProgress. If the rate is not 100 yet, call function FSDK.Progressive.Continue to continue the progress until the progress is finished.

◆ OptimizeScannedPDF()

static FSDK.Optimizer.OptimizeScannedPDF ( doc  ,
settings  ,
image_compress_callback  ,
pause   
)
static

Optimize the scanned 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]image_compress_callbackA FSDK.ImageCompressionCallback object which is implemented by user for temp file data during replacing page process. When replacing pages process is finished (no matter successfully or not), callback function FSDK.ImageCompressionCallback.Release will be called by Foxit PDF SDK.
[in]pausePause object which decides if the process needs to be paused. This can be null which means not to pause during the optimization process. If this is not null, 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 common.Library.Initialize, that means user has no right in using Optimization related functions and this function will throw exception foxit.e_ErrNoOptimizerModuleRight. If optimize the scanned pdf finished, the specify pages to be optimized needs to be reloaded.
Returns
A progressive object. Please check the rate of current progress by function FSDK.Progressive.GetRateOfProgress. If the rate is not 100 yet, call function FSDK.Progressive.Continue to coninue the progress until the progress is finished.

◆ StartSubsetEmbedFont()

static FSDK.Optimizer.StartSubsetEmbedFont ( doc  ,
pause   
)
static

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 null which means not to pause during the embeded font subset process. If this is not null, 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 , that means user has no right in using Optimization related functions and this function will throw exception FSDK.e_ErrNoOptimizerModuleRight .
Returns
A progressive object. Please check the rate of current progress by function FSDK.Progressive.GetRateOfProgress. If the rate is not 100 yet, call function FSDK.Progressive.Continue to continue the progress until the progress is finished.