fs_base_r.h File Reference

Header file for Base module of Foxit PDF SDK. More...

Go to the source code of this file.

Classes

struct  FSCRT_VAR
 Structure for variant definitions. More...
 
struct  FSCRT_BSTR
 Structure for byte string. More...
 
struct  FSCRT_ARRAY
 Structure for array. More...
 
struct  FSCRT_FILE
 Handle type of file objects. More...
 
struct  FSCRT_FILESIZE
 Structure for large file size. More...
 
struct  FSCRT_FILEHANDLER
 Structure for file reading or writing (I/O). More...
 
struct  FSCRT_FILEHANDLER_L
 Structure for file with large size for reading or writing (I/O). More...
 
struct  FSCRT_MEMMGRHANDLER
 Structure for memory management. More...
 
struct  FSCRT_THREAD
 Handle type to thread object. More...
 
struct  FSCRT_THREADHANDLER
 Structure for multiple-thread support. More...
 
struct  FSCRT_DATETIMEZONE
 Structure for date and time. More...
 
struct  FSCRT_RECT
 Structure for rectangle, in integer. More...
 
struct  FSCRT_RECTF
 Structure for rectangle, in float. More...
 
struct  FSCRT_QUADPOINTSF
 Structure for quad points, in float. More...
 
struct  FSCRT_MATRIX
 Structure for 2D matrix. More...
 
struct  FSCRT_PATHDATA
 Handle type to a path data. More...
 
struct  FSCRT_DOCUMENT
 Handle type to a document. More...
 
struct  FSCRT_PAGE
 Handle type to a page. More...
 
struct  FSCRT_ANNOT
 Handle type to an annot. More...
 
struct  FSCRT_PROGRESS
 Handle type to a progress. More...
 
struct  FSCRT_PAUSEHANDLER
 Structure for pause control in progressive process. More...
 
struct  FSCRT_FONT
 Handle type to a font. More...
 
struct  FSCRT_FONTMAPPERHANDLER
 Structure for font mapping. More...
 
struct  FSCRT_FONTFACE
 Structure to get properties of a font face. More...
 
struct  FSCRT_ARCHIVE
 Handle type to an archive. More...
 
struct  FSCRT_POSITION
 Handle type to position. More...
 

Macros

#define FSCRT_Var_SetInt8Value(variant, value)   (variant).type = FSCRT_VT_INT8, (variant).var.int8Var = (value);
 Macro to set FS_INT8 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt8Value(variant, value)   (variant).type = FSCRT_VT_UINT8, (variant).var.uint8Var = (value);
 Macro to set FS_UINT8 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetInt16Value(variant, value)   (variant).type = FSCRT_VT_INT16, (variant).var.int16Var = (value);
 Macro to set FS_INT16 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt16Value(variant, value)   (variant).type = FSCRT_VT_UINT16, (variant).var.uint16Var = (value);
 Macro to set FS_UINT16 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetInt32Value(variant, value)   (variant).type = FSCRT_VT_INT32, (variant).var.int32Var = (value);
 Macro to set FS_INT32 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt32Value(variant, value)   (variant).type = FSCRT_VT_UINT32, (variant).var.uint32Var = (value);
 Macro to set FS_UINT32 value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetBooleanValue(variant, value)   (variant).type = FSCRT_VT_BOOL, (variant).var.boolVar = (value);
 Macro to set FS_BOOL value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetFloatValue(variant, value)   (variant).type = FSCRT_VT_FLOAT, (variant).var.floatVar = (value);
 Macro to set FS_FLOAT value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetVoidPtrValue(variant, value)   (variant).type = FSCRT_VT_LPVOID, (variant).var.voidPtrVar = (value);
 Macro to set FS_LPVOID value for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetInt8PtrValue(variant, value)   (variant).type = FSCRT_VT_LPINT8, (variant).var.int8PtrVar = (value);
 Macro to set FS_INT8 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt8PtrValue(variant, value)   (variant).type = FSCRT_VT_LPUINT8, (variant).var.uint8PtrVar = (value);
 Macro to set FS_UINT8 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetInt16PtrValue(variant, value)   (variant).type = FSCRT_VT_LPINT16, (variant).var.int16PtrVar = (value);
 Macro to set FS_INT16 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt16PtrValue(variant, value)   (variant).type = FSCRT_VT_LPUINT16, (variant).var.uint16PtrVar = (value);
 Macro to set FS_UINT16 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetInt32PtrValue(variant, value)   (variant).type = FSCRT_VT_LPINT32, (variant).var.int32PtrVar = (value);
 Macro to set FS_INT32 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetUInt32PtrValue(variant, value)   (variant).type = FSCRT_VT_LPUINT32, (variant).var.uint32PtrVar = (value);
 Macro to set FS_UINT32 pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetBooleanPtrValue(variant, value)   (variant).type = FSCRT_VT_LPBOOL, (variant).var.boolPtrVar = (value);
 Macro to set FS_BOOL pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_Var_SetFloatPtrValue(variant, value)   (variant).type = FSCRT_VT_LPFLOAT, (variant).var.floatPtrVar = (value);
 Macro to set FS_FLOAT pointer for a FSCRT_VAR structure. More...
 
#define FSCRT_BSTRD(str)   {str, sizeof(str) - 1}
 Macro to construct a byte string with constant string value.The encoding of string should be UTF-8 compatible. More...
 
