Foxit PDF SDK

Public Types | Public Member Functions | List of all members
foxit::addon::optimization::ImageSettings Class Reference
Inheritance diagram for foxit::addon::optimization::ImageSettings:

## Public Types
enum | ImageCompressMode { e_ImageCompressHigh = 10003, e_ImageCompressjpeg = 10005, e_ImageCompressjpeg2000 = 10006, e_ImageCompressRetain = 10007, e_ImageCompressZip = 10009 }
| Enumeration for compression mode used for color or gray image. More...
enum | ImageCompressQuality { e_ImageCompressQualityMinimum = 1, e_ImageCompressQualityLow = 2, e_ImageCompressQualityMedium = 3, e_ImageCompressQualityHigh = 4, e_ImageCompressQualityMaximum = 5, e_ImageCompressQualityLossless = 6 }
| Enumeration for loss compression quality used for color or gray image. More...
enum | StretchMode { e_StretchDefault = -1, e_StretchOff = 0x00, e_StretchInterpol = 0x20, e_StretchDownsample = 0x04, e_StretchBicubic = 0x80, e_StretchNoSmooth = 0x100 }
| Enumeration for stretch mode. More...

## Public Member Functions
| ImageSettings ()
| Constructor. More...
| ImageSettings (const ImageSettings &other)
| Constructor, with another image settings object. More...
| ~ImageSettings ()
| Destructor.
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | operator!= (const ImageSettings &other) const
| Not equal operator. More...
ImageSettings & | operator= (const ImageSettings &other)
| Assign operator. More...
bool | operator== (const ImageSettings &other) const
| Equal operator. More...
void | SetBackgroundDownScale (int32 down_scale)
| Set the background downscale value for lossy compression modes, used for optimizing color images in a PDF document. More...
void | SetCompressionMode (ImageCompressMode mode)
| Set compression mode used for optimizing color/gray images in a PDF document. More...
void | SetForegroundDownScale (int32 down_scale)
| Set the foreground downscale value for lossy compression modes, used for optimizing color images in a PDF document. More...
void | SetImageDPI (int32 dpi)
| Set the DPI value as the target compressed value for compressing color/gray images in a PDF document. More...
void | SetImageDPILimit (int dpi_limit)
| Set the lower limit DPI value for the color/gray image to decide if the image is to be compressed in a PDF document. More...
void | SetQuality (ImageCompressQuality quality)
| Set the quality for lossy compression modes, used for optimizing color/gray images in a PDF document. More...
void | SetStretchMode (StretchMode mode)
| Set stretch mode used for optimizing color/gray images in a PDF document. More...
void | SetTextSensitivity (int32 text_sensitivity)
| Set the text sensitivity for lossy compression modes, used for optimizing color images in a PDF document. More...
void | SetTileSize (int size)
| Set the tile size for JPEG2000 compression modes, used for optimizing color/gray images in a PDF document. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Detailed Description

This class represents downsampling/recompression settings for color and grayscale images. This class object can be set to class OptimizerSettings and then be used to optimize a PDF document.

See also
  OptimizerSettings

## Member Enumeration Documentation

## ◆ ImageCompressMode

enum foxit::addon::optimization::ImageSettings::ImageCompressMode

Enumeration for compression mode used for color or gray image.

Values of this enumeration should be used alone.

Enumerator
e_ImageCompressHigh | Compression mode: high. This flag will be invalid if the image dpi is less than 200.
e_ImageCompressjpeg | Compression mode: jpeg.
e_ImageCompressjpeg2000 | Compression mode: jpeg2000.
e_ImageCompressRetain | Compression mode: retain, which means no compression.
e_ImageCompressZip | Compression mode: zip.

## ◆ ImageCompressQuality

enum foxit::addon::optimization::ImageSettings::ImageCompressQuality

Enumeration for loss compression quality used for color or gray image.

Values of this enumeration should be used alone.

