Go to the documentation of this file.
15 #ifndef FS_PDFOPTIMIZATION_H_
16 #define FS_PDFOPTIMIZATION_H_
35 namespace optimization {
355 typedef enum _ImageCompressMode {
373 typedef enum _ImageCompressQuality {
393 typedef enum _StretchMode {
611 typedef enum _MonoImageCompressMode {
633 typedef enum _MonoImageCompressQuality {
655 typedef enum _StretchMode {
903 typedef enum _OptimizerOptions {
921 typedef enum _CleanUpOptions {
941 typedef enum _DiscardObjectsOptions {
982 typedef enum _DiscardUserDataOptions {
1226 typedef enum _ScannedImageCompressMode {
1242 typedef enum _ScannedMonoImageCompressMode {
When this is set, that means not to do any interpolation for stretching.
Definition: fs_optimization.h:405
void SetColorGrayImageCompressionMode(ScannedImageCompressMode mode)
Set compression mode used for optimizing color/gray images in the scanned PDF document.
discard tag user data
Definition: fs_optimization.h:996
void SetCompressionMode(ImageCompressMode mode)
Set compression mode used for optimizing color/gray images in a PDF document.
void SetImageDPI(int32 dpi)
Set the DPI value as the target compressed value for compressing color/gray images in a PDF document.
~MonoImageSettings()
Destructor.
OptimizeScannedPDFSettings & operator=(const OptimizeScannedPDFSettings &other)
Assign operator.
StretchMode
Enumeration for stretch mode.
Definition: fs_optimization.h:393
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
Compression quality: Low.
Definition: fs_optimization.h:377
Compression quality: Low, only for e_ImageCompressHigh compress mode.
Definition: fs_optimization.h:641
Compression quality: Maximum.
Definition: fs_optimization.h:383
When this is set, that means to do default stretching.
Definition: fs_optimization.h:657
When this is set, that means to do bicubic interpolation for zooming.
Definition: fs_optimization.h:665
void SetTileSize(int size)
Set the tile size for JPEG2000 compression modes, used for optimizing color/gray images in a PDF docu...
Discard embedded print settings.
Definition: fs_optimization.h:955
bool operator!=(const MonoImageSettings &other) const
Not equal operator.
Remove invalid links.
Definition: fs_optimization.h:929
bool operator==(const ImageSettings &other) const
Equal operator.
Discard all form submission, import and reset actions.
Definition: fs_optimization.h:943
Compression quality: Minimum, only for e_ImageCompressHigh compress mode.
Definition: fs_optimization.h:639
void SetStretchMode(StretchMode mode)
Set stretch mode used for optimizing color/gray images in a PDF document.
Discard hidden layer content and flatten visible layers.
Definition: fs_optimization.h:994
virtual void Release()=0
A callback function used to release current callback object itself.
Optimize PDF document by discarding objects.
Definition: fs_optimization.h:909
OptimizerOptions
Enumeration for optimizer options.
Definition: fs_optimization.h:903
In streams that use LZW encoding, use Flate instead.
Definition: fs_optimization.h:925
~ImageSettings()
Destructor.
When this is set, that means to do without stretching.
Definition: fs_optimization.h:397
Definition: fs_optimization.h:348
Discard document information and metadata.
Definition: fs_optimization.h:988
uint32 cross_ref_tables
Total size of the cross-reference table in bytes.
Definition: fs_optimization.h:206
CFX_Object Object
Object type.
Definition: fs_basictypes.h:221
Definition: fs_optimization.h:1219
Definition: fs_optimization.h:604
Definition: fs_common.h:373
Discard embedded search index.
Definition: fs_optimization.h:970
void SetImageDPI(int32 dpi)
Set the DPI value as the target compressed value for compressing monochrome images in a PDF document.
uint32 acroforms
Total size of AcroForm data in bytes.
Definition: fs_optimization.h:143
Compression mode: jpeg2000 lossless.
Definition: fs_optimization.h:1232
AuditSpaceSize()
Constructor.
Definition: fs_optimization.h:45
uint32 color_space
Total size of color space definitions in bytes.
Definition: fs_optimization.h:164
bool operator==(const OptimizerSettings &other) const
Equal operator.
void SetQuality(MonoImageCompressQuality quality)
Set compression quality, used for optimizing monochrome images in a PDF document.
File stream interface, reading & writing.
Definition: fx_stream.h:692
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 ...
Structure of audit space, the unit is byte type.
Definition: fs_optimization.h:42
uint32 content_streams
Total size of all page content streams in bytes.
Definition: fs_optimization.h:101
~OptimizerSettings()
Destructor.
Header file for common definitions and classes.
Compression quality: Minimum.
Definition: fs_optimization.h:375
Definition: fs_optimization.h:265
StretchMode
Enumeration for stretch mode.
Definition: fs_optimization.h:655
OptimizerSettings()
Constructor.
void SetQuality(ImageCompressQuality quality)
Set the quality for lossy compression modes, used for optimizing color/gray images in a PDF document.
Compression mode: jbig2 lossless.
Definition: fs_optimization.h:1246
When this is set, that means to do interpolation for zooming.
Definition: fs_optimization.h:399
uint32 structure_infos
Total size of structural information in bytes.
Definition: fs_optimization.h:136
bool IsEmpty() const
Check whether current object is empty or not.
When this is set, that means not to do halftone for shrinking or rotating.
Definition: fs_optimization.h:663
Compression mode: retain, which means no compression.
Definition: fs_optimization.h:363
void SetForegroundDownScale(int32 down_scale)
Set the foreground downscale value for lossy compression modes, used for optimizing color images in a...
Use Flate to encode streams that are not encoded.
Definition: fs_optimization.h:923
void SetUnembeddedFontSettings(const UnembeddedFontSettings &settings)
Set optimization related settings for unembedding fonts.
Compression mode: jpeg.
Definition: fs_optimization.h:1230
uint32 images
Total size of embedded images in bytes.
Definition: fs_optimization.h:108
Compression mode: high.
Definition: fs_optimization.h:617
~OptimizeScannedPDFSettings()
Destructor.
void SetCleanUpOptions(foxit::uint32 clean_up_options)
Set optimization related options for cleaning up.
Compression quality: High, only for e_ImageCompressHigh compress mode.
Definition: fs_optimization.h:645
Remove invalid bookmarks.
Definition: fs_optimization.h:927
uint32 extend_graphics_states
Total size of extended graphics states in bytes.
Definition: fs_optimization.h:199
AuditSpaceSize & operator=(const AuditSpaceSize &data)
Assign operator.
Definition: fs_optimization.h:73
Compression mode: CCITT Group 4.
Definition: fs_optimization.h:615
uint32 comments_and_3d_contents
Total size of comments and 3D contents in bytes.
Definition: fs_optimization.h:185
void SetImageDPILimit(int dpi_limit)
Set the lower limit DPI value for the monochrome image to decide if the image is to be compressed in ...
UnembeddedFontSettings()
Constructor.
~UnembeddedFontSettings()
Destructor.
Definition: fs_optimization.h:234
Compression quality: Lossy.
Definition: fs_optimization.h:637
void SetTextSensitivity(int32 text_sensitivity)
Set the text sensitivity for lossy compression modes, used for optimizing color images in a PDF docum...
void SetColorGrayImageSettings(const ImageSettings &settings)
Set optimization related settings for color/gray image.
bool operator!=(const ImageSettings &other) const
Not equal operator.
Discard document tags.
Definition: fs_optimization.h:968
bool operator!=(const UnembeddedFontSettings &other) const
Not equal operator.
Compression mode: CCITT Group 3.
Definition: fs_optimization.h:613
void SetBackgroundDownScale(int32 down_scale)
Set the background downscale value for lossy compression modes, used for optimizing color images in a...
void SetSubsetAllEmFonts(bool bSubsetAllEmFonts)
Sets whether to include subsets of all unembedded fonts.
UnembeddedFontSettings & operator=(const UnembeddedFontSettings &other)
Assign operator.
void SetMonoImageCompressionMode(ScannedMonoImageCompressMode mode)
Set compression mode used for optimizing monochrome images in a scanned PDF document.
virtual common::file::StreamCallback * GetTemporaryFileStream(const common::Bitmap &bitmap)=0
Get temporary file stream. The file stream is used for saving the encoding result of JPEG2000 and JBI...
Compression mode: run-length.
Definition: fs_optimization.h:623
Compression mode: jpeg2000.
Definition: fs_optimization.h:361
Compression mode: CCITT Group 4.
Definition: fs_optimization.h:1248
Discard file attachments.
Definition: fs_optimization.h:990
void SetGrayscaleImageSettings(const ImageSettings &settings)
Set optimization related settings for grayscale image.
Discard all alternate images.
Definition: fs_optimization.h:966
Definition: fs_optimization.h:808
void SetColorGrayImageCompressionQuality(foxit::uint32 quality)
Set the quality for lossy compression modes, used for optimizing color/gray images in a scanned PDF d...
smooth lines to curves
Definition: fs_optimization.h:974
Compression mode: high.
Definition: fs_optimization.h:1250
static AuditSpaceSize ComputeAuditSpace(const pdf::PDFDoc &doc)
Compute audit space.
void SetOptimizerOptions(uint32 optimize_options)
Set options to decide which kind of optimizer setting will be used for optimizing PDF document.
Optimize PDF document by unembedding some embedded fonts.
Definition: fs_optimization.h:911
MonoImageSettings & operator=(const MonoImageSettings &other)
Assign operator.
void SetUnembeddedFontNameArray(const WStringArray &font_name_array)
Set a font name array to specify which fonts are to be unembeded.
Detect and merge image fragments.
Definition: fs_optimization.h:972
MonoImageSettings()
Constructor.
static common::Progressive StartSubsetEmbedFont(const pdf::PDFDoc &doc, common::PauseCallback *pause)
Start to make subsets for embedded fonts in the given PDF document.
When this is set, that means to do without stretching.
Definition: fs_optimization.h:659
Compression mode: high.
Definition: fs_optimization.h:357
uint32 fonts
Total size of embedded fonts in bytes.
Definition: fs_optimization.h:115
Compression mode: zip.
Definition: fs_optimization.h:365
Flatten form fields.
Definition: fs_optimization.h:945
Discard all JavaScript actions.
Definition: fs_optimization.h:951
void SetDiscardObjectsOptions(foxit::uint32 discard_objects_options)
Set optimization related options for discarding objects.
Compression quality: Lossless.
Definition: fs_optimization.h:635
bool IsEmpty() const
Check whether current object is empty or not.
static common::Progressive Optimize(const pdf::PDFDoc &doc, const OptimizerSettings &settings, common::PauseCallback *pause)
Optimize the given PDF document with specified optimizer settings.
Compression mode: retain, which means no compression.
Definition: fs_optimization.h:621
Header file for PDF page related definitions and classes.
When this is set, that means not to do any interpolation for stretching.
Definition: fs_optimization.h:667
When this is set, that means not to do halftone for shrinking or rotating.
Definition: fs_optimization.h:401
uint32 named_destnations
Total size of named destinations in bytes.
Definition: fs_optimization.h:157
When this is set, that means to do bicubic interpolation for zooming.
Definition: fs_optimization.h:403
uint32 x_object_forms
Total size of XObject Forms in bytes.
Definition: fs_optimization.h:129
Foxit namespace.
Definition: fs_taggedpdf.h:27
uint32 shading_pattern_infos
Total size of shading pattern information in bytes.
Definition: fs_optimization.h:192
bool IsEmpty() const
Check whether current object is empty or not.
MonoImageCompressMode
Enumeration for compression mode used for monochrome image.
Definition: fs_optimization.h:611
DiscardObjectsOptions
Enumeration for discarding objects options.
Definition: fs_optimization.h:941
Discard unreferenced named destination.
Definition: fs_optimization.h:931
Discard bookmarks.
Definition: fs_optimization.h:957
ScannedImageCompressMode
Enumeration for compression mode used for color or gray image.
Definition: fs_optimization.h:1226
Compression mode: jbig2 lossy.
Definition: fs_optimization.h:1244
Definition: fx_basic.h:3758
bool operator!=(const OptimizerSettings &other) const
Not equal operator.
Compression quality: High.
Definition: fs_optimization.h:381
uint32 embed_files
Total size of embedded file streams in bytes.
Definition: fs_optimization.h:220
Header file for PDF document related definitions and classes.
Optimize PDF document by cleaning up.
Definition: fs_optimization.h:907
Compression mode: high.
Definition: fs_optimization.h:1228
void SetColorImageSettings(const ImageSettings &settings)
Set optimization related settings for color image.
Compression mode: jpeg.
Definition: fs_optimization.h:359
Compression mode: zip.
Definition: fs_optimization.h:625
When this is set, that means to do default stretching.
Definition: fs_optimization.h:395
uint32 thumbs
Total size of page thumbnails in bytes.
Definition: fs_optimization.h:213
void SetCompressionMode(MonoImageCompressMode mode)
Set compression mode used for optimizing monochrome images in a PDF document.
Compression quality: Medium.
Definition: fs_optimization.h:379
Compression quality: Maximum, only for e_ImageCompressHigh compress mode.
Definition: fs_optimization.h:647
DiscardUserDataOptions
Enumeration for discarding user data options.
Definition: fs_optimization.h:982
static common::Progressive OptimizeScannedPDF(const pdf::PDFDoc &doc, const OptimizeScannedPDFSettings &settings, ImageCompressionCallback *image_compress_callback, common::PauseCallback *pause)
Optimize the scanned PDF document with specified optimizers settings.
Definition: fs_pdfdoc.h:772
Discard all annotations, forms and multimedia.
Definition: fs_optimization.h:984
Compression mode: jbig2.
Definition: fs_optimization.h:619
ScannedMonoImageCompressMode
Enumeration for compression mode used for monochrome image.
Definition: fs_optimization.h:1242
FX_INT32 int32
32-bit signed integer.
Definition: fs_basictypes.h:194
Discard private data of other applications.
Definition: fs_optimization.h:992
uint32 pattern_infos
Total size of pattern objects in bytes.
Definition: fs_optimization.h:171
void SetMonoImageSettings(const MonoImageSettings &settings)
Set optimization related settings for monochrome image.
bool operator==(const OptimizeScannedPDFSettings &other) const
Equal operator.
ImageCompressMode
Enumeration for compression mode used for color or gray image.
Definition: fs_optimization.h:355
Cleanup page content Change 0A,0D in the content stream to Spaces.
Definition: fs_optimization.h:933
Definition: fs_basictypes.h:228
void SetOptimizedPages(const common::Range &pages)
Set the pages which will be optimized.
ImageSettings()
Constructor.
uint32 bookmarks
Total size of bookmarks data in bytes.
Definition: fs_optimization.h:122
Optimize PDF document by compressing images.
Definition: fs_optimization.h:905
bool operator==(const UnembeddedFontSettings &other) const
Equal operator.
MonoImageCompressQuality
Enumeration for compression quality used for monochrome image.
Definition: fs_optimization.h:633
bool IsEmpty() const
Check whether current object is empty or not.
When this is set, that means to do interpolation for zooming.
Definition: fs_optimization.h:661
uint32 web_infos
Total size of web-related metadata in bytes.
Definition: fs_optimization.h:227
Definition: fs_optimization.h:896
uint32 link_annots
Total size of link annotations in bytes.
Definition: fs_optimization.h:150
Compression mode: jpeg2000 lossy.
Definition: fs_optimization.h:1234
Discard embedded page thumbnails.
Definition: fs_optimization.h:953
void SetDiscardUserDataOptions(foxit::uint32 discard_userdata_options)
Set optimization related options for discarding user data.
ImageSettings & operator=(const ImageSettings &other)
Assign operator.
Definition: fs_common.h:1348
Definition: fs_image.h:36
bool operator!=(const OptimizeScannedPDFSettings &other) const
Not equal operator.
ImageCompressQuality
Enumeration for loss compression quality used for color or gray image.
Definition: fs_optimization.h:373
bool operator==(const MonoImageSettings &other) const
Equal operator.
Compression quality: Lossless, only for jpeg2000 compress mode.
Definition: fs_optimization.h:385
OptimizerSettings & operator=(const OptimizerSettings &other)
Assign operator.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
Compression quality: Medium, only for e_ImageCompressHigh compress mode.
Definition: fs_optimization.h:643
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_basictypes.h:449
Optimize PDF document by discarding user data.
Definition: fs_optimization.h:913
CleanUpOptions
Enumeration for cleaning up options.
Definition: fs_optimization.h:921
void SetStretchMode(StretchMode mode)
Set stretch mode used for optimizing monochrome images in a PDF document.
uint32 piece_infos
Total size of piece information in bytes.
Definition: fs_optimization.h:178
Discard external cross references.
Definition: fs_optimization.h:986
@2025 Foxit Software Incorporated. All rights reserved.