#define FSCRT_BSTRC(v, str)   FSCRT_BSTR v = FSCRT_BSTRD(str)
 Macro to construct a byte string with constant string value.The encoding of string should be UTF-8 compatible. More...
 
#define FSCRT_BStr_InitConstString(v, s)   (v).str = s, (v).len = sizeof(s) - 1;
 Macro to initialize constant string value.The encoding of string should be UTF-8 compatible. More...
 
#define FSCRT_BStr_SetConstString(bstr, str)   FSCRT_BStr_Set(bstr, str, sizeof(str) - 1)
 Macro to set constant string value. More...
 
#define FSCRT_BStr_Copy(dstStr, srcStr)   FSCRT_BStr_Set(dstStr, (srcStr)->str, (srcStr)->len)
 Macro to copy string value. More...
 
Macro Definitions for Error Codes
Note
In PDF SDK, error codes are returned to callers as FS_RESULT type.
0 indicates normal success status, positive value indicates current running status, and negative value indicates a failure.
#define FSCRT_ERRCODE_SUCCESS   0
 Success.
 
#define FSCRT_ERRCODE_ERROR   -1
 Common error for any kind.
 
#define FSCRT_ERRCODE_INVALIDMANAGER   -2
 Invalid Foxit PDF SDK manager.
 
#define FSCRT_ERRCODE_INVALIDMODULE   -3
 Invalid module or module uninitialized.
 
#define FSCRT_ERRCODE_UNRECOVERABLE   -4
 The function cannot be recovered.
 
#define FSCRT_ERRCODE_OUTOFMEMORY   -5
 Memory out of memory.
 
#define FSCRT_ERRCODE_PASSWORD   -6
 Incorrect password.
 
#define FSCRT_ERRCODE_FORMAT   -7
 Data format error.
 
#define FSCRT_ERRCODE_FILE   -8
 File access error, cannot read or write file data.
 
#define FSCRT_ERRCODE_PARAM   -9
 Parameter error.
 
#define FSCRT_ERRCODE_INVALIDLICENSE   -10
 License authorization error.
 
#define FSCRT_ERRCODE_HANDLER   -11
 Callback functions in handler are error.
 
#define FSCRT_ERRCODE_UNKNOWNSECURITYHANDLER   -12
 Unknown security handler or cannot find availably one.
 
#define FSCRT_ERRCODE_INVALIDCERTIFICATE   -13
 Incorrect certificate or its data error.
 
#define FSCRT_ERRCODE_NOTFOUND   -14
 Data cannot be found.
 
#define FSCRT_ERRCODE_INVALIDTYPE   -15
 Invalid object type.
 
#define FSCRT_ERRCODE_UNSUPPORTED   -16
 Some features are not implemented, cannot be used, usually for user-side callback functions.
 
#define FSCRT_ERRCODE_NOTPARSED   -17
 Contents are not parsed.
 
#define FSCRT_ERRCODE_UNKNOWNSTATE   -18
 State is error or unknown.
 
#define FSCRT_ERRCODE_BUFFEROVERFLOW   -19
 Buffer is overflow, need more space.
 
#define FSCRT_ERRCODE_CONFLICT   -20
 Data or values conflict.
 
#define FSCRT_ERRCODE_DATANOTREADY   -21
 Data not ready.
 
#define FSCRT_ERRCODE_MEMORYREBUILT   -22
 Memory is rebuilt.
 
#define FSCRT_ERRCODE_UNKNOWNHANDLER   -23
 Unknown handler or cannot find availably one.
 
#define FSCRT_ERRCODE_TOBECONTINUED   1
 To be continued. More...
 
#define FSCRT_ERRCODE_FINISHED   2
 Current process has finished, need not do again.
 
#define FSCRT_ERRCODE_ROLLBACK   3
 To rollback the application process.
 
#define FSCRT_SUCCEEDED(result)   ((FS_RESULT)(result) >= 0)
 Helper macro to test for success on any result value.
 
#define FSCRT_FAILED(result)   ((FS_RESULT)(result) < 0)
 Helper macro to test for failure on any result value.
 
Macro Definitions for IDs of Variant Types
Note
Variant types are used by FSCRT_VAR::type.
#define FSCRT_VT_EMPTY   0x00000000
 Synonymous variant type ID for void.
 
#define FSCRT_VT_INT8   0x00000001
 Variant type ID for FS_INT8.
 
#define FSCRT_VT_UINT8   0x00000002
 Variant type ID for FS_UINT8.
 
#define FSCRT_VT_INT16   0x00000003
 Variant type ID for FS_INT16.
 
#define FSCRT_VT_UINT16   0x00000004
 Variant type ID for FS_UINT16.
 
#define FSCRT_VT_INT32   0x00000005
 Variant type ID for FS_INT32.
 
#define FSCRT_VT_UINT32   0x00000006
 Variant type ID for FS_UINT32.
 
#define FSCRT_VT_BOOL   0x00000007
 Variant type ID for FS_BOOL.
 
#define FSCRT_VT_FLOAT   0x00000008
 Variant type ID for FS_FLOAT.
 
#define FSCRT_VT_LPVOID   0x80000000
 Variant type ID for FS_LPVOID.
 
#define FSCRT_VT_LPINT8   (FSCRT_VT_LPVOID | FSCRT_VT_INT8)
 Variant type ID for pointer type of FS_INT8*.
 