Enumerator
e_ImageCompressQualityMinimum | Compression quality: Minimum.
e_ImageCompressQualityLow | Compression quality: Low.
e_ImageCompressQualityMedium | Compression quality: Medium.
e_ImageCompressQualityHigh | Compression quality: High.
e_ImageCompressQualityMaximum | Compression quality: Maximum.
e_ImageCompressQualityLossless | Compression quality: Lossless, only for jpeg2000 compress mode.

## ◆ StretchMode

enum foxit::addon::optimization::ImageSettings::StretchMode

Enumeration for stretch mode.

Values of this enumeration should be used alone.

Enumerator
e_StretchDefault | When this is set, that means to do default stretching.
e_StretchOff | When this is set, that means to do without stretching.
e_StretchInterpol | When this is set, that means to do interpolation for zooming.
e_StretchDownsample | When this is set, that means not to do halftone for shrinking or rotating.
e_StretchBicubic | When this is set, that means to do bicubic interpolation for zooming.
e_StretchNoSmooth | When this is set, that means not to do any interpolation for stretching.

## Constructor & Destructor Documentation

## ◆ ImageSettings() [1/2]

foxit::addon::optimization::ImageSettings::ImageSettings | ( |  | ) |

Constructor.

This constructor is to construct a color/gray image settings object with default setting options. User can also call "set" methods in this class to change these setting options. Please refer to comment of these "set" methods for more details about default values.

## ◆ ImageSettings() [2/2]

foxit::addon::optimization::ImageSettings::ImageSettings | ( | const ImageSettings & | other | ) |

Constructor, with another image settings object.

Parameters

  [in] | other | Another image settings object.

## Member Function Documentation

## ◆ IsEmpty()

bool foxit::addon::optimization::ImageSettings::IsEmpty | ( |  | ) | const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
  true means current object is empty, while false means not.

## ◆ operator!=()

bool foxit::addon::optimization::ImageSettings::operator!= | ( | const ImageSettings & | other | ) | const

Not equal operator.

Parameters

  [in] | other | Another image settings object. This function will check if current object is not equal to this one.

Returns
  true means not equal, while false means equal.

## ◆ operator=()

ImageSettings& foxit::addon::optimization::ImageSettings::operator= | ( | const ImageSettings & | other | ) |

Assign operator.

Parameters

  [in] | other | Another image settings object, whose value would be assigned to current object.

Returns
  Reference to current object itself.

## ◆ operator==()

bool foxit::addon::optimization::ImageSettings::operator== | ( | const ImageSettings & | other | ) | const

Equal operator.

Parameters

  [in] | other | Another image settings object. This function will check if current object is equal to this one.

Returns
  true means equal, while false means not equal.

## ◆ SetBackgroundDownScale()

void foxit::addon::optimization::ImageSettings::SetBackgroundDownScale | ( | int32 | down_scale | ) |

Set the background downscale value for lossy compression modes, used for optimizing color images in a PDF document.

This function is used to reduce the resolution of the background image.

Parameters

  [in] | down_scale | Background downscale value for lossy compression modes. It should be above 0. If the value is 1, the background resolution is not reduced. If the value is larger than 1, the higher the value, the lower the background resolution. If this function is not called to set this option, that means to use 3 as the default value of this option.

Returns
  None.

## ◆ SetCompressionMode()

void foxit::addon::optimization::ImageSettings::SetCompressionMode | ( | ImageCompressMode | mode | ) |

Set compression mode used for optimizing color/gray images in a PDF document.

For a newly constructed object, if this function is not called to set option, that means to use ImageSettings::e_ImageCompressjpeg as the default value of this option.

Parameters

  [in] | mode | Image compression mode. Please refer to values starting from ImageSettings::e_ImageCompressHigh and this should be one of these values.

Returns
  None.

## ◆ SetForegroundDownScale()

void foxit::addon::optimization::ImageSettings::SetForegroundDownScale | ( | int32 | down_scale | ) |

Set the foreground downscale value for lossy compression modes, used for optimizing color images in a PDF document.

This function is used to reduce the resolution of the foreground image.

