All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Optimizer.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------------------
2 // Copyright (c) 2001-2018 by PDFTron Systems Inc. All Rights Reserved.
3 // Consult legal.txt regarding legal and license information.
4 //---------------------------------------------------------------------------------------
5 #ifndef PDFTRON_H_CPPPDFOptimizer
6 #define PDFTRON_H_CPPPDFOptimizer
7 
8 #include <PDF/PDFDoc.h>
9 #include <C/PDF/TRN_Optimizer.h>
10 
11 namespace pdftron{
12  namespace PDF{
13 
14 
36 class Optimizer
37 {
38 public:
39 
44  class ImageSettings : public TRN_OptimizerImageSettings
45  {
46  public:
48  {
54  };
55 
57  {
60  };
64  ImageSettings();
65 
74  void SetImageDPI(double maximum,double resampling);
75 
81  void SetCompressionMode(enum CompressionMode mode);
82 
88  void SetDownsampleMode(enum DownsampleMode mode);
89 
95  void SetQuality(UInt32 quality);
96 
105  void ForceRecompression(bool force);
106 
112  void ForceChanges(bool force);
113  };
114 
119  class MonoImageSettings : public TRN_OptimizerMonoImageSettings
120  {
121  public:
123  {
127  };
128 
130  {
133  };
134 
139 
148  void SetImageDPI(double maximum,double resampling);
149 
155  void SetCompressionMode(enum CompressionMode mode);
156 
157 
163  void SetDownsampleMode(enum DownsampleMode mode);
164 
165 
174  void ForceRecompression(bool force);
175 
181  void ForceChanges(bool force);
182 
189  void SetJBIG2Threshold(double jbig2_threshold);
190 
191  };
192 
196  class TextSettings : public TRN_OptimizerTextSettings
197  {
198  public:
202  TextSettings();
203 
210  void SubsetFonts(bool subset);
211 
219  void EmbedFonts(bool embed);
220  };
221 
226  {
227  public:
232 
236  void SetColorImageSettings(const ImageSettings& settings);
237 
241  void SetGrayscaleImageSettings(const ImageSettings& settings);
242 
246  void SetMonoImageSettings(const MonoImageSettings& settings);
247 
251  void SetTextSettings(const TextSettings& settings);
252 
257  void RemoveCustomEntries(bool should_remove);
258 
264  };
265 
276  static void Optimize(PDFDoc& doc, const OptimizerSettings& settings=OptimizerSettings());
277 
279  #ifndef SWIGHIDDEN
280  private:
281  Optimizer() {};
282  #endif
283 };
285 
286 #include <Impl/Optimizer.inl>
287 
288  } // namespace PDF
289 } // namespace pdftron
290 
291 #endif // PDFTRON_H_CPPPDFOptimizer
void SetTextSettings(const TextSettings &settings)
void RemoveCustomEntries(bool should_remove)
void SetImageDPI(double maximum, double resampling)
TRN_UInt32 UInt32
Definition: BasicTypes.h:13
void SetGrayscaleImageSettings(const ImageSettings &settings)
static void Optimize(PDFDoc &doc, const OptimizerSettings &settings=OptimizerSettings())
void SetJBIG2Threshold(double jbig2_threshold)
void SetColorImageSettings(const ImageSettings &settings)
void SetMonoImageSettings(const MonoImageSettings &settings)
void SetCompressionMode(enum CompressionMode mode)
void SetDownsampleMode(enum DownsampleMode mode)
void SetCompressionMode(enum CompressionMode mode)
void SetImageDPI(double maximum, double resampling)
void SetDownsampleMode(enum DownsampleMode mode)

© 2002-2014 PDFTron Systems Inc.