#define FSCRT_VT_LPUINT8   (FSCRT_VT_LPVOID | FSCRT_VT_UINT8)
 Variant type ID for pointer type of FS_UINT8*.
 
#define FSCRT_VT_LPINT16   (FSCRT_VT_LPVOID | FSCRT_VT_INT16)
 Variant type ID for pointer type of FS_INT16*.
 
#define FSCRT_VT_LPUINT16   (FSCRT_VT_LPVOID | FSCRT_VT_UINT16)
 Variant type ID for pointer type of FS_UINT16*.
 
#define FSCRT_VT_LPINT32   (FSCRT_VT_LPVOID | FSCRT_VT_INT32)
 Variant type ID for pointer type of FS_INT32*.
 
#define FSCRT_VT_LPUINT32   (FSCRT_VT_LPVOID | FSCRT_VT_UINT32)
 Variant type ID for pointer type of FS_UINT32*.
 
#define FSCRT_VT_LPBOOL   (FSCRT_VT_LPVOID | FSCRT_VT_BOOL)
 Variant type ID for pointer type of FS_BOOL*.
 
#define FSCRT_VT_LPFLOAT   (FSCRT_VT_LPVOID | FSCRT_VT_FLOAT)
 Variant type ID for pointer type of FS_FLOAT*.
 
#define FSCRT_VT_CHAR   FSCRT_VT_INT8
 Synonymous variant type ID for FS_CHAR.
 
#define FSCRT_VT_BYTE   FSCRT_VT_UINT8
 Synonymous variant type ID for FS_BYTE.
 
#define FSCRT_VT_WORD   FSCRT_VT_UINT16
 Synonymous variant type ID for FS_WORD.
 
#define FSCRT_VT_RESULT   FSCRT_VT_INT32
 Synonymous variant type ID for FS_RESULT.
 
#define FSCRT_VT_DWORD   FSCRT_VT_UINT32
 Synonymous variant type ID for FS_DWORD.
 
#define FSCRT_VT_ARGB   FSCRT_VT_UINT32
 Synonymous variant type ID for FS_ARGB.
 
#define FSCRT_VT_LPSTR   FSCRT_VT_LPINT8
 Synonymous variant type ID for FS_LPSTR.
 
#define FSCRT_VT_LPCSTR   FSCRT_VT_LPINT8
 Synonymous variant type ID for FS_LPCSTR.
 
#define FSCRT_VT_LPBYTE   FSCRT_VT_LPUINT8
 Synonymous variant type ID for FS_BYTE*.
 
#define FSCRT_VT_LPWORD   FSCRT_VT_LPUINT16
 Synonymous variant type ID for FS_WORD*.
 
#define FSCRT_VT_LPRESULT   FSCRT_VT_LPINT32
 Synonymous variant type ID for FS_RESULT*.
 
#define FSCRT_VT_LPDWORD   FSCRT_VT_LPUINT32
 Synonymous variant type ID for FS_DWORD*.
 
#define FSCRT_VT_LPARGB   FSCRT_VT_LPUINT32
 Synonymous variant type ID for FS_ARGB*.
 
#define FSCRT_VT_BSTR   (FSCRT_VT_LPVOID|0x00000010)
 Synonymous variant type ID for FSCRT_BSTR.
 
#define FSCRT_VT_OBJECT   (FSCRT_VT_LPVOID|0x00001000)
 Synonymous variant type ID for common objects. Please refer more macros definitions of FSPDF_VT_OBJECT_XXX.
 
Macro Definitions for Extend of Variant Types
#define FSCRT_VT_OBJECT_LAYER   (FSCRT_VT_OBJECT|0x000000001)
 Object type ID for FSPDF_LAYER.
 
#define FSCRT_VT_OBJECT_PAGEOBJECT   (FSCRT_VT_OBJECT|0x000000002)
 Object type ID for FSPDF_PAGEOBJECT.
 
Macro Definitions for File Mode
#define FSCRT_FILEMODE_WRITE   0
 Write mode. More...
 
#define FSCRT_FILEMODE_READONLY   1
 Read-only mode.
 
#define FSCRT_FILEMODE_TRUNCATE   2
 Clear existing contents, size of file is to be 0, for writing mode only.
 
Macro Definitions for License Types
Note
Foxit PDF SDK manages a license control mechanism to determine how to run for application purposes.
Applications should purchase Foxit PDF SDK license and apply unlock key and code before accessing functions.
#define FSCRT_LICENSETYPE_INVALID   FSCRT_ERRCODE_INVALIDLICENSE
 Invalid license. More...
 
#define FSCRT_LICENSETYPE_AUTHORIZED   0
 Authorized license. More...
 
#define FSCRT_LICENSETYPE_EVALUATION   1
 Evaluation license. More...
 
#define FSCRT_LICENSETYPE_EXPIRED   2
 Expired license. More...
 
Macro Definitions for Path Point Types
#define FSCRT_POINTTYPE_CLOSEFIGURE   1
 Point type of Close Figure. More...
 
#define FSCRT_POINTTYPE_LINETO   2
 Point type of Line To. More...
 
#define FSCRT_POINTTYPE_BEZIERTO   4
 Point type of Bezier To. More...
 
#define FSCRT_POINTTYPE_MOVETO   6
 Point type of Move To. More...
 
Macro Definitions for Filling Mode Types
#define FSCRT_FILLMODE_NONE   0
 No fill color.
 