Parameters

  [in] | down_scale | Foreground downscale value for lossy compression modes. It should be above 0. If the value is 1, the foreground resolution is not reduced. If the value is larger than 1, the higher the value, the lower the foreground resolution. If this function is not called to set this option, that means to use 3 as the default value of this option.

Returns
  None.

## ◆ SetImageDPI()

void foxit::addon::optimization::ImageSettings::SetImageDPI | ( | int32 | dpi | ) |

Set the DPI value as the target compressed value for compressing color/gray images in a PDF document.

When an image can be compressed, the resolution of this image will be compressed to the DPI value set by current function.
For a newly constructed object, if this function is not called to set option, that means to use 150 as the default value of this option.

Parameters

  [in] | dpi | DPI value which is set to be the target compressed DPI value.

Returns
  None.

## ◆ SetImageDPILimit()

void foxit::addon::optimization::ImageSettings::SetImageDPILimit | ( | int | dpi_limit | ) |

Set the lower limit DPI value for the color/gray image to decide if the image is to be compressed in a PDF document.

If the resolution of an image in the PDF document is above the lower limit DPI value, this image will be compressed to the target compressed DPI value which is set by function ImageSettings::SetImageDPI.
For a newly constructed object, if this function is not called to set option, that means a DPI value (which is 1.5 times of target compressed DPI value) will be used as the default value of this option.

Parameters

  [in] | dpi_limit | DPI value as the lower limit. This value should be a positive number. Suggested range: bigger than target compressed DPI value (set by function ImageSettings::SetImageDPI) and the maximum value is 10 times of target compressed DPI value. If input value is not bigger than the target compressed DPI value, a DPI value which is one more than the target compressed DPI value will be used instead. If input value is bigger than the maximum value, the maximum value value will be used instead.

Returns
  None.

## ◆ SetQuality()

void foxit::addon::optimization::ImageSettings::SetQuality | ( | ImageCompressQuality | quality | ) |

Set the quality for lossy compression modes, used for optimizing color/gray images in a PDF document.

For a newly constructed object, if this function is not called to set this option, that means to use ImageSettings::e_ImageCompressQualityMinimum as the default value of this option.

Parameters

  [in] | quality | Quality value for lossy compression modes. Please refer to values starting from ImageSettings::e_ImageCompressQualityMinimum and this should be one of these values.

Returns
  None.

## ◆ SetStretchMode()

void foxit::addon::optimization::ImageSettings::SetStretchMode | ( | StretchMode | mode | ) |

Set stretch mode used for optimizing color/gray images in a PDF document.

For a newly constructed object, if this function is not called to set this option, that means to use ImageSettings::e_StretchBicubic as the default value of this option.

Parameters

  [in] | mode | Stretch mode. Please refer to values starting from ImageSettings::e_StretchOff and this should be one of these values.

Returns
  None.

## ◆ SetTextSensitivity()

void foxit::addon::optimization::ImageSettings::SetTextSensitivity | ( | int32 | text_sensitivity | ) |

Set the text sensitivity for lossy compression modes, used for optimizing color images in a PDF document.

This function affects the segmentation into foreground (usually text) and background. if this function is not called to set this option, that means to use 60 as the default value of this option.

Parameters

  [in] | text_sensitivity | The value of text sensitivity. A higher sensitivity value results in more content represented in the foreground. The value is especially important in case of documents with low contrast and documents with patterns, images or color in background. Instead, the effect on simple text documents with high contrast, clear bright background and sharp dark symbols is low. Valid values: from 0 to 100.

Returns
  None.

## ◆ SetTileSize()

void foxit::addon::optimization::ImageSettings::SetTileSize | ( | int | size | ) |

Set the tile size for JPEG2000 compression modes, used for optimizing color/gray images in a PDF document.

For a newly constructed object, if this function is not called to set this option, that means to use 256 as the default value of this option.

Parameters

  [in] | size | The size of tile, and this value can only be between 128 and 2048.

Note
  This method only valid in ImageSettings::e_ImageCompressjpeg2000 compression mode.

Returns
  None.