00001 00019 #ifndef _FPDFTEXT_H_ 00020 #define _FPDFTEXT_H_ 00021 00022 #ifndef _FPDFVIEW_H_ 00023 #include "fpdfview.h" 00024 #endif 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif 00029 00039 DLLEXPORT FPDF_TEXTPAGE STDCALL FPDFText_LoadPage(FPDF_PAGE page); 00040 00046 DLLEXPORT void STDCALL FPDFText_ClosePage(FPDF_TEXTPAGE text_page); 00047 00058 DLLEXPORT int STDCALL FPDFText_CountChars(FPDF_TEXTPAGE text_page); 00059 00069 DLLEXPORT unsigned int STDCALL FPDFText_GetUnicode(FPDF_TEXTPAGE text_page, int index); 00070 00083 DLLEXPORT FPDF_BOOL STDCALL FPDFText_IsGenerated(FPDF_TEXTPAGE text_page, int index); 00084 00093 DLLEXPORT double STDCALL FPDFText_GetFontSize(FPDF_TEXTPAGE text_page, int index); 00094 00104 DLLEXPORT void STDCALL FPDFText_GetOrigin(FPDF_TEXTPAGE text_page, int index, double* x, double* y); 00105 00117 DLLEXPORT void STDCALL FPDFText_GetCharBox(FPDF_TEXTPAGE text_page, int index, double* left, 00118 double* right, double* bottom, double* top); 00119 00137 DLLEXPORT void STDCALL FPDFText_GetMatrix(FPDF_TEXTPAGE text_page, int index, double* a, double* b, double* c, double* d); 00138 00147 DLLEXPORT FPDF_FONT STDCALL FPDFText_GetFont(FPDF_TEXTPAGE text_page, int index); 00148 00158 DLLEXPORT int STDCALL FPDFFont_GetAscent(FPDF_FONT font); 00159 00167 DLLEXPORT int STDCALL FPDFFont_GetDescent(FPDF_FONT font); 00168 00176 DLLEXPORT FPDF_BYTESTRING STDCALL FPDFFont_GetName(FPDF_FONT font); 00177 00178 00191 DLLEXPORT int STDCALL FPDFText_GetCharIndexAtPos(FPDF_TEXTPAGE text_page, 00192 double x, double y, double xTorelance, double yTolerance); 00193 00194 00200 #define FPDFTEXT_LEFT -1 00201 00202 #define FPDFTEXT_RIGHT 1 00203 00204 #define FPDFTEXT_UP -2 00205 00206 #define FPDFTEXT_DOWN 2 00207 00226 DLLEXPORT int STDCALL FPDFText_GetCharIndexByDirection(FPDF_TEXTPAGE text_page, int index, int direction); 00227 00238 DLLEXPORT int STDCALL FPDFText_GetText(FPDF_TEXTPAGE text_page, int start_index, int count, unsigned short* result); 00239 00251 DLLEXPORT int STDCALL FPDFText_CountRects(FPDF_TEXTPAGE text_page, int start_index, int count); 00252 00264 DLLEXPORT void STDCALL FPDFText_GetRect(FPDF_TEXTPAGE text_page, int rect_index, double* left, double* top, 00265 double* right, double* bottom); 00266 00280 DLLEXPORT int STDCALL FPDFText_GetBoundedText(FPDF_TEXTPAGE text_page,double left, double top, 00281 double right, double bottom,unsigned short* buffer,int buflen); 00282 00283 00294 DLLEXPORT int STDCALL FPDFText_CountBoundedSegments(FPDF_TEXTPAGE text_page, 00295 double left, double top, double right, double bottom); 00305 DLLEXPORT void STDCALL FPDFText_GetBoundedSegment(FPDF_TEXTPAGE text_page, int seg_index, int* start_index, int* count); 00306 00307 00308 00314 #define FPDF_MATCHCASE 0x00000001 00315 00316 #define FPDF_MATCHWHOLEWORD 0x00000002 00317 00329 DLLEXPORT FPDF_SCHHANDLE STDCALL FPDFText_FindStart(FPDF_TEXTPAGE text_page, FPDF_WIDESTRING findwhat, 00330 unsigned long flags, int start_index); 00337 DLLEXPORT FPDF_BOOL STDCALL FPDFText_FindNext(FPDF_SCHHANDLE handle); 00338 00345 DLLEXPORT FPDF_BOOL STDCALL FPDFText_FindPrev(FPDF_SCHHANDLE handle); 00346 00353 DLLEXPORT int STDCALL FPDFText_GetSchResultIndex(FPDF_SCHHANDLE handle); 00354 00361 DLLEXPORT int STDCALL FPDFText_GetSchCount(FPDF_SCHHANDLE handle); 00362 00369 DLLEXPORT void STDCALL FPDFText_FindClose(FPDF_SCHHANDLE handle); 00370 00385 DLLEXPORT FPDF_PAGELINK STDCALL FPDFLink_LoadWebLinks(FPDF_TEXTPAGE text_page); 00386 00392 DLLEXPORT int STDCALL FPDFLink_CountWebLinks(FPDF_PAGELINK link_page); 00393 00403 DLLEXPORT int STDCALL FPDFLink_GetURL(FPDF_PAGELINK link_page, int link_index, unsigned short* buffer,int buflen); 00404 00411 DLLEXPORT int STDCALL FPDFLink_CountRects(FPDF_PAGELINK link_page, int link_index); 00412 00424 DLLEXPORT void STDCALL FPDFLink_GetRect(FPDF_PAGELINK link_page, int link_index, int rect_index, 00425 double* left, double* top,double* right, double* bottom); 00426 00432 DLLEXPORT void STDCALL FPDFLink_CloseWebLinks(FPDF_PAGELINK link_page); 00433 00434 00435 00441 #define FPDFTEXT_STREAM_ORDER 0 00442 00443 #define FPDFTEXT_DISPLAY_ORDER 1 00444 00456 DLLEXPORT FPDF_BOOL STDCALL FPDFText_PDFToText(const char * sour_file,const char * dest_file,int flag,FPDF_BYTESTRING password); 00457 00468 DLLEXPORT int STDCALL FPDFText_PageToText(FPDF_DOCUMENT doc,int page_index,wchar_t* buf,int size,int flag); 00469 #ifdef __cplusplus 00470 }; 00471 #endif 00472 00473 #endif 00474 00475