#define FSCRT_FILLMODE_ALTERNATE   1
 Alternate fill mode. More...
 
#define FSCRT_FILLMODE_WINDING   2
 Winding fill mode. More...
 
Macro Definitions for Document Types
Note
FSCRT_DOCUMENT is a common document type, and a document object may be a different type, such as PDF document, ePub document.
Call function FSCRT_Doc_GetType to get a document type.
#define FSCRT_DOCUMENTTYPE_PDF   1
 PDF document type.
 
#define FSCRT_DOCUMENTTYPE_FDF   2
 FDF document type.
 
#define FSCRT_DOCUMENTTYPE_XFDF   3
 XFDF document type.
 
Macro Definitions for Font Styles.
#define FSCRT_FONTSTYLE_FIXEDPITCH   1
 Fixed pitch.
 
#define FSCRT_FONTSTYLE_SERIF   2
 Serif.
 
#define FSCRT_FONTSTYLE_SYMBOLIC   4
 Symbolic.
 
#define FSCRT_FONTSTYLE_SCRIPT   8
 Script.
 
#define FSCRT_FONTSTYLE_NONSYMBOLIC   32
 Non-symbolic.
 
#define FSCRT_FONTSTYLE_ITALIC   64
 Italic.
 
#define FSCRT_FONTSTYLE_ALLCAP   0x10000
 All cap.
 
#define FSCRT_FONTSTYLE_SMALLCAP   0x20000
 Small cap.
 
#define FSCRT_FONTSTYLE_BOLD   0x40000
 Force bold.
 
Macro Definitions for Standard Font ID
#define FSCRT_STDFONT_COURIER   0
 Courier.
 
#define FSCRT_STDFONT_COURIER_B   1
 Bold. Courier-Bold.
 
#define FSCRT_STDFONT_COURIER_BI   2
 Bold italic. Courier-BoldOblique.
 
#define FSCRT_STDFONT_COURIER_I   3
 Italic. Courier-Oblique.
 
#define FSCRT_STDFONT_HELVETICA   4
 Helvetica.
 
#define FSCRT_STDFONT_HELVETICA_B   5
 Bold. Helvetica-Bold.
 
#define FSCRT_STDFONT_HELVETICA_BI   6
 Bold italic. Helvetica-BoldOblique.
 
#define FSCRT_STDFONT_HELVETICA_I   7
 Italic. Helvetica-Oblique.
 
#define FSCRT_STDFONT_TIMES   8
 Times-Roman.
 
#define FSCRT_STDFONT_TIMES_B   9
 Bold. Times-Bold.
 
#define FSCRT_STDFONT_TIMES_BI   10
 Bold italic. Times-BoldItalic.
 
#define FSCRT_STDFONT_TIMES_I   11
 Italic. Times-Italic.
 
#define FSCRT_STDFONT_SYMBOL   12
 Symbol.
 
#define FSCRT_STDFONT_ZAPFDINGBATS   13
 ZapfDingbats.
 
Macro Definitions for Charsets
Note
Charsets are same as defined in Windows.
#define FSCRT_CHARSET_ANSI   0
 ANSI (United States, Western Europe).
 
#define FSCRT_CHARSET_DEFAULT   1
 System default, for unknown or mapping purpose.
 
#define FSCRT_CHARSET_SYMBOL   2
 Standard symbols.
 
#define FSCRT_CHARSET_SHIFTJIS   128
 Japanese (Shift-JIS).
 
#define FSCRT_CHARSET_HANGEUL   129
 Korean (Wansung).
 
#define FSCRT_CHARSET_GB2312   134
 Simplified Chinese.
 
#define FSCRT_CHARSET_CHINESEBIG5   136
 Traditional Chinese.
 
#define FSCRT_CHARSET_THAI   222
 Thai.
 
#define FSCRT_CHARSET_EASTEUROPE   238
 Eastern European.
 
#define FSCRT_CHARSET_RUSSIAN   204
 Russian.
 
#define FSCRT_CHARSET_GREEK   161
 Greek.
 
#define FSCRT_CHARSET_TURKISH   162
 Turkish.
 
#define FSCRT_CHARSET_HEBREW   177
 Hebrew.
 
#define FSCRT_CHARSET_ARABIC   178
 Arabic.
 
#define FSCRT_CHARSET_BALTIC   186
 Baltic.
 
Macro Definitions for Search Flags
#define FSCRT_SEARCHFLAG_MATCHCASE   1
 Whether is it a matching case.
 
#define FSCRT_SEARCHFLAG_MATCHWHOLEWORD   2
 Whether is it a matching whole word.
 
#define FSCRT_SEARCHFLAG_CONSECUTIVE   4
 Whether matching consecutively (for example, "CC" will match twice in "CCC").
 
Macro Definitions for Encryption Algorithm.
#define FSCRT_CIPHER_NONE   0
 Not use encryption algorithm.
 
#define FSCRT_CIPHER_RC4   1
 Use RC4 encryption algorithm, with the key length between 5-bytes and 16-bytes.
 
#define FSCRT_CIPHER_AES   2
 Use AES encryption algorithm, with the key length be 16-bytes or 32-bytes.
 
Macro Definitions for Object Type
#define FSCRT_OBJECTTYPE_UNKNOWN   0
 Unknown type.
 
#define FSCRT_OBJECTTYPE_DOCUMENT   1
 Document type.
 
