fpdf_textpage_r.h
Go to the documentation of this file.
1 
25 #ifndef _FSPDF_TEXTPAGE_R_H_
26 #define _FSPDF_TEXTPAGE_R_H_
27 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 /********************************************************************************/
62 /* Base definitions for Text */
63 /* */
64 /* Handle definitions, macro definitions, data structure */
65 /********************************************************************************/
66 #ifndef _FSPDF_DEF_HANDLE_TEXTPAGE_
67 #define _FSPDF_DEF_HANDLE_TEXTPAGE_
68 
70 FSCRT_DEFINEHANDLE(FSPDF_TEXTPAGE);
71 
72 #endif /* _FSPDF_DEF_HANDLE_TEXTPAGE_ */
73 
74 #ifndef _FSPDF_DEF_HANDLE_TEXTSELECTION_
75 #define _FSPDF_DEF_HANDLE_TEXTSELECTION_
76 
78 FSCRT_DEFINEHANDLE(FSPDF_TEXTSELECTION);
79 
80 #endif /* _FSPDF_DEF_HANDLE_TEXTSELECTION_ */
81 
82 #ifndef _FSPDF_DEF_HANDLE_TEXTSEARCH_
83 #define _FSPDF_DEF_HANDLE_TEXTSEARCH_
84 
86 FSCRT_DEFINEHANDLE(FSPDF_TEXTSEARCH);
87 
88 #endif /* _FSPDF_DEF_HANDLE_TEXTSEARCH_ */
89 
90 #ifndef _FSPDF_DEF_HANDLE_TEXTLINK_
91 #define _FSPDF_DEF_HANDLE_TEXTLINK_
92 
94 FSCRT_DEFINEHANDLE(FSPDF_TEXTLINK);
95 
96 #endif /* _FSPDF_DEF_HANDLE_TEXTLINK_ */
97 
98 #ifndef _FSPDF_DEF_MACRO_TEXTPAGE_CHARSTATE_
99 #define _FSPDF_DEF_MACRO_TEXTPAGE_CHARSTATE_
100 
107 #define FSPDF_TEXTPAGE_CHARSTATE_NORMAL 1
108 
109 #define FSPDF_TEXTPAGE_CHARSTATE_GENERATED 2
110 
111 #define FSPDF_TEXTPAGE_CHARSTATE_NONUNICODE 3
112 
114 #endif /* _FSPDF_DEF_MACRO_TEXTPAGE_CHARSTATE_ */
115 
116 
117 #ifndef _FSPDF_DEF_MACRO_TEXT_PARSEOPTION
118 #define _FSPDF_DEF_MACRO_TEXT_PARSEOPTION
119 
125 #define FSPDF_TEXT_PARSEOPTION_STREAMORDER 0x0001
126 
127 #define FSPDF_TEXT_PARSEOPTION_OUTPUTHYPHEN 0x0002
128 
130 #endif /* _FSPDF_DEF_MACRO_TEXT_PARSEOPTION */
131 
132 #ifndef _FSPDF_DEF_STRUCTURE_TEXTPAGE_CHARINFO_
133 #define _FSPDF_DEF_STRUCTURE_TEXTPAGE_CHARINFO_
134 
138 typedef struct _TEXTPAGE_CHARINFO_
139 {
146  FSCRT_FONT font;
168 
169 #endif /* _FSPDF_DEF_STRUCTURE_TEXTPAGE_CHARINFO_ */
170 
171 /*******************************************************************************/
172 /* Text page */
173 /*******************************************************************************/
203 FS_RESULT FSPDF_TextPage_Load(FSCRT_PAGE pdfPage, FSPDF_TEXTPAGE* textPage);
204 
237 FS_RESULT FSPDF_TextPage_LoadWithOption(FSCRT_PAGE pdfPage, FS_INT32 option, FSPDF_TEXTPAGE* textPage);
238 
258 FS_RESULT FSPDF_TextPage_Release(FSPDF_TEXTPAGE textPage);
259 
287 FS_RESULT FSPDF_TextPage_CountChars(FSPDF_TEXTPAGE textPage, FS_INT32* count);
288 
317 FS_RESULT FSPDF_TextPage_GetChars(FSPDF_TEXTPAGE textPage, FS_INT32 start, FS_INT32 count, FSCRT_BSTR* chars);
318 
343 FS_RESULT FSPDF_TextPage_GetUnicode(FSPDF_TEXTPAGE textPage, FS_INT32 index, FS_DWORD* unicode);
344 
370 FS_RESULT FSPDF_TextPage_ExportToFile(FSPDF_TEXTPAGE textPage, FSCRT_FILE file);
371 
397 FS_RESULT FSPDF_TextPage_GetCharInfo(FSPDF_TEXTPAGE textPage, FS_INT32 charIndex, FSPDF_TEXTPAGE_CHARINFO* info);
398 
427 FS_RESULT FSPDF_TextPage_GetCharIndexAtPos(FSPDF_TEXTPAGE textPage, FS_FLOAT x, FS_FLOAT y, FS_FLOAT tolerance, FS_INT32* charIndex);
428 
429 /*******************************************************************************/
430 /* Text selection */
431 /*******************************************************************************/
460 FS_RESULT FSPDF_TextPage_SelectByRange(FSPDF_TEXTPAGE textPage, FS_INT32 start, FS_INT32 count, FSPDF_TEXTSELECTION* textSelection);
461 
487 FS_RESULT FSPDF_TextPage_SelectByRectangle(FSPDF_TEXTPAGE textPage, const FSCRT_RECTF* rect, FSPDF_TEXTSELECTION* textSelection);
488 
510 FS_RESULT FSPDF_TextSelection_Release(FSPDF_TEXTSELECTION textSelection);
511 
536 FS_RESULT FSPDF_TextSelection_GetBBox(FSPDF_TEXTSELECTION textSelection, FSCRT_RECTF* bbox);
537 
562 FS_RESULT FSPDF_TextSelection_GetChars(FSPDF_TEXTSELECTION textSelection, FSCRT_BSTR* chars);
563 
590 FS_RESULT FSPDF_TextSelection_CountPieces(FSPDF_TEXTSELECTION textSelection, FS_INT32* count);
591 
616 FS_RESULT FSPDF_TextSelection_GetPieceRect(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FSCRT_RECTF* rect);
617 
646 FS_RESULT FSPDF_TextSelection_GetPieceRotation(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32* rotation);
647 
675 FS_RESULT FSPDF_TextSelection_GetPieceCharRange(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32* start, FS_INT32* count);
676 
707 FS_RESULT FSPDF_TextSelection_GetLayerArray(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERNODE* layers, FSCRT_ARRAY* layerArray);
708 
737 FS_RESULT FSPDF_TextSelection_GetVisibleSelection(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERCONTEXT context, FSPDF_TEXTSELECTION* visibleSelection);
738 
739 /*******************************************************************************/
740 /* Text search */
741 /*******************************************************************************/
783 FS_RESULT FSPDF_TextPage_StartSearch(FSPDF_TEXTPAGE textPage, const FSCRT_BSTR* searchPattern, FS_DWORD flags, FS_INT32 startIndex,
784  FSPDF_TEXTSEARCH* textSearch);
785 
805 FS_RESULT FSPDF_TextSearch_Release(FSPDF_TEXTSEARCH textSearch);
806 
828 FS_RESULT FSPDF_TextSearch_FindNext(FSPDF_TEXTSEARCH textSearch, FS_BOOL* isMatch);
829 
851 FS_RESULT FSPDF_TextSearch_FindPrev(FSPDF_TEXTSEARCH textSearch, FS_BOOL* isMatch);
852 
878 FS_RESULT FSPDF_TextSearch_GetSelection(FSPDF_TEXTSEARCH textSearch, FSPDF_TEXTSELECTION* textSelection);
879 
880 /*******************************************************************************/
881 /* Text link */
882 /*******************************************************************************/
911 FS_RESULT FSPDF_TextPage_ExtractLinks(FSPDF_TEXTPAGE textPage, FSPDF_TEXTLINK* textLink);
912 
932 FS_RESULT FSPDF_TextLink_Release(FSPDF_TEXTLINK textLink);
933 
955 FS_RESULT FSPDF_TextLink_CountLinks(FSPDF_TEXTLINK textLink, FS_INT32* linkCount);
956 
983 FS_RESULT FSPDF_TextLink_GetLink(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSCRT_BSTR* linkURI);
984 
1013 FS_RESULT FSPDF_TextLink_GetSelection(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSPDF_TEXTSELECTION* textSelection);
1014 
1015 #ifdef __cplusplus
1016 };
1017 #endif
1018  /* group FPDFTEXT */
1020 
1021 #endif /* _FSPDF_TEXTPAGE_R_H_ */
1022 
FS_RESULT FSPDF_TextPage_CountChars(FSPDF_TEXTPAGE textPage, FS_INT32 *count)
Get count of characters in a page.
FSCRT_MATRIX matrix
Matrix of character.
Definition: fpdf_textpage_r.h:166
Structure for rectangle, in float.
Definition: fs_base_r.h:2080
float FS_FLOAT
32-bit floating-point number, single precision.
Definition: fs_base_r.h:148
FS_RESULT FSPDF_TextPage_Release(FSPDF_TEXTPAGE textPage)
Release all resources allocated for a PDF text page handle.
FS_RESULT FSPDF_TextPage_LoadWithOption(FSCRT_PAGE pdfPage, FS_INT32 option, FSPDF_TEXTPAGE *textPage)
Prepare information of all characters in a page, with option.
FS_RESULT FSPDF_TextPage_GetChars(FSPDF_TEXTPAGE textPage, FS_INT32 start, FS_INT32 count, FSCRT_BSTR *chars)
Get text content in a page, within a specific character range.
FS_RESULT FSPDF_TextLink_Release(FSPDF_TEXTLINK textLink)
Release all resources allocated for a PDF text link handle.
FS_RESULT FSPDF_TextLink_GetSelection(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSPDF_TEXTSELECTION *textSelection)
Get a PDF text selection handle from a specific hyperlink.
FS_FLOAT originY
Y position of the character origin. -1 means error.
Definition: fpdf_textpage_r.h:162
unsigned int FS_DWORD
32-bit unsigned integer.
Definition: fs_base_r.h:142
FS_RESULT FSPDF_TextPage_GetCharIndexAtPos(FSPDF_TEXTPAGE textPage, FS_FLOAT x, FS_FLOAT y, FS_FLOAT tolerance, FS_INT32 *charIndex)
Get the character index at or around a specific position on the page.
FS_RESULT FSPDF_TextPage_ExportToFile(FSPDF_TEXTPAGE textPage, FSCRT_FILE file)
Export text content in a page to a specific file handle.
FS_RESULT FSPDF_TextPage_ExtractLinks(FSPDF_TEXTPAGE textPage, FSPDF_TEXTLINK *textLink)
Process a PDF page text object to get URL formatted texts (as hyperlinks).
int FS_INT32
32-bit signed integer.
Definition: fs_base_r.h:175
Structure for character's information definition.
Definition: fpdf_textpage_r.h:138
FS_RESULT FSPDF_TextPage_GetCharInfo(FSPDF_TEXTPAGE textPage, FS_INT32 charIndex, FSPDF_TEXTPAGE_CHARINFO *info)
Get character information of a specific character.
FS_FLOAT fontSize
Font size of character, measured in points (about 1/72 inch).
Definition: fpdf_textpage_r.h:158
FS_RESULT FSPDF_TextSelection_GetVisibleSelection(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERCONTEXT context, FSPDF_TEXTSELECTION *visibleSelection)
Get a new PDF text selected area of visible content from a specific a PDF text selected area...
Structure for PDF layer nodes.
Definition: fpdf_layer_r.h:143
FS_RESULT FSPDF_TextPage_StartSearch(FSPDF_TEXTPAGE textPage, const FSCRT_BSTR *searchPattern, FS_DWORD flags, FS_INT32 startIndex, FSPDF_TEXTSEARCH *textSearch)
Start a PDF text search process.
FS_RESULT FSPDF_TextSearch_GetSelection(FSPDF_TEXTSEARCH textSearch, FSPDF_TEXTSELECTION *textSelection)
Get a text selection handle from a text search when a match is found.
FS_RESULT FSPDF_TextSelection_GetBBox(FSPDF_TEXTSELECTION textSelection, FSCRT_RECTF *bbox)
Get bounding box(a rectangular area) of a PDF text selected area.
FS_RESULT FSPDF_TextSelection_Release(FSPDF_TEXTSELECTION textSelection)
Release all resources allocated for a PDF text selection handle.
int FS_BOOL
Boolean type (This should be TRUE or FALSE).
Definition: fs_base_r.h:133
FS_RESULT FSPDF_TextPage_SelectByRange(FSPDF_TEXTPAGE textPage, FS_INT32 start, FS_INT32 count, FSPDF_TEXTSELECTION *textSelection)
Get a text selection handle by specific character range.
FSCRT_RECTF bbox
4 positions (left, bottom, right, top)of character's bounding box.
Definition: fpdf_textpage_r.h:164
FS_RESULT FSPDF_TextPage_GetUnicode(FSPDF_TEXTPAGE textPage, FS_INT32 index, FS_DWORD *unicode)
Get the unicode representation of a character in a page.
FS_RESULT FSPDF_TextSelection_GetChars(FSPDF_TEXTSELECTION textSelection, FSCRT_BSTR *chars)
Extract the whole text from a PDF text selected area.
FS_RESULT FSPDF_TextSelection_GetPieceCharRange(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32 *start, FS_INT32 *count)
Get index of the start character and the count of characters of a specific segment.
FS_INT32 state
State of character.
Definition: fpdf_textpage_r.h:152
FS_RESULT FSPDF_TextSearch_FindPrev(FSPDF_TEXTSEARCH textSearch, FS_BOOL *isMatch)
Search in the direction from end to start of the page.
FS_RESULT FSPDF_TextLink_CountLinks(FSPDF_TEXTLINK textLink, FS_INT32 *linkCount)
Get count of the URL formatted texts inside a page.
FS_RESULT FSPDF_TextLink_GetLink(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSCRT_BSTR *linkURI)
Get the linked URL associated with a specific hyperlink.
FS_RESULT FSPDF_TextSearch_Release(FSPDF_TEXTSEARCH textSearch)
Release all resources allocated for a PDF text search handle.
Structure for 2D matrix.
Definition: fs_base_r.h:2132
FS_FLOAT originX
X position of the character origin. -1 means error.
Definition: fpdf_textpage_r.h:160
Structure for byte string.
Definition: fs_base_r.h:613
FS_RESULT FSPDF_TextSelection_GetPieceRect(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FSCRT_RECTF *rect)
Get rectangular area of a specific segment, based on the result of the fucntion FSPDF_TextSelection_C...
Structure for array.
Definition: fs_base_r.h:815
FSCRT_FONT font
Font handle of the character.
Definition: fpdf_textpage_r.h:146
FS_RESULT FSPDF_TextPage_SelectByRectangle(FSPDF_TEXTPAGE textPage, const FSCRT_RECTF *rect, FSPDF_TEXTSELECTION *textSelection)
Get a text selection handle by specific rectangle.
FS_RESULT FSPDF_TextPage_Load(FSCRT_PAGE pdfPage, FSPDF_TEXTPAGE *textPage)
Prepare information of all characters in a page.
FS_RESULT FSPDF_TextSelection_GetPieceRotation(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32 *rotation)
Get rotation of the specific segment, based on the result returned by function FSPDF_TextSelection_Co...
FS_RESULT FSPDF_TextSelection_CountPieces(FSPDF_TEXTSELECTION textSelection, FS_INT32 *count)
Count the number of all rectangular areas of segments in a PDF text selected area.
FS_RESULT FSPDF_TextSelection_GetLayerArray(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERNODE *layers, FSCRT_ARRAY *layerArray)
Get the layer array associated with a PDF text selected area.
int FS_RESULT
Result code for functions in Foxit PDF SDK.
Definition: fs_base_r.h:160
FS_RESULT FSPDF_TextSearch_FindNext(FSPDF_TEXTSEARCH textSearch, FS_BOOL *isMatch)
Search in the direction from start to end of the page.

Foxit Corporation