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 
561 FS_RESULT FSPDF_TextSelection_GetChars(FSPDF_TEXTSELECTION textSelection, FSCRT_BSTR* chars);
562 
589 FS_RESULT FSPDF_TextSelection_CountPieces(FSPDF_TEXTSELECTION textSelection, FS_INT32* count);
590 
615 FS_RESULT FSPDF_TextSelection_GetPieceRect(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FSCRT_RECTF* rect);
616 
645 FS_RESULT FSPDF_TextSelection_GetPieceRotation(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32* rotation);
646 
673 FS_RESULT FSPDF_TextSelection_GetPieceCharRange(FSPDF_TEXTSELECTION textSelection, FS_INT32 pieceIndex, FS_INT32* start, FS_INT32* count);
674 
704 FS_RESULT FSPDF_TextSelection_GetLayerArray(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERNODE* layers, FSCRT_ARRAY* layerArray);
705 
733 FS_RESULT FSPDF_TextSelection_GetVisibleSelection(FSPDF_TEXTSELECTION textSelection, FSPDF_LAYERCONTEXT context, FSPDF_TEXTSELECTION* visibleSelection);
734 
735 /*******************************************************************************/
736 /* Text search */
737 /*******************************************************************************/
779 FS_RESULT FSPDF_TextPage_StartSearch(FSPDF_TEXTPAGE textPage, const FSCRT_BSTR* searchPattern, FS_DWORD flags, FS_INT32 startIndex,
780  FSPDF_TEXTSEARCH* textSearch);
781 
801 FS_RESULT FSPDF_TextSearch_Release(FSPDF_TEXTSEARCH textSearch);
802 
824 FS_RESULT FSPDF_TextSearch_FindNext(FSPDF_TEXTSEARCH textSearch, FS_BOOL* isMatch);
825 
847 FS_RESULT FSPDF_TextSearch_FindPrev(FSPDF_TEXTSEARCH textSearch, FS_BOOL* isMatch);
848 
874 FS_RESULT FSPDF_TextSearch_GetSelection(FSPDF_TEXTSEARCH textSearch, FSPDF_TEXTSELECTION* textSelection);
875 
876 /*******************************************************************************/
877 /* Text link */
878 /*******************************************************************************/
907 FS_RESULT FSPDF_TextPage_ExtractLinks(FSPDF_TEXTPAGE textPage, FSPDF_TEXTLINK* textLink);
908 
928 FS_RESULT FSPDF_TextLink_Release(FSPDF_TEXTLINK textLink);
929 
951 FS_RESULT FSPDF_TextLink_CountLinks(FSPDF_TEXTLINK textLink, FS_INT32* linkCount);
952 
979 FS_RESULT FSPDF_TextLink_GetLink(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSCRT_BSTR* linkURI);
980 
1009 FS_RESULT FSPDF_TextLink_GetSelection(FSPDF_TEXTLINK textLink, FS_INT32 linkIndex, FSPDF_TEXTSELECTION* textSelection);
1010 
1011 #ifdef __cplusplus
1012 };
1013 #endif
1014  /* group FPDFTEXT */
1016 
1017 #endif /* _FSPDF_TEXTPAGE_R_H_ */
1018 
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:2078
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:2130
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:611
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:813
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