#define FSCRT_OBJECTTYPE_SECTION   2
 Section type.
 
#define FSCRT_OBJECTTYPE_PAGE   3
 Page type.
 
#define FSCRT_OBJECTTYPE_ANNOT   4
 Annotation type.
 
#define FSCRT_OBJECTTYPE_FORM   5
 Form type.
 
#define FSCRT_OBJECTTYPE_FORMFIELD   6
 Form field type.
 
#define FSCRT_OBJECTTYPE_FORMCONTROL   7
 Form control type.
 
#define FSCRT_OBJECTTYPE_SIGNATURE   8
 Signature type.
 
#define FSCRT_OBJECTTYPE_PSI   9
 Pressure sensitive ink type.
 
Macro Definitions for Page Rotation
#define FSCRT_PAGEROTATION_0   0
 No rotation.
 
#define FSCRT_PAGEROTATION_90   1
 Rotate 90 degrees in clockwise direction.
 
#define FSCRT_PAGEROTATION_180   2
 Rotate 180 degrees in clockwise direction.
 
#define FSCRT_PAGEROTATION_270   3
 Rotate 270 degrees in clockwise direction.
 
Macro Definitions for Language
#define FSCRT_LANGUAGE_UNK   0
 Unknown language.
 
#define FSCRT_LANGUAGE_CHS   1
 Chinese Simplified.
 
#define FSCRT_LANGUAGE_CHT   2
 Chinese Traditional.
 
#define FSCRT_LANGUAGE_DAN   3
 Danish.
 
#define FSCRT_LANGUAGE_DEU   4
 German.
 
#define FSCRT_LANGUAGE_ENU   5
 English.
 
#define FSCRT_LANGUAGE_ESP   6
 Spanish.
 
#define FSCRT_LANGUAGE_FRA   7
 French.
 
#define FSCRT_LANGUAGE_ITA   8
 Italian.
 
#define FSCRT_LANGUAGE_KOR   9
 Korean.
 
#define FSCRT_LANGUAGE_JPN   10
 Japanese.
 
#define FSCRT_LANGUAGE_NLD   11
 Dutch.
 
#define FSCRT_LANGUAGE_NOR   12
 Norwegian.
 
#define FSCRT_LANGUAGE_PTB   13
 Brazilian Portuguese.
 
#define FSCRT_LANGUAGE_SUO   14
 Finnish.
 
#define FSCRT_LANGUAGE_SVE   15
 Swedish.
 

Typedefs

typedef void(* FSCRT_CALLBACK_THREADFINALIZE) (FSCRT_THREAD thread)
 A callback function definition for finalizing a thread. More...
 
typedef void(* FSCRT_CALLBACK_FREEPRIVATEDATA) (FS_LPVOID data)
 A callback function to free private data. More...
 
Basic Types Definitions
Note
In order to support cross platforms, PDF SDK defines basic types for applications or other modules to use. It is highly recommended for applications to use these types rather than other types. Applications need to convert C/C++ standard types to PDF SDK supporting types.
typedef void * FS_LPVOID
 A pointer to any types.
 
typedef void const * FS_LPCVOID
 A constant pointer to any types.
 
typedef int FS_BOOL
 Boolean type (This should be TRUE or FALSE).
 
typedef unsigned char FS_BYTE
 An unsigned byte integer (8 bits).
 
typedef unsigned short FS_WORD
 16-bit unsigned integer.
 
typedef unsigned int FS_DWORD
 32-bit unsigned integer.
 
typedef unsigned int FS_ARGB
 ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
 
typedef float FS_FLOAT
 32-bit floating-point number, single precision.
 
typedef char FS_CHAR
 8-bit character.
 
typedef char * FS_LPSTR
 A pointer to string.
 
typedef char const * FS_LPCSTR
 A constant pointer to string.
 
typedef int FS_RESULT
 Result code for functions in Foxit PDF SDK.
 
typedef char FS_INT8
 8-bit signed integer.
 
typedef unsigned char FS_UINT8
 8-bit unsigned integer.
 
typedef short FS_INT16
 16-bit signed integer.
 
typedef unsigned short FS_UINT16
 16-bit unsigned integer.
 
typedef int FS_INT32
 32-bit signed integer.
 
typedef unsigned int FS_UINT32
 32-bit unsigned integer.
 

Functions

FS_RESULT FSCRT_BStr_Init (FSCRT_BSTR *bstr)
 Helper function to initialize a byte string. More...
 
FS_RESULT FSCRT_BStr_Clear (FSCRT_BSTR *bstr)
 Helper function to clear a byte string. More...
 
FS_RESULT FSCRT_BStr_SetLength (FSCRT_BSTR *bstr, FS_DWORD length)
 Helper function to set length of a byte string. More...
 
FS_RESULT FSCRT_BStr_Set (FSCRT_BSTR *bstr, FS_LPCSTR str, FS_DWORD length)
 Helper function to set string data. More...
 
FS_RESULT FSCRT_Array_Init (FSCRT_ARRAY *array, FS_INT32 dataType)
 Helper function to initialize array. More...
 
FS_RESULT FSCRT_Array_Clear (FSCRT_ARRAY *array)
 Helper function to release the array. More...
 
FS_RESULT FSCRT_File_Create (FSCRT_FILEHANDLER *fileStream, FSCRT_FILE *file)
 Create a file object from file stream. More...
 
