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 
76 typedef enum _RotationPointOptions {
88 
94 typedef enum _Alignment {
101 } Alignment;
102 
108 typedef enum _FillMode {
121 } FillMode;
122 
128 typedef enum _Position {
147 } Position;
148 
154 typedef enum _ModuleName {
193 } ModuleName;
194 
200 typedef enum _ColorSpaceType {
232 
238 typedef enum _LocaleID {
257 } LocaleID;
258 
264 typedef enum _FileFormatType {
282 
283 
284 #define CommonDefines foxit::common
285 
291 class Codec FS_FINAL : public Base {
292  public:
301  static String Base64Encode(const void* data_buffer, size_t length);
302 
311  static String Base64Decode(const void* encoded_data_buffer, size_t length);
312 
321  static String FlateCompress(const void* data_buffer, size_t length);
322 
331  static String FlateDecompress(const void* compressed_data_buffer, size_t length);
332 };
333 
343  public:
349  virtual void Release() = 0;
350 
363  virtual void OnOutOfMemory() = 0;
364 
365  protected:
366  ~NotifierCallback() {}
367 };
368 
373 class Progressive FS_FINAL : public Base {
374  public:
380  typedef enum _State {
382  e_Error = 0,
387  } State;
388 
394  Progressive(const Progressive& other);
396  ~Progressive();
397 
405  Progressive& operator = (const Progressive& other);
406 
415  State Continue();
416 
423  int GetRateOfProgress();
424 
425  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
426  explicit Progressive(FS_HANDLE handle = NULL);
427 };
432 class RenderConfig FS_FINAL : public Object {
433  public:
441 
444 
452  RenderConfig& operator = (const RenderConfig& render_config) {
454  return *this;
455  }
456 
464  bool operator == (const RenderConfig& render_config) const {
466  return true;
467  return false;
468  }
469 
477  bool operator != (const RenderConfig& render_config) const {
479  return true;
480  return false;
481  }
482 
492  this->graphics_objs_count_in_one_step = graphics_objs_count_in_one_step;
493  }
494 
508 };
509 
526 class Library FS_FINAL : public Object {
527  public:
544  static ErrorCode Initialize(const char* sn, const char* key);
545 
564  static ErrorCode Initialize(const char* sn, const char* key, bool is_optimize_memory);
565 
577  static ErrorCode Reinitialize();
578 
588  static void Release();
589 
604  static bool HasModuleLicenseRight(common::ModuleName module_name);
605 
611  static String GetVersion();
612 
624  static bool SetCacheSize(uint32 size);
625 
637  static bool EnableJavaScript(bool enable_javascript);
638 
639 #ifndef __EMSCRIPTEN_RENDER__
640 
662  static bool SetAnnotIconProviderCallback(pdf::annots::IconProviderCallback* annot_icon_provider);
663 #endif
664 
675  static bool SetNotifierCallback(NotifierCallback* notifier);
676 
691  static bool SetActionCallback(ActionCallback* action_callback);
692 
701  static bool SetDocEventCallback(DocEventCallback* callback);
702 
739  static bool RegisterSignatureCallback(const char* filter, const char* sub_filter,
740  pdf::SignatureCallback* signature_callback);
741 
776  static bool RegisterSecurityCallback(const char* filter, pdf::SecurityCallback* callback);
777 
796  static bool UnregisterSecurityCallback(const char* filter);
797 
817  static bool SetTimeStampCallback(pdf::TimeStampCallback* timestamp_callback);
818 
819  #ifndef _FX_NO_XFA_
820 
838  #endif // #ifndef _FX_NO_XFA_
839 
849  static void SetRenderTextGamma(float gamma);
850 
861  static void* Alloc(size_t size);
862 
870  static void Free(void* ptr);
871 
883  static void* Realloc(void* ptr, size_t new_size);
884 
895  static void SetLogFile(const char* log_file_path);
896 
907  static void SetLogFile(const wchar_t* log_file_path);
908 
920  static bool SetFontMapperCallback(FontMapperCallback* callback);
921 
935  static void SetDefaultICCProfilesPath(const wchar_t* icc_profile_folder_path);
936 
942  static RenderConfig GetRenderConfig();
943 
951  static void SetRenderConfig(const RenderConfig& render_config);
952 
963  static void EnableThreadSafety(bool is_enable_thread_safety);
964 
965 #if defined(_WIN32) || defined(_WIN64)|| defined(__linux__)
966 
982  static ErrorCode InitializeOFDEngine(const char* ofd_library_path);
983 
992  static void ReleaseOFDEngine();
993 #endif
994 
1002  static WString ExecuteJavaScript(const wchar_t* java_script);
1003 
1004  private:
1005  Library(const Library&);
1006  Library& operator = (const Library&);
1007 };
1009 class GraphState FS_FINAL : public Object {
1010  public:
1017  typedef enum _LineCapStyle {
1033  } LineCapStyle;
1034 
1041  typedef enum _LineJoinStyle {
1059  } LineJoinStyle;
1060 
1061 
1077  this->line_width = line_width;
1078  this->line_join = line_join;
1079  this->miter_limit = miter_limit;
1080  this->line_cap = line_cap;
1081  this->dash_phase = dash_phase;
1082  this->dashes = dashes;
1083  }
1084 
1087  : line_width(1.0f)
1089  , miter_limit(10*1.0f)
1091  , dash_phase(0) {}
1092 
1098  GraphState(const GraphState& state) {
1099  this->line_width = state.line_width;
1100  this->line_join = state.line_join;
1101  this->miter_limit = state.miter_limit;
1102  this->line_cap = state.line_cap;
1103  this->dash_phase = state.dash_phase;
1104  this->dashes = state.dashes;
1105  }
1106 
1115  this->line_width = state.line_width;
1116  this->line_join = state.line_join;
1117  this->miter_limit = state.miter_limit;
1118  this->line_cap = state.line_cap;
1119  this->dash_phase = state.dash_phase;
1120  this->dashes = state.dashes;
1121  return *this;
1122  }
1123 
1140  const FloatArray& dashes) {
1141  this->line_width = line_width;
1142  this->line_join = line_join;
1143  this->miter_limit = miter_limit;
1144  this->line_cap = line_cap;
1145  this->dash_phase = dash_phase;
1146  this->dashes = dashes;
1147  }
1148 
1155  float line_width;
1182 
1184  float dash_phase;
1185 
1190 };
1191 
1198 
1205  public:
1211  virtual void Release() = 0;
1212 
1218  virtual void OnDocWillOpen() {}
1219 
1230  virtual void OnDocOpened(const pdf::PDFDoc& document, ErrorCode error_code) {}
1231 
1239  virtual void OnDocWillDestroy(const pdf::PDFDoc& document) {}
1240 
1248  virtual void OnDocWillSave(const pdf::PDFDoc& document) {}
1249 
1260  virtual void OnDocSaved(const pdf::PDFDoc& document, ErrorCode error_code) {}
1261 
1262  protected:
1263  ~DocEventCallback() {}
1264 };
1265 
1273 class Range FS_FINAL : public Base {
1274  public:
1280  typedef enum _Filter {
1282  e_All = 0,
1284  e_Even = 1,
1286  e_Odd = 2
1287  } Filter;
1288 
1290  Range();
1291 
1297  explicit Range(int index);
1298 
1311  explicit Range(int start_index, int end_index, Filter filter = e_All);
1312 
1318  Range(const Range& other);
1319 
1321  ~Range();
1322 
1330  Range& operator = (const Range& other);
1331 
1339  bool operator == (const Range& other) const;
1340 
1348  bool operator != (const Range& other) const;
1349 
1357  bool IsEmpty() const;
1358 
1364  void AddSingle( int index );
1365 
1380  void AddSegment( int start_index, int end_index, Filter filter = e_All );
1381 
1387  int GetSegmentCount() const;
1388 
1397  int GetSegmentStart(int segment_index) const;
1398 
1407  int GetSegmentEnd(int segment_index) const;
1408 
1414  void RemoveAll();
1415 
1416  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1417  explicit Range(FS_HANDLE handle);
1418 };
1419 
1428 class Font FS_FINAL : public Base {
1429  public:
1435  typedef enum _Styles {
1439  e_StyleSerif = 0x0002,
1443  e_StyleScript = 0x0008,
1447  e_StyleItalic = 0x0040,
1449  e_StyleAllCap = 0x10000,
1451  e_StylesSmallCap = 0x20000,
1453  e_StylesBold = 0x40000
1454  } Styles;
1455 
1461  typedef enum _Charset {
1492  } Charset;
1493 
1499  typedef enum _CIDCharset {
1512  } CIDCharset;
1513 
1519  typedef enum _StandardID {
1548  } StandardID;
1549 
1555  typedef enum _FontTypes {
1564  } FontTypes;
1565 
1578  Font(const wchar_t* name, uint32 styles, Charset charset, int weight);
1579 
1586  explicit Font(StandardID font_id);
1587 
1597  Font(const char* font_file_path, int face_index, Charset charset);
1598 
1608  Font(const wchar_t* font_file_path, int face_index, Charset charset);
1609 
1610  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1611  explicit Font(FS_HANDLE handle = NULL);
1612 
1618  Font(const Font& other);
1619 
1627  Font& operator = (const Font& other);
1628 
1636  bool operator == (const Font& other) const;
1637 
1645  bool operator != (const Font& other) const;
1646 
1654  bool IsEmpty() const;
1655 
1657  ~Font();
1658 
1664  WString GetName();
1665 
1672 
1678  bool IsBold() const;
1679 
1685  bool IsItalic() const;
1686 
1694  bool IsEmbedded(const pdf::PDFDoc& document);
1695 
1704  bool IsSupportEmbedded(const pdf::PDFDoc& document);
1705 
1718  Font Embed(pdf::PDFDoc document, bool is_add_all_unicodes = true);
1719 
1730  UInt32Array AddUnicodes(const pdf::PDFDoc& document, const UInt32Array& unicode_array);
1731 
1732 #ifdef _FONT_GETWOFFDATA_
1733 
1740  String GetWoffData(pdf::PDFDoc document);
1741 #endif
1742 
1748  int GetAscent() const;
1749 
1755  int GetDescent() const;
1756 
1764  RectI GetCharBBox(uint32 unicode) const;
1765 
1773  float GetCharWidth(uint32 unicode) const;
1774 
1783  RectI GetCharBBox(foxit::uint32 unicode,const foxit::pdf::PDFDoc& document);
1784 
1793  float GetCharWidth(foxit::uint32 unicode,const foxit::pdf::PDFDoc& document);
1794 
1803  foxit::uint32 GetStyles(const pdf::PDFDoc& document);
1804 
1816  CIDCharset GetCIDCharset(const pdf::PDFDoc& document);
1817 
1825  bool IsStandardFont(const pdf::PDFDoc& document);
1826 
1838  StandardID GetStandard14Font(const pdf::PDFDoc& document);
1839 
1848  FontTypes GetFontType(const pdf::PDFDoc& document);
1849 
1857  String GetBaseFontName(const pdf::PDFDoc& document);
1858 
1867  bool IsVertWriting(const pdf::PDFDoc& document);
1868 
1877  String GetEncoding(const pdf::PDFDoc& document);
1878 
1890  bool SetEncoding(const pdf::PDFDoc& document, const char* value);
1891 };
1892 
1897 class FontMapResult FS_FINAL : public Object {
1898  public:
1901 
1916  this->file_read = file_read;
1917  this->face_index = face_index;
1918  }
1919 
1926  this->file_read = other.file_read;
1927  this->face_index = other.face_index;
1928  }
1929 
1938  this->file_read = other.file_read;
1939  this->face_index = other.face_index;
1940  return *this;
1941  }
1942 
1950  bool operator == (const FontMapResult& other) const {
1951  if (this->file_read != other.file_read || this->face_index != other.face_index)
1952  return false;
1953  return true;
1954  }
1955 
1963  bool operator != (const FontMapResult& other) const {
1964  return !(*this == other);
1965  }
1966 
1981  this->file_read = file_read;
1982  this->face_index = face_index;
1983  }
1984 
2000 };
2001 
2011  public:
2017  virtual void Release() = 0;
2018 
2036  virtual FontMapResult MapFont(const char* font_name, bool is_truetype, uint32 styles,
2037  int weight, int italic_angle, Font::Charset charset) = 0;
2038 
2052  virtual StringArray MapFont(const char* font_family_name, Font::Charset charset,
2053  uint32 styles, int weight, int italic_angle) = 0;
2054 
2055  protected:
2056  ~FontMapperCallback() {}
2057 };
2058 
2060 class Path FS_FINAL : public Base {
2061  public:
2067  typedef enum _PointType {
2086  } PointType;
2087 
2089  Path();
2091  ~Path();
2097  Path(const Path& other);
2105  Path& operator=(const Path& other);
2113  bool operator ==(const Path& other) const;
2121  bool operator != (const Path& other) const;
2122 
2130  bool IsEmpty() const;
2131 
2137  int GetPointCount();
2138 
2147  PointF GetPoint(int index);
2148 
2158  PointType GetPointType(int index);
2159 
2171  bool SetPoint(int index, const PointF& point, PointType type);
2172 
2183  bool MoveTo(const PointF& point);
2184 
2194  bool LineTo(const PointF& point);
2195 
2208  bool CubicBezierTo(const PointF& point1, const PointF& point2, const PointF& point3);
2209 
2229  bool CloseFigure();
2230 
2239  bool RemovePoint(int index);
2240 
2248  bool AppendRect(const RectF& rect);
2249 
2257  bool AppendEllipse(const RectF& rect);
2258 
2266  void Transform(const Matrix& matrix);
2272  void Clear();
2273 
2286  void IncreasePointCount(int count);
2287 
2288  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2289  explicit Path(FS_HANDLE handle);
2290 };
2291 
2293 FSDK_DEFINE_ARRAY(PathArray, Path)
2294 
2295 
2298 class ColorSpace FS_FINAL : public Base {
2299  public:
2308  typedef enum _RenderingIntent {
2310  e_RenderIntentPerceptual = 0,
2312  e_RenderIntentRelColorimetric = 1,
2314  e_RenderIntentSaturation = 2,
2316  e_RenderIntentAbsColorimetric = 3
2317  } RenderingIntent;
2318 
2319 
2320  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2321  explicit ColorSpace(FS_HANDLE handle);
2322 
2333  ~ColorSpace();
2334 
2340  ColorSpace(const ColorSpace& other);
2341 
2349  ColorSpace& operator=(const ColorSpace& other);
2350 
2359  bool operator==(const ColorSpace& other) const;
2360 
2369  bool operator!=(const ColorSpace& other) const;
2370 
2378  bool IsEmpty() const;
2379 
2387  int GetComponentCount() const;
2388 
2395  foxit::common::ColorSpaceType GetColorSpaceType() const;
2396 
2402  bool IsSpotColorSpace() const;
2403 
2420  StringArray GetComponentNames() const;
2421 
2430  Color ConvertColor(const Color& color);
2431 
2442  Color ConvertColor(int r_value, int g_value, int b_value);
2443 
2455  Color ConvertColor(int c_value, int m_value, int y_value, int k_value);
2456 };
2457 
2461 class Color FS_FINAL : public Base {
2462  public:
2463  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2464  explicit Color(FS_HANDLE handle);
2465 
2467  Color();
2473  explicit Color(const ColorSpace& color_space);
2475  ~Color();
2476 
2482  Color(const Color& other);
2483 
2491  Color& operator=(const Color& other);
2492 
2500  bool operator==(const Color& other) const;
2501 
2509  bool operator!=(const Color& other) const;
2510 
2518  bool IsEmpty() const;
2519 
2526 
2536  FloatArray GetValue() const;
2537 
2550  void SetValue(const FloatArray& component_array);
2551 
2561 
2571 };
2572 } // namespace common
2573 } // namespace foxit
2574 
2575 #endif // FS_COMMON_H_
2576 
CID Font charset: Adobe-CNS1.
Definition: fs_common.h:1505
File format type: XFDF.
Definition: fs_common.h:268
Definition: fs_annot.h:1746
Font style: non-symbolic.
Definition: fs_common.h:1445
bool IsVertWriting(const pdf::PDFDoc &document)
Check whether current font is vertical writing.
FontMapResult()
Constructor.
Definition: fs_common.h:1900
Indicates that a line is drawn from the previous point to this point, and this point will also be con...
Definition: fs_common.h:2077
Miter line join type.
Definition: fs_common.h:1046
Name for module "Optimizer".
Definition: fs_common.h:170
Styles
Enumeration for font styles.
Definition: fs_common.h:1435
LineCapStyle line_cap
Line cap style.
Definition: fs_common.h:1181
Color & operator=(const Color &other)
Assign operator.
Standard font: Helvetica-Bold.
Definition: fs_common.h:1531
Font charset: Korean (Wansung).
Definition: fs_common.h:1471
Color space: Separation.
Definition: fs_common.h:218
Bevel line join type.
Definition: fs_common.h:1058
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:1189
Color space: ICCBased.
Definition: fs_common.h:216
static WString ExecuteJavaScript(const wchar_t *java_script)
Execute javascript.
Position: center.
Definition: fs_common.h:138
Font charset: Japanese (Shift-JIS).
Definition: fs_common.h:1469
Definition: fs_common.h:1273
bool AppendEllipse(const RectF &rect)
Add an ellipse figure to the end of current path.
Rotate the text block based on the left-top point of the rectangle.
Definition: fs_common.h:80
Standard font: Times-Bold.
Definition: fs_common.h:1539
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:115
CID Font charset: Unknown.
Definition: fs_common.h:1501
static void Release()
Release all resource allocated by Foxit PDF SDK Library.
int GetRateOfProgress()
Get the rate of current progress.
RotationPointOptions
Enumeration for rotation point options.
Definition: fs_common.h:76
Position: bottom right.
Definition: fs_common.h:146
Definition: fs_common.h:291
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:128
Definition: fs_common.h:1897
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:1032
Definition: fs_common.h:2298
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:221
IFX_Pause PauseCallback
Definition: fs_common.h:1197
Color space: CalGray. (1 component, A)
Definition: fs_common.h:210
Name for module "AdvEdit".
Definition: fs_common.h:182
CID Font charset: Adobe-Japan1.
Definition: fs_common.h:1507
Definition: fs_common.h:526
Round line join type.
Definition: fs_common.h:1052
Locale ID for region: Taiwan.
Definition: fs_common.h:244
virtual FontMapResult MapFont(const char *font_name, bool is_truetype, uint32 styles, int weight, int italic_angle, Font::Charset charset)=0
(This function will be deprecated in the future. It is recommended to use FontMapperCallback::MapFont...
Name for module "3D".
Definition: fs_common.h:186
Standard font: Times-BoldItalic.
Definition: fs_common.h:1541
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:1075
Definition: fs_common.h:432
Rotate the text block based on the right-top point of the rectangle.
Definition: fs_common.h:82
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:2312
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:204
LocaleID
Enumeration for locale ID.
Definition: fs_common.h:238
Only odd numbers in a range will be used (discards even numbers).
Definition: fs_common.h:1286
Name for module "PDF2Office".
Definition: fs_common.h:184
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:1139
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:272
bool CloseFigure()
Close current figure (which is also the last figure in current path).
Color space: Indexed.
Definition: fs_common.h:222
Round cap. A semicircular arc with a diameter equal to the line width is drawn around the endpoint an...
Definition: fs_common.h:1027
CID Font charset: Adobe-GB1.
Definition: fs_common.h:1503
bool operator !=(const FontMapResult &other) const
Not equal operator.
Definition: fs_common.h:1963
Locale ID for country: Korea.
Definition: fs_common.h:254
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:164
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:1511
void SetValue(const FloatArray &component_array)
Set component value array.
RenderingIntent
Enumeration for rendering intent.
Definition: fs_common.h:2308
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:1449
Filter
Enumeration for range filter.
Definition: fs_common.h:1280
File format type: FDF.
Definition: fs_common.h:266
Locale ID: Unspecified, used when locale is not specified.
Definition: fs_common.h:240
~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:570
Color space: DeviceRGB. (3 components, R, G, B)
Definition: fs_common.h:206
void Clear()
Clear all points.
FloatArray GetValue() const
Get component value array.
CIDCharset
Enumeration for CID font charset.
Definition: fs_common.h:1499
Locale ID for region: HongKong.
Definition: fs_common.h:242
WIDE STRING CLASS.
Definition: fx_string.h:1461
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:1098
State
Enumeration for progress state.
Definition: fs_common.h:380
(Reserved, currently, this module is not provided) Name for module "LayoutRecognition".
Definition: fs_common.h:174
Font type: TrueType.
Definition: fs_common.h:1559
static void RegisterXFAAppProviderCallback(addon::xfa::AppProviderCallback *callback)
Register an addon::xfa::AppProviderCallback object to Foxit PDF SDK.
Standard font: Helvetica.
Definition: fs_common.h:1529
Position: top right.
Definition: fs_common.h:134
Definition: fs_common.h:1204
Locale ID for country: France.
Definition: fs_common.h:248
FileFormatType
Enumeration for file format type.
Definition: fs_common.h:264
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:1989
Indicates that the point is the first point of a figure.
Definition: fs_common.h:2069
bool operator==(const FontMapResult &other) const
Equal operator.
Definition: fs_common.h:1950
LineCapStyle
Enumeration for line cap style.
Definition: fs_common.h:1017
Font style: script.
Definition: fs_common.h:1443
Locale ID for country: Germany.
Definition: fs_common.h:250
static ErrorCode Reinitialize()
Re-initialize Foxit PDF SDK Library.
Locale ID for country: Japan.
Definition: fs_common.h:256
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:648
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:208
bool IsEmpty() const
Check whether current object is empty or not.
static void ReleaseOFDEngine()
Release OFD engine.
Definition: fs_common.h:2461
static ErrorCode Initialize(const char *sn, const char *key)
Initialize Foxit PDF SDK Library, with valid license information.
Name for module "DWG2PDF".
Definition: fs_common.h:180
foxit::uint32 GetStyles(const pdf::PDFDoc &document)
Get font styles.
Font style: italic.
Definition: fs_common.h:1447
Color space: ICCBased DeviceCMYK. (4 components, C, M, Y, K)
Definition: fs_common.h:230
Definition: fs_common.h:2293
FontMapResult(const FontMapResult &other)
Constructor, with another font mapping result object.
Definition: fs_common.h:1925
Progressive(const Progressive &other)
Constructor, with another progressive object.
Definition: fs_common.h:2010
FontTypes
Enumeration for font type.
Definition: fs_common.h:1555
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:384
GraphState()
Constructor.
Definition: fs_common.h:1086
Position: bottom center.
Definition: fs_common.h:144
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:1453
File format type: HTML.
Definition: fs_common.h:270
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:156
bool operator!=(const Color &other) const
Not equal operator.
String GetEncoding(const pdf::PDFDoc &document)
Get the current font encoding.
bool operator==(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are equal.
Definition: fs_basictypes.h:128
bool SetEncoding(const pdf::PDFDoc &document, const char *value)
Set the current font encoding.
Name for module "OFD".
Definition: fs_common.h:188
Font style: serif.
Definition: fs_common.h:1439
Indicates that a line is drawn from the previous point to this point.
Definition: fs_common.h:2071
Name for module "Conversion".
Definition: fs_common.h:172
Color space: ICCBased DeviceGray. (1 component, gray)
Definition: fs_common.h:226
Header file for basic types definitions.
LineJoinStyle line_join
Line join style.
Definition: fs_common.h:1163
Position center left.
Definition: fs_common.h:136
Definition: fs_actioncallback.h:2158
ColorSpaceType
Enumeration for color space.
Definition: fs_common.h:200
static void SetLogFile(const char *log_file_path)
Set the log file path.
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:237
Only even numbers in a range will be used (discards odd numbers).
Definition: fs_common.h:1284
virtual void OnDocSaved(const pdf::PDFDoc &document, ErrorCode error_code)
Triggered when a PDF document is saved.
Definition: fs_common.h:1260
Font charset: Traditional Chinese.
Definition: fs_common.h:1475
Font charset: ANSI (United States, Western Europe).
Definition: fs_common.h:1463
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:1022
Position: center right.
Definition: fs_common.h:140
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:1467
Color space: ICCBased DeviceRGB. (3 components, R, G, B)
Definition: fs_common.h:228
CIDCharset GetCIDCharset(const pdf::PDFDoc &document)
Get CID font charset.
Font style: force bold.
Definition: fs_common.h:1453
FillMode
Enumeration for filling mode type, mainly for path graphics object.
Definition: fs_common.h:108
static void * Realloc(void *ptr, size_t new_size)
Reallocate a memory block.
Name for module "Compliance".
Definition: fs_common.h:168
RenderConfig()
Constructor.
Definition: fs_common.h:443
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:1937
Font style: symbolic.
Definition: fs_common.h:1441
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fx_basic.h:3758
Definition: fs_common.h:1009
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:1525
virtual void Release()=0
A callback function used to release current callback object itself.
Definition: fs_common.h:2060
RenderConfig(int graphics_objs_count_in_one_step)
Constructor, with parameter.
Definition: fs_common.h:440
bool operator==(const Path &other) const
Equal operator.
Font charset: Arabic.
Definition: fs_common.h:1489
LineJoinStyle
Enumeration for line join style.
Definition: fs_common.h:1041
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:1465
Definition: fs_common.h:373
float line_width
Line width.
Definition: fs_common.h:1155
Winding fill mode, in which the system uses a direction in which a figure is drawn to determine wheth...
Definition: fs_common.h:120
Name for module "XFA".
Definition: fs_common.h:158
Locale ID for country: Italy.
Definition: fs_common.h:252
Font type: CID font.
Definition: fs_common.h:1563
~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:220
virtual void OnDocOpened(const pdf::PDFDoc &document, ErrorCode error_code)
Triggered when a PDF document is opened.
Definition: fs_common.h:1230
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
virtual void OnDocWillOpen()
Triggered when the document will be opened.
Definition: fs_common.h:1218
static bool SetDocEventCallback(DocEventCallback *callback)
Set a DocEventCallback object to Foxit PDF SDK.
Font charset: Russian.
Definition: fs_common.h:1481
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:1868
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:1999
~Path()
Destructor.
Definition: fx_coordinates.h:596
Color()
Construct an empty color.
Name for module "TableMaker".
Definition: fs_common.h:178
Alignment
Enumeration for alignment (horizontal).
Definition: fs_common.h:94
virtual void OnDocWillSave(const pdf::PDFDoc &document)
Triggered when a PDF document will be saved.
Definition: fs_common.h:1248
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:443
Definition: fs_basictypes.h:230
bool operator==(const Font &other) const
Equal operator.
ModuleName
Enumeration for module name which is used in license information.
Definition: fs_common.h:154
Font type: Type3.
Definition: fs_common.h:1561
Standard font: ZapfDingbats.
Definition: fs_common.h:1547
Standard font: Helvetica-Oblique, Italic.
Definition: fs_common.h:1535
Definition: fs_security.h:1211
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:2085
Standard font: Times-Roman.
Definition: fs_common.h:1537
bool operator !=(const Range &other) const
Not equal operator.
WString GetName()
Retrieve the postscript name.
Standard font: Symbol.
Definition: fs_common.h:1545
Rotate 270 degrees in clockwise direction.
Definition: fs_common.h:65
Font Embed(pdf::PDFDoc document, bool is_add_all_unicodes=true)
Embed current font to the specified PDF document.
Position: bottom left.
Definition: fs_common.h:142
Font style: fixed pitch.
Definition: fs_common.h:1437
Font charset: Simplified Chinese.
Definition: fs_common.h:1473
Color space: Pattern.
Definition: fs_common.h:224
Standard font: Times-Italic.
Definition: fs_common.h:1543
Path()
Constructor.
Definition: fs_common.h:1428
Color space: Lab. (3 components, A, B, C)
Definition: fs_common.h:214
Name for module "Redaction".
Definition: fs_common.h:160
Color space: Invalid.
Definition: fs_common.h:202
Fill mode: none.
Definition: fs_common.h:110
Center alignment.
Definition: fs_common.h:98
No rotation.
Definition: fs_common.h:59
static ErrorCode InitializeOFDEngine(const char *ofd_library_path)
Initialize OFD engine.
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:96
Color space: CalRGB. (3 components, A, B, C)
Definition: fs_common.h:212
Definition: fs_common.h:342
void AddSingle(int index)
Add an index as a new range segment.
Name for module "Comparison".
Definition: fs_common.h:166
float dash_phase
Dash phase for dash pattern.
Definition: fs_common.h:1184
StandardID
Enumeration for standard font ID.
Definition: fs_common.h:1519
File format type: XFD.
Definition: fs_common.h:276
All the indexes within a range will be used.
Definition: fs_common.h:1282
BYTE STRING CLASS.
Definition: fx_string.h:317
Progress state: progress is finished.
Definition: fs_common.h:386
Font charset: Hebrew.
Definition: fs_common.h:1487
UInt32Array AddUnicodes(const pdf::PDFDoc &document, const UInt32Array &unicode_array)
Add unicodes to current embedded font.
Charset
Enumeration for font charset.
Definition: fs_common.h:1461
static void Free(void *ptr)
Free a memory block.
Font style: small cap.
Definition: fs_common.h:1451
Font charset: Greek.
Definition: fs_common.h:1483
Font type: Type1.
Definition: fs_common.h:1557
Name for module "Accessibility".
Definition: fs_common.h:176
Rotate 90 degrees in clockwise direction.
Definition: fs_common.h:61
File format type: XML.
Definition: fs_common.h:274
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:1533
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:1491
Standard font: Courier.
Definition: fs_common.h:1521
GraphState & operator=(const GraphState &state)
Assign operator.
Definition: fs_common.h:1114
Rotate the text block based on the center point.
Definition: fs_common.h:78
Font charset: Turkish.
Definition: fs_common.h:1485
FontMapResult(foxit::common::file::ReaderCallback *file_read, int face_index)
Constructor, with parameters.
Definition: fs_common.h:1915
Rotate the text block based on the left-bottom point of the rectangle.
Definition: fs_common.h:84
Name for module "Office2PDF".
Definition: fs_common.h:190
bool operator !=(const RenderConfig &render_config) const
Not equal operator.
Definition: fs_common.h:477
Progress state: any error occurs.
Definition: fs_common.h:382
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:507
#define NULL
The null-pointer value.
Definition: fx_system.h:792
bool operator==(const RenderConfig &render_config) const
Equal operator.
Definition: fs_common.h:464
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:1239
void Set(int graphics_objs_count_in_one_step)
Set value.
Definition: fs_common.h:491
Definition: fx_coordinates.h:1076
Name for module "Print2PDF".
Definition: fs_common.h:192
Font charset: Eastern European.
Definition: fs_common.h:1479
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:100
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:2079
bool RemovePoint(int index)
Remove a point specified by index.
Position: top left.
Definition: fs_common.h:130
Font & operator=(const Font &other)
Assign operator.
Position: top center.
Definition: fs_common.h:132
bool IsItalic() const
Judge whether current font object is italic or not.
PointType
Enumeration for point type in path.
Definition: fs_common.h:2067
ColorSpace GetColorSpace()
Get the color space that current color belongs to.
Standard font: Courier-Oblique, Italic.
Definition: fs_common.h:1527
Locale ID for country: Netherlands.
Definition: fs_common.h:246
Standard font: Courier-Bold.
Definition: fs_common.h:1523
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:280
Font charset: Thai.
Definition: fs_common.h:1477
CID Font charset: Adobe-Korea1.
Definition: fs_common.h:1509
void Set(foxit::common::file::ReaderCallback *file_read, int face_index)
Set value.
Definition: fs_common.h:1980
File format type: PDF.
Definition: fs_common.h:278
Rotate the text block based on the right-bottom point of the rectangle.
Definition: fs_common.h:86
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:162
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:1173
RenderConfig & operator=(const RenderConfig &render_config)
Assign operator.
Definition: fs_common.h:452