Foxit PDF SDK
fs_optimization.h
Go to the documentation of this file.
1 
15 #ifndef FS_PDFOPTIMIZATION_H_
16 #define FS_PDFOPTIMIZATION_H_
17 
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 #include "pdf/fs_pdfpage.h"
21 
27 namespace foxit {
31 namespace addon {
35 namespace optimization {
36  class ImageSettings;
37  class MonoImageSettings;
38  class OptimizerSettings;
39 
47 class Optimizer FS_FINAL : public Base {
48  public:
67  static common::Progressive Optimize(const pdf::PDFDoc& doc,const OptimizerSettings& settings,common::PauseCallback* pause);
68 
69 };
70 
77 class ImageSettings FS_FINAL : public Base {
78  public:
84  typedef enum _ImageCompressMode {
94 
100  typedef enum _StretchMode {
102  e_StretchOff = 0x00,
111  } StretchMode;
112 
120  ImageSettings();
121 
122  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
123  explicit ImageSettings(FS_HANDLE handle);
124 
126  ~ImageSettings();
127 
133  ImageSettings(const ImageSettings& other);
134 
142  ImageSettings& operator = (const ImageSettings& other);
150  bool operator == (const ImageSettings& other) const;
151 
159  bool operator != (const ImageSettings& other) const;
160 
168  bool IsEmpty() const;
169 
181  void SetStretchMode(StretchMode mode);
182 
193  void SetImageDPI(int32 dpi);
206 
218  void SetQuality(int32 quality);
219 };
220 
227 class MonoImageSettings FS_FINAL : public Base {
228  public:
234  typedef enum _MonoImageCompressMode {
248 
254  typedef enum _StretchMode {
256  e_StretchOff = 0x00,
265  } StretchMode;
266 
275 
276  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
277  explicit MonoImageSettings(FS_HANDLE handle);
278 
281 
287  MonoImageSettings(const MonoImageSettings& other);
288 
304  bool operator == (const MonoImageSettings& other) const;
305 
313  bool operator != (const MonoImageSettings& other) const;
314 
322  bool IsEmpty() const;
323 
334  void SetImageDPI(int32 dpi);
335 
348 
360  void SetStretchMode(StretchMode mode) ;
361 };
362 
368 class OptimizerSettings FS_FINAL : public Base {
369  public:
379 
380  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
381  explicit OptimizerSettings(FS_HANDLE handle);
382 
385 
391  OptimizerSettings(const OptimizerSettings& other);
392 
408  bool operator == (const OptimizerSettings& other) const;
409 
417  bool operator != (const OptimizerSettings& other) const;
418 
426  bool IsEmpty() const;
427 
439  void SetColorGrayImageSettings(const ImageSettings& settings);
440 
452  void SetMonoImageSettings(const MonoImageSettings& settings);
453 };
454 
455 } // namespace optimization
456 } // namespace addon
457 } // namespace foxit
458 
459 #endif
Compression mode: CCITT Group 4.
Definition: fs_optimization.h:238
MonoImageCompressMode
Enumeration for compression mode used for monochrome image.
Definition: fs_optimization.h:234
void SetCompressionMode(MonoImageCompressMode mode)
Set compression mode used for optimizing monochrome images in a PDF document.
When this is set, that means not to do any interpolation for stretching.
Definition: fs_optimization.h:110
Header file for PDF document related definitions and classes.
Compression mode: CCITT Group 3.
Definition: fs_optimization.h:236
void SetStretchMode(StretchMode mode)
Set stretch mode used for optimizing monochrome images in a PDF document.
static common::Progressive Optimize(const pdf::PDFDoc &doc, const OptimizerSettings &settings, common::PauseCallback *pause)
Optimize the given PDF document with specified optimizers settings.
bool operator==(const MonoImageSettings &other) const
Equal operator.
OptimizerSettings & operator=(const OptimizerSettings &other)
Assign operator.
Definition: fs_optimization.h:47
bool operator==(const OptimizerSettings &other) const
Equal operator.
bool operator!=(const ImageSettings &other) const
Not equal operator.
When this is set, that means not to do halftone for shrinking or rotating.
Definition: fs_optimization.h:260
When this is set, that means to do interpolation for zooming.
Definition: fs_optimization.h:104
Definition: fs_pdfdoc.h:347
Definition: fs_optimization.h:77
Compression mode: high.
Definition: fs_optimization.h:240
Compression mode: jpeg2000.
Definition: fs_optimization.h:90
bool operator==(const ImageSettings &other) const
Equal operator.
void SetColorGrayImageSettings(const ImageSettings &settings)
Set optimazion related settings for color/gray image.
When this is set, that means to do bicubic interpolation for zooming.
Definition: fs_optimization.h:262
void SetQuality(int32 quality)
Set the quality for lossy compression modes, used for optimizing color/gray images in a PDF document.
bool IsEmpty() const
Check whether current object is empty or not.
When this is set, that means to do bicubic interpolation for zooming.
Definition: fs_optimization.h:108
When this is set, that means to do interpolation for zooming.
Definition: fs_optimization.h:258
void SetStretchMode(StretchMode mode)
Set stretch mode used for optimizing color/gray images in a PDF document.
bool IsEmpty() const
Check whether current object is empty or not.
Compression mode: retain, which means no compression.
Definition: fs_optimization.h:92
bool operator!=(const MonoImageSettings &other) const
Not equal operator.
Compression mode: retain, which means no compression.
Definition: fs_optimization.h:244
Definition: fx_basic.h:3736
Definition: fs_optimization.h:227
StretchMode
Enumeration for stretch mode.
Definition: fs_optimization.h:254
Definition: fs_common.h:465
Compression mode: jpeg2.
Definition: fs_optimization.h:242
bool operator!=(const OptimizerSettings &other) const
Not equal operator.
void SetImageDPI(int32 dpi)
Set the image DPI used for optimizing color/gray images in a PDF document.
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:216
When this is set, that means not to do any interpolation for stretching.
Definition: fs_optimization.h:264
Header file for common definitions and classes.
ImageSettings & operator=(const ImageSettings &other)
Assign operator.
Compression mode: jpeg.
Definition: fs_optimization.h:88
void SetCompressionMode(ImageCompressMode mode)
Set compression mode used for optimizing color/gray images in a PDF document.
FX_INT32 int32
32-bit signed integer.
Definition: fs_basictypes.h:196
Definition: fs_basictypes.h:375
void SetMonoImageSettings(const MonoImageSettings &settings)
Set optimazion related settings for monochrome image.
Header file for PDF page related definitions and classes.
When this is set, that means do without stretching.
Definition: fs_optimization.h:256
Foxit namespace.
Definition: fs_compare.h:27
StretchMode
Enumeration for stretch mode.
Definition: fs_optimization.h:100
Definition: fs_optimization.h:368
When this is set, that means not to do halftone for shrinking or rotating.
Definition: fs_optimization.h:106
void SetImageDPI(int32 dpi)
Set the image DPI used for optimizing monochrome images in a PDF document.
ImageCompressMode
Enumeration for compression mode used for color or gray image.
Definition: fs_optimization.h:84
When this is set, that means do without stretching.
Definition: fs_optimization.h:102
MonoImageSettings & operator=(const MonoImageSettings &other)
Assign operator.
Compression mode: run-length.
Definition: fs_optimization.h:246
bool IsEmpty() const
Check whether current object is empty or not.
Compression mode: high.
Definition: fs_optimization.h:86