FS_RESULT FSCRT_File_Create_L (FSCRT_FILEHANDLER_L *fileStream, FSCRT_FILE *file)
 Create a FSCRT_FILE object from a large file, which the file size could be over 2GB. More...
 
FS_RESULT FSCRT_File_CreateCacheFile (FSCRT_FILEHANDLER *fileStream, FS_DWORD chunkSize, FS_DWORD chunkCount, FS_LPVOID buffer, FSCRT_FILE *file)
 Create a cached file object from file stream. More...
 
FS_RESULT FSCRT_File_CreateFromMemory (FS_LPVOID buffer, FS_DWORD length, FSCRT_FILE *file)
 Create a memory-based file object. More...
 
FS_RESULT FSCRT_File_CreateFromFileName (const FSCRT_BSTR *fileName, FS_DWORD fileModes, FSCRT_FILE *file)
 Create a file object from a specific file path. More...
 
FS_RESULT FSCRT_File_GetSize (FSCRT_FILE file, FSCRT_FILESIZE *fileSize)
 Get the number of bytes of a file object. More...
 
FS_RESULT FSCRT_File_SetRange (FSCRT_FILE file, const FSCRT_FILESIZE *offset, const FSCRT_FILESIZE *length)
 Set reading range of file object, the following reading from file would be restricted in this range. More...
 
FS_RESULT FSCRT_File_ClearRange (FSCRT_FILE file)
 Clear the reading range of file object, the current reading position will not be affected. More...
 
FS_RESULT FSCRT_File_Read (FSCRT_FILE file, FS_LPVOID buffer, const FSCRT_FILESIZE *size, FSCRT_FILESIZE *actualSize)
 Read data from file object. More...
 
FS_RESULT FSCRT_File_Write (FSCRT_FILE file, FS_LPVOID buffer, const FSCRT_FILESIZE *size)
 Write data to file object. More...
 
FS_RESULT FSCRT_File_Release (FSCRT_FILE file)
 Release a file object. More...
 
FS_RESULT FSCRT_Library_CreateMgr (FS_LPVOID memory, FS_DWORD size, FSCRT_MEMMGRHANDLER *memMgr)
 Create a Foxit PDF SDK manager. More...
 
FS_RESULT FSCRT_Library_CreateDefaultMgr ()
 Create a default Foxit PDF SDK manager by applications. More...
 
FS_RESULT FSCRT_Library_GetMgr (FS_LPVOID *sdkMgr)
 Get the current Foxit PDF SDK manager. More...
 
FS_RESULT FSCRT_Library_SetMgr (FS_LPVOID sdkMgr)
 Set the current Foxit PDF SDK manager. More...
 
void FSCRT_Library_DestroyMgr ()
 Destroy the current Foxit PDF SDK manager. More...
 
FS_RESULT FSCRT_Library_GetFixedMemSize (FS_DWORD *memSize)
 Get the used memory size of the fixed memory manager in Foxit PDF SDK. Only available when a library manager is created by the function FSCRT_Library_CreateMgr. More...
 
FS_RESULT FSCRT_License_UnlockLibrary (const FSCRT_BSTR *licenseKey, const FSCRT_BSTR *unlockCode)
 Unlock Foxit PDF SDK library using a license key and a code. More...
 
FS_RESULT FSCRT_License_GetType (FS_INT32 *type)
 Get the current license type. More...
 
FS_RESULT FSCRT_Library_SetLogFile (FSCRT_FILE file)
 Set a log file handle. Currently only support Windows 32-bit, and not support Windows 8. More...
 
FS_RESULT FSCRT_Library_EnableJavaScript (FS_BOOL isEnabled)
 Enable or disable javascript for PDF. More...
 
FS_RESULT FSCRT_Memory_Alloc (FS_DWORD size, FS_LPVOID *ptr)
 Allocate a memory block. More...
 
FS_RESULT FSCRT_Memory_Realloc (FS_LPVOID ptr, FS_DWORD newSize, FS_LPVOID *newPtr)
 Reallocate a memory block. More...
 
void FSCRT_Memory_Free (FS_LPVOID ptr)
 Free a memory block. More...
 
FS_RESULT FSCRT_Library_GetVersion (FSCRT_BSTR *sdkVersion)
 Get the current Foxit PDF SDK version. More...
 
FS_RESULT FSCRT_Library_SetThreadHandler (FSCRT_THREADHANDLER *threadHandler)
 Set a thread handler into Foxit PDF SDK library. More...
 
FS_RESULT FSCRT_Library_SetCacheSize (FS_DWORD size)
 Set the upper limit of PDF library cache size. More...
 
FS_RESULT FSCRT_Rect_IsAdjacent (const FSCRT_RECTF *rect1, const FSCRT_RECTF *rect2, FS_FLOAT alignmentTolerance, FS_FLOAT distanceTolerance, FS_DWORD direction, FS_BOOL *adjacent)
 Helper function to determine whether one rectangle is adjacent to another in the horizontal or vertical direction. More...
 
FS_RESULT FSCRT_Matrix_Translate (FSCRT_MATRIX *matrix, FS_FLOAT offsetX, FS_FLOAT offsetY)
 Translate a coordinate matrix. More...
 
FS_RESULT FSCRT_Matrix_Scale (FSCRT_MATRIX *matrix, FS_FLOAT scaleX, FS_FLOAT scaleY)
 Scale a coordinate matrix. More...
 
