Foxit PDF SDK
fs_common.h
Go to the documentation of this file.
1 
15 #ifndef FS_COMMON_H_
16 #define FS_COMMON_H_
17 
18 #include "common/fs_basictypes.h"
19 #include "common/file/fs_file.h"
20 
26 namespace foxit {
27 class ActionCallback;
28 namespace common {
29 class DocEventCallback;
30 class FontMapperCallback;
31 class Color;
32 } // namespace common
33 namespace pdf {
34 namespace annots {
36 } // namespace annots
37 class PDFDoc;
38 class SignatureCallback;
39 class SecurityCallback;
40 class TimeStampCallback;
41 } // namespace pdf
42 namespace addon {
43 namespace xfa {
44 class AppProviderCallback;
45 } // namespace xfa
46 } // namespace addon
47 
51 namespace common {
57 typedef enum _Rotation {
68 } Rotation;
69 
75 typedef enum _Alignment {
82 } Alignment;
83 
89 typedef enum _FillMode {
102 } FillMode;
103 
109 typedef enum _Position {
128 } Position;
129 
135 typedef enum _ModuleName {
160 } ModuleName;
161 
167 typedef enum _ColorSpaceType {
195 
201 typedef enum _LocaleID {
220 } LocaleID;
221 
227 typedef enum _FileFormatType {
245 
246 
247 #define CommonDefines foxit::common
248 
254 class Codec FS_FINAL : public Base {
255  public:
264  static String Base64Encode(const void* data_buffer, size_t length);
265 
274  static String Base64Decode(const void* encoded_data_buffer, size_t length);
275 
284  static String FlateCompress(const void* data_buffer, size_t length);
285 
294  static String FlateDecompress(const void* compressed_data_buffer, size_t length);
295 };
296 
306  public:
312  virtual void Release() = 0;
313 
326  virtual void OnOutOfMemory() = 0;
327 
328  protected:
329  ~NotifierCallback() {}
330 };
331 
336 class Progressive FS_FINAL : public Base {
337  public:
343  typedef enum _State {
345  e_Error = 0,
350  } State;
351 
357  Progressive(const Progressive& other);
359  ~Progressive();
360 
368  Progressive& operator = (const Progressive& other);
369 
378  State Continue();
379 
386  int GetRateOfProgress();
387 
388  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
389  explicit Progressive(FS_HANDLE handle = NULL);
390 };
395 class RenderConfig FS_FINAL : public Object {
396  public:
404 
407 
410 
418  RenderConfig& operator = (const RenderConfig& render_config) {
420  return *this;
421  }
422 
430  bool operator == (const RenderConfig& render_config) const {
432  return true;
433  return false;
434  }
435 
443  bool operator != (const RenderConfig& render_config) const {
445  return true;
446  return false;
447  }
448 
458  this->graphics_objs_count_in_one_step = graphics_objs_count_in_one_step;
459  }
460 
474 };
475 
492 class Library FS_FINAL : public Object {
493  public:
510  static ErrorCode Initialize(const char* sn, const char* key);
511 
523  static ErrorCode Reinitialize();
524 
534  static void Release();
535 
550  static bool HasModuleLicenseRight(common::ModuleName module_name);
551 
557  static String GetVersion();
558 
570  static bool SetCacheSize(uint32 size);
571 
583  static bool EnableJavaScript(bool enable_javascript);
584 
585 #ifndef __EMSCRIPTEN_RENDER__
586 
608  static bool SetAnnotIconProviderCallback(pdf::annots::IconProviderCallback* annot_icon_provider);
609 #endif
610 
621  static bool SetNotifierCallback(NotifierCallback* notifier);
622 
637  static bool SetActionCallback(ActionCallback* action_callback);
638 
647  static bool SetDocEventCallback(DocEventCallback* callback);
648 
681  static bool RegisterSignatureCallback(const char* filter, const char* sub_filter,
682  pdf::SignatureCallback* signature_callback);
683 
718  static bool RegisterSecurityCallback(const char* filter, pdf::SecurityCallback* callback);
719 
738  static bool UnregisterSecurityCallback(const char* filter);
739 
759  static bool SetTimeStampCallback(pdf::TimeStampCallback* timestamp_callback);
760 
761  #ifndef _FX_NO_XFA_
762 
780  #endif // #ifndef _FX_NO_XFA_
781 
791  static void SetRenderTextGamma(float gamma);
792 
803  static void* Alloc(size_t size);
804 
812  static void Free(void* ptr);
813 
825  static void* Realloc(void* ptr, size_t new_size);
826 
837  static void SetLogFile(const char* log_file_path);
838 
849  static void SetLogFile(const wchar_t* log_file_path);
850 
862  static bool SetFontMapperCallback(FontMapperCallback* callback);
863 
877  static void SetDefaultICCProfilesPath(const wchar_t* icc_profile_folder_path);
878 
884  static RenderConfig GetRenderConfig();
885 
893  static void SetRenderConfig(const RenderConfig& render_config);
894 
905  static void EnableThreadSafety(bool is_enable_thread_safety);
906 
907  private:
908  Library(const Library&);
909  Library& operator = (const Library&);
910 };
912 class GraphState FS_FINAL : public Object {
913  public:
920  typedef enum _LineCapStyle {
936  } LineCapStyle;
937 
944  typedef enum _LineJoinStyle {
962  } LineJoinStyle;
963 
964 
980  this->line_width = line_width;
981  this->line_join = line_join;
982  this->miter_limit = miter_limit;
983  this->line_cap = line_cap;
984  this->dash_phase = dash_phase;
985  this->dashes = dashes;
986  }
987 
990  : line_width(1.0f)
992  , miter_limit(10*1.0f)
994  , dash_phase(0) {}
995 
998 
1004  GraphState(const GraphState& state) {
1005  this->line_width = state.line_width;
1006  this->line_join = state.line_join;
1007  this->miter_limit = state.miter_limit;
1008  this->line_cap = state.line_cap;
1009  this->dash_phase = state.dash_phase;
1010  this->dashes = state.dashes;
1011  }
1012 
1021  this->line_width = state.line_width;
1022  this->line_join = state.line_join;
1023  this->miter_limit = state.miter_limit;
1024  this->line_cap = state.line_cap;
1025  this->dash_phase = state.dash_phase;
1026  this->dashes = state.dashes;
1027  return *this;
1028  }
1029 
1046  const FloatArray& dashes) {
1047  this->line_width = line_width;
1048  this->line_join = line_join;
1049  this->miter_limit = miter_limit;
1050  this->line_cap = line_cap;
1051  this->dash_phase = dash_phase;
1052  this->dashes = dashes;
1053  }
1054 
1061  float line_width;
1088 
1090  float dash_phase;
1091 
1096 };
1097 
1104 
1111  public:
1117  virtual void Release() = 0;
1118 
1124  virtual void OnDocWillOpen() {}
1125 
1136  virtual void OnDocOpened(const pdf::PDFDoc& document, ErrorCode error_code) {}
1137 
1145  virtual void OnDocWillDestroy(const pdf::PDFDoc& document) {}
1146 
1154  virtual void OnDocWillSave(const pdf::PDFDoc& document) {}
1155 
1166  virtual void OnDocSaved(const pdf::PDFDoc& document, ErrorCode error_code) {}
1167 
1168  protected:
1169  ~DocEventCallback() {}
1170 };
1171 
1179 class Range FS_FINAL : public Base {
1180  public:
1186  typedef enum _Filter {
1188  e_All = 0,
1190  e_Even = 1,
1192  e_Odd = 2
1193  } Filter;
1194 
1196  Range();
1197 
1203  explicit Range(int index);
1204 
1217  explicit Range(int start_index, int end_index, Filter filter = e_All);
1218 
1224  Range(const Range& other);
1225 
1227  ~Range();
1228 
1236  Range& operator = (const Range& other);
1237 
1245  bool operator == (const Range& other) const;
1246 
1254  bool operator != (const Range& other) const;
1255 
1263  bool IsEmpty() const;
1264 
1270  void AddSingle( int index );
1271 
1286  void AddSegment( int start_index, int end_index, Filter filter = e_All );
1287 
1293  int GetSegmentCount() const;
1294 
1303  int GetSegmentStart(int segment_index) const;
1304 
1313  int GetSegmentEnd(int segment_index) const;
1314 
1320  void RemoveAll();
1321 
1322  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1323  explicit Range(FS_HANDLE handle);
1324 };
1325 
1334 class Font FS_FINAL : public Base {
1335  public:
1341  typedef enum _Styles {
1345  e_StyleSerif = 0x0002,
1349  e_StyleScript = 0x0008,
1353  e_StyleItalic = 0x0040,
1355  e_StyleAllCap = 0x10000,
1357  e_StylesSmallCap = 0x20000,
1359  e_StylesBold = 0x40000
1360  } Styles;
1361 
1367  typedef enum _Charset {
1398  } Charset;
1399 
1405  typedef enum _CIDCharset {
1418  } CIDCharset;
1419 
1425  typedef enum _StandardID {
1454  } StandardID;
1455 
1461  typedef enum _FontTypes {
1470  } FontTypes;
1471 
1484  Font(const wchar_t* name, uint32 styles, Charset charset, int weight);
1485 
1492  explicit Font(StandardID font_id);
1493 
1503  Font(const char* font_file_path, int face_index, Charset charset);
1504 
1514  Font(const wchar_t* font_file_path, int face_index, Charset charset);
1515 
1516  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1517  explicit Font(FS_HANDLE handle = NULL);
1518 
1524  Font(const Font& other);
1525 
1533  Font& operator = (const Font& other);
1534 
1542  bool operator == (const Font& other) const;
1543 
1551  bool operator != (const Font& other) const;
1552 
1560  bool IsEmpty() const;
1561 
1563  ~Font();
1564 
1570  WString GetName();
1571 
1578 
1584  bool IsBold() const;
1585 
1591  bool IsItalic() const;
1592 
1600  bool IsEmbedded(const pdf::PDFDoc& document);
1601 
1610  bool IsSupportEmbedded(const pdf::PDFDoc& document);
1611 
1619  Font Embed(pdf::PDFDoc document);
1620 
1621 #ifdef _FONT_GETWOFFDATA_
1622 
1629  String GetWoffData(pdf::PDFDoc document);
1630 #endif
1631 
1637  int GetAscent() const;
1638 
1644  int GetDescent() const;
1645 
1653  RectI GetCharBBox(uint32 unicode) const;
1654 
1662  float GetCharWidth(uint32 unicode) const;
1663 
1672  RectI GetCharBBox(foxit::uint32 unicode,const foxit::pdf::PDFDoc& document);
1673 
1682  float GetCharWidth(foxit::uint32 unicode,const foxit::pdf::PDFDoc& document);
1683 
1692  foxit::uint32 GetStyles(const pdf::PDFDoc& document);
1693 
1705  CIDCharset GetCIDCharset(const pdf::PDFDoc& document);
1706 
1714  bool IsStandardFont(const pdf::PDFDoc& document);
1715 
1727  StandardID GetStandard14Font(const pdf::PDFDoc& document);
1728 
1737  FontTypes GetFontType(const pdf::PDFDoc& document);
1738 
1746  String GetBaseFontName(const pdf::PDFDoc& document);
1747 
1756  bool IsVertWriting(const pdf::PDFDoc& document);
1757 };
1758 
1763 class FontMapResult FS_FINAL : public Object {
1764  public:
1767 
1782  this->file_read = file_read;
1783  this->face_index = face_index;
1784  }
1785 
1792  this->file_read = other.file_read;
1793  this->face_index = other.face_index;
1794  }
1795 
1804  this->file_read = other.file_read;
1805  this->face_index = other.face_index;
1806  return *this;
1807  }
1808 
1816  bool operator == (const FontMapResult& other) const {
1817  if (this->file_read != other.file_read || this->face_index != other.face_index)
1818  return false;
1819  return true;
1820  }
1821 
1829  bool operator != (const FontMapResult& other) const {
1830  return !(*this == other);
1831  }
1832 
1847  this->file_read = file_read;
1848  this->face_index = face_index;
1849  }
1850 
1866 };
1867 
1877  public:
1883  virtual void Release() = 0;
1884 
1900  virtual FontMapResult MapFont(const char* font_name, bool is_truetype, uint32 styles,
1901  int weight, int italic_angle, Font::Charset charset) = 0;
1902 
1903  protected:
1904  ~FontMapperCallback() {}
1905 };
1906 
1908 class Path FS_FINAL : public Base {
1909  public:
1915  typedef enum _PointType {
1934  } PointType;
1935 
1937  Path();
1939  ~Path();
1945  Path(const Path& other);
1953  Path& operator=(const Path& other);
1961  bool operator ==(const Path& other) const;
1969  bool operator != (const Path& other) const;
1970 
1978  bool IsEmpty() const;
1979 
1985  int GetPointCount();
1986 
1995  PointF GetPoint(int index);
1996 
2006  PointType GetPointType(int index);
2007 
2019  bool SetPoint(int index, const PointF& point, PointType type);
2020 
2031  bool MoveTo(const PointF& point);
2032 
2042  bool LineTo(const PointF& point);
2043 
2056  bool CubicBezierTo(const PointF& point1, const PointF& point2, const PointF& point3);
2057 
2077  bool CloseFigure();
2078 
2087  bool RemovePoint(int index);
2088 
2096  bool AppendRect(const RectF& rect);
2097 
2105  bool AppendEllipse(const RectF& rect);
2106 
2114  void Transform(const Matrix& matrix);
2120  void Clear();
2121 
2134  void IncreasePointCount(int count);
2135 
2136  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2137  explicit Path(FS_HANDLE handle);
2138 };
2139 
2141 FSDK_DEFINE_ARRAY(PathArray, Path)
2142 
2143 
2146 class ColorSpace FS_FINAL : public Base {
2147  public:
2156  typedef enum _RenderingIntent {
2158  e_RenderIntentPerceptual = 0,
2160  e_RenderIntentRelColorimetric = 1,
2162  e_RenderIntentSaturation = 2,
2164  e_RenderIntentAbsColorimetric = 3
2165  } RenderingIntent;
2166 
2167 
2168  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2169  explicit ColorSpace(FS_HANDLE handle);
2170 
2181  ~ColorSpace();
2182 
2188  ColorSpace(const ColorSpace& other);
2189 
2197  ColorSpace& operator=(const ColorSpace& other);
2198 
2207  bool operator==(const ColorSpace& other) const;
2208 
2217  bool operator!=(const ColorSpace& other) const;
2218 
2226  bool IsEmpty() const;
2227 
2235  int GetComponentCount() const;
2236 
2243  foxit::common::ColorSpaceType GetColorSpaceType() const;
2244 
2250  bool IsSpotColorSpace() const;
2251 
2268  StringArray GetComponentNames() const;
2269 
2278  Color ConvertColor(const Color& color);
2279 
2290  Color ConvertColor(int r_value, int g_value, int b_value);
2291 
2303  Color ConvertColor(int c_value, int m_value, int y_value, int k_value);
2304 };
2305 
2309 class Color FS_FINAL : public Base {
2310  public:
2311  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2312  explicit Color(FS_HANDLE handle);
2313 
2315  Color();
2321  explicit Color(const ColorSpace& color_space);
2323  ~Color();
2324 
2330  Color(const Color& other);
2331 
2339  Color& operator=(const Color& other);
2340 
2348  bool operator==(const Color& other) const;
2349 
2357  bool operator!=(const Color& other) const;
2358 
2366  bool IsEmpty() const;
2367 
2374 
2384  FloatArray GetValue() const;
2385 
2398  void SetValue(const FloatArray& component_array);
2399 
2409 
2419 };
2420 } // namespace common
2421 } // namespace foxit
2422 
2423 #endif // FS_COMMON_H_
2424 
CID Font charset: Adobe-CNS1.
Definition: fs_common.h:1411
File format type: XFDF.
Definition: fs_common.h:231
Definition: fs_annot.h:1681
Font style: non-symbolic.
Definition: fs_common.h:1351
bool IsVertWriting(const pdf::PDFDoc &document)
Check whether current font is vertical writing.
FontMapResult()
Constructor.
Definition: fs_common.h:1766
Indicates that a line is drawn from the previous point to this point, and this point will also be con...
Definition: fs_common.h:1925
Miter line join type.
Definition: fs_common.h:949
Name for module "Optimizer".
Definition: fs_common.h:151
Styles
Enumeration for font styles.
Definition: fs_common.h:1341
LineCapStyle line_cap
Line cap style.
Definition: fs_common.h:1087
Color & operator=(const Color &other)
Assign operator.
Standard font: Helvetica-Bold.
Definition: fs_common.h:1437
Font charset: Korean (Wansung).
Definition: fs_common.h:1377
Color space: Separation.
Definition: fs_common.h:183
Bevel line join type.
Definition: fs_common.h:961
FloatArray dashes
A dash array that represents the dash patterns. Value of each element in this array should not be neg...
Definition: fs_common.h:1095
Position: center.
Definition: fs_common.h:119
Font charset: Japanese (Shift-JIS).
Definition: fs_common.h:1375
Definition: fs_common.h:1179
bool AppendEllipse(const RectF &rect)
Add an ellipse figure to the end of current path.
Standard font: Times-Bold.
Definition: fs_common.h:1445
static void SetRenderTextGamma(float gamma)
Set gamma value for text rendering.
static bool SetTimeStampCallback(pdf::TimeStampCallback *timestamp_callback)
Set a pdf::TimeStampCallback object to Foxit PDF SDK, in aid of interacting with time stamp server.
Alternate fill mode, in which the system fills this area between odd-numbered and even-numbered polyg...
Definition: fs_common.h:96
CID Font charset: Unknown.
Definition: fs_common.h:1407
static void Release()
Release all resource allocated by Foxit PDF SDK Library.
int GetRateOfProgress()
Get the rate of current progress.
Position: bottom right.
Definition: fs_common.h:127
Definition: fs_common.h:254
Color ConvertToCMYK(ColorSpace::RenderingIntent intent=ColorSpace::e_RenderIntentRelColorimetric) const
Convert to a CMYK color.
Position
Enumeration for watermark position in a PDF page.
Definition: fs_common.h:109
Definition: fs_common.h:1763
Color ConvertToRGB(ColorSpace::RenderingIntent intent=ColorSpace::e_RenderIntentRelColorimetric) const
Convert to a RGB color.
Projecting square cap. The stroke continues beyond the endpoint of the path for a distance equal to h...
Definition: fs_common.h:935
Definition: fs_common.h:2146
bool IsStandardFont(const pdf::PDFDoc &document)
Check whether current font is a standard font.
PointType GetPointType(int index)
Get the type of a point specified by index.
CFX_Object Object
Object type.
Definition: fs_basictypes.h:217
IFX_Pause PauseCallback
Definition: fs_common.h:1103
Color space: CalGray. (1 component, A)
Definition: fs_common.h:177
CID Font charset: Adobe-Japan1.
Definition: fs_common.h:1413
Definition: fs_common.h:492
Round line join type.
Definition: fs_common.h:955
Locale ID for region: Taiwan.
Definition: fs_common.h:207
virtual FontMapResult MapFont(const char *font_name, bool is_truetype, uint32 styles, int weight, int italic_angle, Font::Charset charset)=0
A callback function used to map a suitable font according to input parameters.
Standard font: Times-BoldItalic.
Definition: fs_common.h:1447
GraphState(float line_width, LineJoinStyle line_join, float miter_limit, LineCapStyle line_cap, float dash_phase, const FloatArray &dashes)
Constructor, with parameters.
Definition: fs_common.h:978
Definition: fs_common.h:395
Font(const wchar_t *name, uint32 styles, Charset charset, int weight)
Constructor, with given attribute.
Unknown rotation.
Definition: fs_common.h:67
Rendering intent: Relative Colorimetric.
Definition: fs_common.h:2160
bool IsBold() const
Judge whether current font is bold or not.
static bool SetFontMapperCallback(FontMapperCallback *callback)
Set a FontMapperCallback object to Foxit PDF SDK.
static String Base64Encode(const void *data_buffer, size_t length)
Encode the source data buffer by Base64 algorithm.
bool operator==(const Color &other) const
Equal operator.
bool operator !=(const Path &other) const
Not equal operator.
Color space: DeviceGray. (1 component, gray)
Definition: fs_common.h:171
LocaleID
Enumeration for locale ID.
Definition: fs_common.h:201
Only odd numbers in a range will be used (discards even numbers).
Definition: fs_common.h:1192
void Set(float line_width, LineJoinStyle line_join, float miter_limit, LineCapStyle line_cap, float dash_phase, const FloatArray &dashes)
Set value.
Definition: fs_common.h:1045
Range & operator=(const Range &other)
Assign operator.
PointF GetPoint(int index)
Get a point specified by index.
File format type: XDP.
Definition: fs_common.h:235
bool CloseFigure()
Close current figure (which is also the last figure in current path).
Round cap. A semicircular arc with a diameter equal to the line width is drawn around the endpoint an...
Definition: fs_common.h:930
CID Font charset: Adobe-GB1.
Definition: fs_common.h:1409
bool operator !=(const FontMapResult &other) const
Not equal operator.
Definition: fs_common.h:1829
Locale ID for country: Korea.
Definition: fs_common.h:217
Definition: fx_coordinates.h:30
static bool RegisterSignatureCallback(const char *filter, const char *sub_filter, pdf::SignatureCallback *signature_callback)
Register a third-party pdf::SignatureCallback object to Foxit PDF SDK for signing and verifying signa...
Rotate 180 degrees in clockwise direction.
Definition: fs_common.h:63
Name for module "OCR".
Definition: fs_common.h:145
bool IsSupportEmbedded(const pdf::PDFDoc &document)
Check whether current font is supported to be embedded to the specified PDF document or not.
CID Font charset: Unicode.
Definition: fs_common.h:1417
void SetValue(const FloatArray &component_array)
Set component value array.
RenderingIntent
Enumeration for rendering intent.
Definition: fs_common.h:2156
bool MoveTo(const PointF &point)
Add a point to the end of current path, to start a new figure.
Font style: all cap.
Definition: fs_common.h:1355
Filter
Enumeration for range filter.
Definition: fs_common.h:1186
File format type: FDF.
Definition: fs_common.h:229
Locale ID: Unspecified, used when locale is not specified.
Definition: fs_common.h:203
~Font()
Destructor.
void IncreasePointCount(int count)
Increase the point count and prepare adequate memory for these new points.
int GetSegmentCount() const
Get the count of range segments.
Header file for file operation related definitions and functions.
bool operator==(const Range &other) const
Equal operator.
File reading interface.
Definition: fx_stream.h:566
Color space: DeviceRGB. (3 components, R, G, B)
Definition: fs_common.h:173
void Clear()
Clear all points.
FloatArray GetValue() const
Get component value array.
CIDCharset
Enumeration for CID font charset.
Definition: fs_common.h:1405
Locale ID for region: HongKong.
Definition: fs_common.h:205
WIDE STRING CLASS.
Definition: fx_string.h:1452
static void EnableThreadSafety(bool is_enable_thread_safety)
Enable thread safety.
GraphState(const GraphState &state)
Constructor, with another graph state object.
Definition: fs_common.h:1004
State
Enumeration for progress state.
Definition: fs_common.h:343
(Reserved, currently, this module is not provided) Name for module "LayoutRecognition".
Definition: fs_common.h:155
Font type: TrueType.
Definition: fs_common.h:1465
static void RegisterXFAAppProviderCallback(addon::xfa::AppProviderCallback *callback)
Register an addon::xfa::AppProviderCallback object to Foxit PDF SDK.
Standard font: Helvetica.
Definition: fs_common.h:1435
Position: top right.
Definition: fs_common.h:115
Definition: fs_common.h:1110
Locale ID for country: France.
Definition: fs_common.h:211
FileFormatType
Enumeration for file format type.
Definition: fs_common.h:227
foxit::common::file::ReaderCallback * file_read
A common::file::ReaderCallback object which is implemented by user. Foxit PDF SDK will use this callb...
Definition: fs_common.h:1855
Indicates that the point is the first point of a figure.
Definition: fs_common.h:1917
bool operator==(const FontMapResult &other) const
Equal operator.
Definition: fs_common.h:1816
LineCapStyle
Enumeration for line cap style.
Definition: fs_common.h:920
Font style: script.
Definition: fs_common.h:1349
Locale ID for country: Germany.
Definition: fs_common.h:213
static ErrorCode Reinitialize()
Re-initialize Foxit PDF SDK Library.
Locale ID for country: Japan.
Definition: fs_common.h:219
static bool RegisterSecurityCallback(const char *filter, pdf::SecurityCallback *callback)
Register a pdf::SecurityCallback object to Foxit PDF SDK for decryption of the PDFs with special encr...
Definition: fs_pdfdoc.h:508
static bool SetCacheSize(uint32 size)
Set the upper limit of PDF library cache size.
Color space: DeviceCMYK. (4 components, C, M, Y, K)
Definition: fs_common.h:175
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_common.h:2309
static ErrorCode Initialize(const char *sn, const char *key)
Initialize Foxit PDF SDK Library, with valid license information.
foxit::uint32 GetStyles(const pdf::PDFDoc &document)
Get font styles.
Font style: italic.
Definition: fs_common.h:1353
Color space: ICCBased DeviceCMYK. (4 components, C, M, Y, K)
Definition: fs_common.h:193
Definition: fs_common.h:2141
FontMapResult(const FontMapResult &other)
Constructor, with another font mapping result object.
Definition: fs_common.h:1791
Progressive(const Progressive &other)
Constructor, with another progressive object.
Definition: fs_common.h:1876
FontTypes
Enumeration for font type.
Definition: fs_common.h:1461
static bool SetAnnotIconProviderCallback(pdf::annots::IconProviderCallback *annot_icon_provider)
Set a customized pdf::annots::IconProviderCallback object to Foxit PDF SDK.
Progress state: progress needs to be continued.
Definition: fs_common.h:347
GraphState()
Constructor.
Definition: fs_common.h:989
Position: bottom center.
Definition: fs_common.h:125
bool IsEmbedded(const pdf::PDFDoc &document)
Judge whether current font is embedded in a specified PDF document or not.
static void SetRenderConfig(const RenderConfig &render_config)
Set the rendering configuration.
int GetSegmentEnd(int segment_index) const
Get the end index of a specified range segment.
Definition: fs_signature.h:1340
File format type: HTML.
Definition: fs_common.h:233
void Transform(const Matrix &matrix)
Transform all points in current path with a given matrix.
(Reserved, currently, this module is not provided) Name for module "ConnectedPDF".
Definition: fs_common.h:137
bool operator!=(const Color &other) const
Not equal operator.
bool operator==(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are equal.
Definition: fs_basictypes.h:128
Font style: serif.
Definition: fs_common.h:1345
Indicates that a line is drawn from the previous point to this point.
Definition: fs_common.h:1919
Name for module "Conversion".
Definition: fs_common.h:153
Color space: ICCBased DeviceGray. (1 component, gray)
Definition: fs_common.h:189
Header file for basic types definitions.
LineJoinStyle line_join
Line join style.
Definition: fs_common.h:1069
Position center left.
Definition: fs_common.h:117
Definition: fs_actioncallback.h:1662
ColorSpaceType
Enumeration for color space.
Definition: fs_common.h:167
static void SetLogFile(const char *log_file_path)
Set the log file path.
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:233
Only even numbers in a range will be used (discards odd numbers).
Definition: fs_common.h:1190
virtual void OnDocSaved(const pdf::PDFDoc &document, ErrorCode error_code)
Triggered when a PDF document is saved.
Definition: fs_common.h:1166
Font charset: Traditional Chinese.
Definition: fs_common.h:1381
Font charset: ANSI (United States, Western Europe).
Definition: fs_common.h:1369
static String FlateDecompress(const void *compressed_data_buffer, size_t length)
Decompress the compressed data buffer by DEFLATE algorithm.
Butt cap. The stroke is squared off at the endpoint of a path. There is no projection beyond the end ...
Definition: fs_common.h:925
Position: center right.
Definition: fs_common.h:121
virtual void Release()=0
A callback function used to release current callback object itself.
String GetBaseFontName(const pdf::PDFDoc &document)
Get base font name.
int GetSegmentStart(int segment_index) const
Get the start index of a specified range segment.
Font charset: Standard symbols.
Definition: fs_common.h:1373
Color space: ICCBased DeviceRGB. (3 components, R, G, B)
Definition: fs_common.h:191
CIDCharset GetCIDCharset(const pdf::PDFDoc &document)
Get CID font charset.
Font style: force bold.
Definition: fs_common.h:1359
FillMode
Enumeration for filling mode type, mainly for path graphics object.
Definition: fs_common.h:89
static void * Realloc(void *ptr, size_t new_size)
Reallocate a memory block.
Name for module "Compliance".
Definition: fs_common.h:149
RenderConfig()
Constructor.
Definition: fs_common.h:406
bool IsEmpty() const
Check whether current object is empty or not.
static bool HasModuleLicenseRight(common::ModuleName module_name)
Check if user has right to use a specified module of Foxit PDF SDK in current used license informatio...
FontMapResult & operator=(const FontMapResult &other)
Assign operator.
Definition: fs_common.h:1803
Font style: symbolic.
Definition: fs_common.h:1347
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fx_basic.h:3761
Definition: fs_common.h:912
int GetDescent() const
Get the descent value, in 1/1000 of em size (PDF units).
bool CubicBezierTo(const PointF &point1, const PointF &point2, const PointF &point3)
Add a cubic bezier spline to the end of current figure, by three points: two control points and one t...
Standard font: Courier-BoldOblique, Bold italic.
Definition: fs_common.h:1431
virtual void Release()=0
A callback function used to release current callback object itself.
Definition: fs_common.h:1908
RenderConfig(int graphics_objs_count_in_one_step)
Constructor, with parameter.
Definition: fs_common.h:403
bool operator==(const Path &other) const
Equal operator.
Font charset: Arabic.
Definition: fs_common.h:1395
LineJoinStyle
Enumeration for line join style.
Definition: fs_common.h:944
Range()
Constructor.
static String FlateCompress(const void *data_buffer, size_t length)
Compress the source data buffer by DEFLATE algorithm.
Font charset: System default, for unknown or mapping purpose.
Definition: fs_common.h:1371
Definition: fs_common.h:336
float line_width
Line width.
Definition: fs_common.h:1061
Winding fill mode, in which the system uses a direction in which a figure is drawn to determine wheth...
Definition: fs_common.h:101
Name for module "XFA".
Definition: fs_common.h:139
Locale ID for country: Italy.
Definition: fs_common.h:215
Font type: CID font.
Definition: fs_common.h:1469
~Color()
Destructor.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
static void SetDefaultICCProfilesPath(const wchar_t *icc_profile_folder_path)
Set path of folder which contains default ICC profile files.
Color space: DeviceN.
Definition: fs_common.h:185
virtual void OnDocOpened(const pdf::PDFDoc &document, ErrorCode error_code)
Triggered when a PDF document is opened.
Definition: fs_common.h:1136
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
virtual void OnDocWillOpen()
Triggered when the document will be opened.
Definition: fs_common.h:1124
~RenderConfig()
Destructor.
Definition: fs_common.h:409
static bool SetDocEventCallback(DocEventCallback *callback)
Set a DocEventCallback object to Foxit PDF SDK.
Font charset: Russian.
Definition: fs_common.h:1387
bool SetPoint(int index, const PointF &point, PointType type)
Change the value and type of a point specified by index.
static String Base64Decode(const void *encoded_data_buffer, size_t length)
Decode the encoded data buffer by Base64 algorithm.
bool LineTo(const PointF &point)
Add a point to the end of current figure, and a line is to be drawn from current point to the new poi...
Definition: fs_signature.h:1755
Progressive & operator=(const Progressive &other)
Assign operator.
static bool UnregisterSecurityCallback(const char *filter)
Unregister a pdf::SecurityCallback object from Foxit PDF SDK.
int face_index
Face index. This is a zero-based index value:
Definition: fs_common.h:1865
~Path()
Destructor.
Definition: fx_coordinates.h:596
Color()
Construct an empty color.
Name for module "TableMaker".
Definition: fs_common.h:159
Alignment
Enumeration for alignment (horizontal).
Definition: fs_common.h:75
virtual void OnDocWillSave(const pdf::PDFDoc &document)
Triggered when a PDF document will be saved.
Definition: fs_common.h:1154
static bool SetActionCallback(ActionCallback *action_callback)
Set a foxit::ActionCallback object to Foxit PDF SDK, in aid of performing PDF actions.
static bool EnableJavaScript(bool enable_javascript)
Enable or disable javascript for PDF.
State Continue()
Continue the progressive process.
~Range()
Destructor.
Definition: fs_basictypes.h:407
Definition: fs_basictypes.h:226
bool operator==(const Font &other) const
Equal operator.
ModuleName
Enumeration for module name which is used in license information.
Definition: fs_common.h:135
Font type: Type3.
Definition: fs_common.h:1467
Standard font: ZapfDingbats.
Definition: fs_common.h:1453
Standard font: Helvetica-Oblique, Italic.
Definition: fs_common.h:1441
Definition: fs_security.h:1226
void RemoveAll()
Remove all range segments.
int GetPointCount()
Get the count of points.
static String GetVersion()
Get the version of current Foxit PDF SDK library.
Indicates that this point is the ending point for a Bezier spline, and this point will also be connec...
Definition: fs_common.h:1933
Standard font: Times-Roman.
Definition: fs_common.h:1443
Font Embed(pdf::PDFDoc document)
Embed current font to the specified PDF document.
bool operator !=(const Range &other) const
Not equal operator.
WString GetName()
Retrieve the postscript name.
Standard font: Symbol.
Definition: fs_common.h:1451
Rotate 270 degrees in clockwise direction.
Definition: fs_common.h:65
Position: bottom left.
Definition: fs_common.h:123
Font style: fixed pitch.
Definition: fs_common.h:1343
Font charset: Simplified Chinese.
Definition: fs_common.h:1379
Color space: Pattern.
Definition: fs_common.h:187
Standard font: Times-Italic.
Definition: fs_common.h:1449
Path()
Constructor.
Definition: fs_common.h:1334
Color space: Lab. (3 components, A, B, C)
Definition: fs_common.h:181
Name for module "Redaction".
Definition: fs_common.h:141
Color space: Invalid.
Definition: fs_common.h:169
Fill mode: none.
Definition: fs_common.h:91
Center alignment.
Definition: fs_common.h:79
No rotation.
Definition: fs_common.h:59
Rotation
Enumeration for rotation.
Definition: fs_common.h:57
FontTypes GetFontType(const pdf::PDFDoc &document)
Get font type.
Foxit namespace.
Definition: fs_taggedpdf.h:27
Left alignment.
Definition: fs_common.h:77
Color space: CalRGB. (3 components, A, B, C)
Definition: fs_common.h:179
Definition: fs_common.h:305
void AddSingle(int index)
Add an index as a new range segment.
Name for module "Comparison".
Definition: fs_common.h:147
float dash_phase
Dash phase for dash pattern.
Definition: fs_common.h:1090
StandardID
Enumeration for standard font ID.
Definition: fs_common.h:1425
File format type: XFD.
Definition: fs_common.h:239
All the indexes within a range will be used.
Definition: fs_common.h:1188
BYTE STRING CLASS.
Definition: fx_string.h:317
Progress state: progress is finished.
Definition: fs_common.h:349
Font charset: Hebrew.
Definition: fs_common.h:1393
Charset
Enumeration for font charset.
Definition: fs_common.h:1367
static void Free(void *ptr)
Free a memory block.
Font style: small cap.
Definition: fs_common.h:1357
Font charset: Greek.
Definition: fs_common.h:1389
Font type: Type1.
Definition: fs_common.h:1463
Name for module "Accessibility".
Definition: fs_common.h:157
Rotate 90 degrees in clockwise direction.
Definition: fs_common.h:61
File format type: XML.
Definition: fs_common.h:237
virtual void Release()=0
A callback function used to release current callback object itself.
float GetCharWidth(uint32 unicode) const
Get the width (in 1/1000 of em size (PDF units)) of a character specified by unicode.
Standard font: Helvetica-BoldOblique, Bold italic.
Definition: fs_common.h:1439
static void * Alloc(size_t size)
Allocate a memory block.
bool IsEmpty() const
Check whether current object is empty or not.
Font charset: Baltic.
Definition: fs_common.h:1397
Standard font: Courier.
Definition: fs_common.h:1427
GraphState & operator=(const GraphState &state)
Assign operator.
Definition: fs_common.h:1020
Font charset: Turkish.
Definition: fs_common.h:1391
FontMapResult(foxit::common::file::ReaderCallback *file_read, int face_index)
Constructor, with parameters.
Definition: fs_common.h:1781
bool operator !=(const RenderConfig &render_config) const
Not equal operator.
Definition: fs_common.h:443
Progress state: any error occurs.
Definition: fs_common.h:345
int graphics_objs_count_in_one_step
The count of graphics objects to be rendered in one step during progressive rendering process....
Definition: fs_common.h:473
#define NULL
The null-pointer value.
Definition: fx_system.h:780
bool operator==(const RenderConfig &render_config) const
Equal operator.
Definition: fs_common.h:430
bool operator!=(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are not equal.
Definition: fs_basictypes.h:140
virtual void OnDocWillDestroy(const pdf::PDFDoc &document)
Triggered when a PDF document will be destroyed.
Definition: fs_common.h:1145
void Set(int graphics_objs_count_in_one_step)
Set value.
Definition: fs_common.h:457
Definition: fx_coordinates.h:1076
Font charset: Eastern European.
Definition: fs_common.h:1385
Path & operator=(const Path &other)
Assign operator.
StandardID GetStandard14Font(const pdf::PDFDoc &document)
Get standard font ID.
RectI GetCharBBox(uint32 unicode) const
Get the bounding box of a character specified by unicode.
Right alignment.
Definition: fs_common.h:81
int GetAscent() const
Get the ascent value, in 1/1000 of em size (PDF units).
Indicates that this point is a control point or ending point for a Bezier spline.
Definition: fs_common.h:1927
bool RemovePoint(int index)
Remove a point specified by index.
Position: top left.
Definition: fs_common.h:111
Font & operator=(const Font &other)
Assign operator.
Position: top center.
Definition: fs_common.h:113
bool IsItalic() const
Judge whether current font object is italic or not.
PointType
Enumeration for point type in path.
Definition: fs_common.h:1915
ColorSpace GetColorSpace()
Get the color space that current color belongs to.
Standard font: Courier-Oblique, Italic.
Definition: fs_common.h:1433
~GraphState()
Destructor.
Definition: fs_common.h:997
Locale ID for country: Netherlands.
Definition: fs_common.h:209
Standard font: Courier-Bold.
Definition: fs_common.h:1429
static RenderConfig GetRenderConfig()
Get the rendering configuration.
void AddSegment(int start_index, int end_index, Filter filter=e_All)
Add a new range segment. (Reverse ordering is legal.)
virtual void OnOutOfMemory()=0
A callback function used to notify application when Foxit PDF SDK runs out of memory.
File format type: TXT.
Definition: fs_common.h:243
Font charset: Thai.
Definition: fs_common.h:1383
CID Font charset: Adobe-Korea1.
Definition: fs_common.h:1415
void Set(foxit::common::file::ReaderCallback *file_read, int face_index)
Set value.
Definition: fs_common.h:1846
File format type: PDF.
Definition: fs_common.h:241
String GetFamilyName()
Retrieve the famliy name.
bool operator !=(const Font &other) const
Not equal operator.
static bool SetNotifierCallback(NotifierCallback *notifier)
Set a NotifierCallback object to Foxit PDF SDK.
Name for module "RMS".
Definition: fs_common.h:143
bool AppendRect(const RectF &rect)
Add a rectangle figure to the end of current path.
Definition: fx_coordinates.h:771
float miter_limit
The miter limit for line join.
Definition: fs_common.h:1079
RenderConfig & operator=(const RenderConfig &render_config)
Assign operator.
Definition: fs_common.h:418