FS_RESULT FSCRT_Matrix_Rotate (FSCRT_MATRIX *matrix, FS_FLOAT angle)
 Rotate a coordinate matrix. More...
 
FS_RESULT FSCRT_Matrix_Shear (FSCRT_MATRIX *matrix, FS_FLOAT alpha, FS_FLOAT beta)
 Make a shear transformation on a coordinate matrix. More...
 
FS_RESULT FSCRT_Matrix_GetReverse (const FSCRT_MATRIX *srcMatrix, FSCRT_MATRIX *dstMatrix)
 Get a reversed matrix. More...
 
FS_RESULT FSCRT_Matrix_Concat (FSCRT_MATRIX *dstMatrix, const FSCRT_MATRIX *srcMatrix)
 Concatenate another matrix. More...
 
FS_RESULT FSCRT_Matrix_TransformPoint (const FSCRT_MATRIX *matrix, FS_INT32 *x, FS_INT32 *y)
 Transform an integer point by a matrix. More...
 
FS_RESULT FSCRT_Matrix_TransformPointF (const FSCRT_MATRIX *matrix, FS_FLOAT *x, FS_FLOAT *y)
 Transform a float point by a matrix. More...
 
FS_RESULT FSCRT_Matrix_TransformRect (const FSCRT_MATRIX *matrix, FSCRT_RECT *rect)
 Transform an integer rectangle by a matrix. More...
 
FS_RESULT FSCRT_Matrix_TransformRectF (const FSCRT_MATRIX *matrix, FSCRT_RECTF *rect)
 Transform a float rectangle by a matrix. More...
 
FS_RESULT FSCRT_PathData_Create (FSCRT_PATHDATA *pathData)
 Create new path data. More...
 
FS_RESULT FSCRT_PathData_Clear (FSCRT_PATHDATA pathData)
 Clear all points of the given path data. More...
 
FS_RESULT FSCRT_PathData_Release (FSCRT_PATHDATA pathData)
 Release all related resources of the given path data. More...
 
FS_RESULT FSCRT_PathData_CountPoints (FSCRT_PATHDATA pathData, FS_INT32 *count)
 Get number of points of the given path data. More...
 
FS_RESULT FSCRT_PathData_AddPointsCount (FSCRT_PATHDATA pathData, FS_INT32 count)
 Add a number of points to the given path data. More...
 
FS_RESULT FSCRT_PathData_GetPoint (FSCRT_PATHDATA pathData, FS_INT32 index, FS_FLOAT *x, FS_FLOAT *y, FS_INT32 *pointType)
 Get a specific point of the given path data. More...
 
FS_RESULT FSCRT_PathData_SetPoint (FSCRT_PATHDATA pathData, FS_INT32 index, FS_FLOAT x, FS_FLOAT y, FS_INT32 pointType)
 Set the specific point of the path data. More...
 
FS_RESULT FSCRT_PathData_RemovePoint (FSCRT_PATHDATA pathData, FS_INT32 index)
 Remove the specific point of the given path data. More...
 
FS_RESULT FSCRT_PathData_MoveTo (FSCRT_PATHDATA pathData, FS_FLOAT x, FS_FLOAT y)
 Add a point to start a figure. This point will become a new current position. More...
 
FS_RESULT FSCRT_PathData_LineTo (FSCRT_PATHDATA pathData, FS_FLOAT x, FS_FLOAT y)
 Add a point to a given figure, and a line is to be drawn from the current position to this point, which then becomes a new current position. More...
 
FS_RESULT FSCRT_PathData_CubicBezierTo (FSCRT_PATHDATA pathData, FS_FLOAT x1, FS_FLOAT y1, FS_FLOAT x2, FS_FLOAT y2, FS_FLOAT x3, FS_FLOAT y3)
 Add Bezier points to a given path data. More...
 
FS_RESULT FSCRT_PathData_AppendRect (FSCRT_PATHDATA pathData, const FSCRT_RECTF *rect)
 Add a rectangle figure to path data. More...
 
FS_RESULT FSCRT_PathData_AppendEllipse (FSCRT_PATHDATA pathData, const FSCRT_RECTF *rect)
 Add an ellipse figure to path data. More...
 
FS_RESULT FSCRT_PathData_CloseFigure (FSCRT_PATHDATA pathData)
 Close the last figure of path data. More...
 
FS_RESULT FSCRT_PathData_Transform (FSCRT_PATHDATA pathData, const FSCRT_MATRIX *matrix)
 Transform all path points into path data with a given matrix. More...
 
FS_RESULT FSCRT_Library_SetPrivateData (FS_LPVOID moduleID, FS_LPVOID data, FSCRT_CALLBACK_FREEPRIVATEDATA callbackFreePrivateData)
 Set private data. More...
 
FS_RESULT FSCRT_Library_GetPrivateData (FS_LPVOID moduleID, FS_LPVOID *data)
 Get private data. More...
 
FS_RESULT FSCRT_Library_RemovePrivateData (FS_LPVOID moduleID)
 Remove private data. More...
 
FS_RESULT FSCRT_Doc_GetType (FSCRT_DOCUMENT document, FS_INT32 *docType)
 Get a document type. More...
 
FS_RESULT FSCRT_Page_GetDocument (FSCRT_PAGE page, FSCRT_DOCUMENT *document)
 Get a document handle related to a page. More...
 
FS_RESULT FSCRT_Annot_GetPage (FSCRT_ANNOT annot, FSCRT_PAGE *page)
 Get a page handle related to an annotation. Only support PDF annotation. More...
 
FS_RESULT FSCRT_Progress_Continue (FSCRT_PROGRESS progress, FSCRT_PAUSEHANDLER *pause)
 Continue a progressive process. More...
 
FS_RESULT FSCRT_Progress_GetPercent (FSCRT_PROGRESS progress, FS_INT32 *percent)
 Get a percent of progressive process. More...
 
FS_RESULT FSCRT_Progress_Release (FSCRT_PROGRESS progress)
 Release the current progressive process. More...
 
FS_RESULT FSCRT_Progress_SetProperty (FSCRT_PROGRESS progress, const FSCRT_BSTR *property, const FSCRT_VAR *values, FS_INT32 count)
 Set property of current progressive process. More...
 
FS_RESULT FSCRT_Library_SetFontMapperHandler (FSCRT_FONTMAPPERHANDLER *fontMapperHandler)
 Use a system font mapper (typically for Chinese/Japanese/Korean charsets). More...
 
FS_RESULT FSCRT_Library_AddFontFile (FSCRT_FILE fontFile)
 Add an additional font (typically a TrueType, Type1 or CFF font) to Foxit PDF SDK library from FSCRT_FILE. More...
 
FS_RESULT FSCRT_Library_LoadSystemFonts ()
 Load the installed local system fonts for Foxit PDF SDK. More...
 
FS_RESULT FSCRT_Font_Create (const FSCRT_BSTR *fontName, FS_DWORD fontStyles, FS_INT32 weight, FS_INT32 charset, FSCRT_FONT *font)
 Create a font with the given attributes. More...
 
FS_RESULT FSCRT_Font_CreateStandard (FS_INT32 fontID, FSCRT_FONT *font)
 Create a standard font by a font ID. More...
 
FS_RESULT FSCRT_Font_EnumFaces (FSCRT_FILE fontFile, FSCRT_FONTFACE *faces, FS_INT32 *count)
 Enum faces from a font file. More...
 
FS_RESULT FSCRT_Font_CreateFromFile (FSCRT_FILE fontFile, FS_INT32 faceIndex, FS_INT32 charset, FSCRT_FONT *font)
 Create a font from a font file. More...
 
FS_RESULT FSCRT_Font_Release (FSCRT_FONT font)
 Release a font object. More...
 
FS_RESULT FSCRT_Font_GetName (FSCRT_FONT font, FSCRT_BSTR *fontName)
 Retrieve a face name of a font and return a name in string. More...
 
FS_RESULT FSCRT_Font_IsBold (FSCRT_FONT font, FS_BOOL *bold)
 Judge whether a font object is bold or not. More...
 
FS_RESULT FSCRT_Font_IsItalic (FSCRT_FONT font, FS_BOOL *italic)
 Judge whether a font object is italic or not. More...
 
FS_RESULT FSCRT_Font_GetAscent (FSCRT_FONT font, FS_INT32 *ascent)
 Get an ascent value of a font. More...
 
FS_RESULT FSCRT_Font_GetDescent (FSCRT_FONT font, FS_INT32 *descent)
 Get a descent value of a font. More...
 
FS_RESULT FSCRT_Font_GetCharBBox (FSCRT_FONT font, FS_DWORD unicode, FSCRT_RECT *bbox)
 Get a specific character bounding box of a font. More...
 
FS_RESULT FSCRT_Font_GetCharWidth (FSCRT_FONT font, FS_DWORD unicode, FS_FLOAT *width)
 Get a specific character width of a font. More...
 
FS_RESULT FSCRT_Archive_Create (FSCRT_ARCHIVE *archive)
 Create an archive object for serializing and de-serializing. More...
 
FS_RESULT FSCRT_Archive_Release (FSCRT_ARCHIVE archive)
 Release an archive handle. More...
 
FS_RESULT FSCRT_Archive_GetData (FSCRT_ARCHIVE archive, FSCRT_BSTR *data)
 Get data from an archive object. More...
 
FS_RESULT FSCRT_Archive_LoadData (FSCRT_ARCHIVE archive, const FSCRT_BSTR *data)
 Load data to an archive object. More...
 

Detailed Description

Header file for Base module of Foxit PDF SDK.

Copyright (C) 2003-2016, Foxit Software Inc.. All Rights Reserved.

http://www.foxitsoftware.com

The following code is copyrighted and contains proprietary information and trade secrets of Foxit Software Inc.. It is not allowed to distribute any parts of Foxit PDF SDK to any third parties or general public, unless there is a license agreement between Foxit Software Inc. and customers.

This header file defines basic data types and functions which are used in the other modules.
It contains:

  • 1. Basic type and error code definitions.
  • 2. Utilities for byte string.
  • 3. File stream access.
  • 4. Library and memory management controls.
  • 5. Supports for multiple thread environment.
  • 6. Common structures: date, rectangle, matrix, and some helper functions.
  • 7. Private data access.
  • 8. Common objects: document, page, and helper functions.
  • 9. Progress controls: pause callback handler, progressive functions.
  • 10. Font supports: font mapper, creation and properties access.
Note
If you want to purchase Foxit PDF SDK license and use ANY of the following functions, please request for enabling Standard module explicitly.

Foxit Corporation