fpdfeditbase.h
Go to the documentation of this file.
00001 
00021 #ifndef _FPDFEDITBASE_H_
00022 #define _FPDFEDITBASE_H_
00023 #include "fpdfview.h"
00024 #ifdef _WIN32
00025 
00026 #define DLLEXPORT __declspec( dllexport )
00027 #define STDCALL __stdcall
00028 #define CDECL   _cdecl
00029 #else
00030 #define DLLEXPORT
00031 #define STDCALL
00032 #define CDECL
00033 #endif
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00039 #define FPDF_ARGB(a,r,g,b)              ((((FPDF_DWORD)(((FPDF_BYTE)(b)|((FPDF_WORD)((FPDF_BYTE)(g))<<8))|(((FPDF_DWORD)(FPDF_BYTE)(r))<<16)))) | (((FPDF_DWORD)(FPDF_BYTE)(a))<<24))
00040 #define FPDF_GetBValue(argb)    ((FPDF_BYTE)(argb))
00041 #define FPDF_GetGValue(argb)    ((FPDF_BYTE)(((FPDF_DWORD)(argb)) >> 8))
00042 #define FPDF_GetRValue(argb)    ((FPDF_BYTE)((argb)>>16))
00043 #define FPDF_GetAValue(argb)    ((FPDF_BYTE)((argb)>>24))
00044 
00045 
00046 #ifndef UNICODE
00047         #define FPDF_SetMetaText                                FPDF_SetMetaTextA
00048         #define FPDF_VIEWERREF_SetUI                    FPDF_VIEWERREF_SetUIA
00049         #define FPDF_VIEWERREF_PrintScaling             FPDF_VIEWERREF_PrintScalingA
00050         #define FPDFAction_SetFilePath                  FPDFAction_SetFilePathA
00051         #define FPDFBookmark_AddBookmark                FPDFBookmark_AddBookmarkA
00052         #define FPDFBookmark_SetTitle                   FPDFBookmark_SetTitleA
00053 #else
00054         #define FPDF_SetMetaText                                FPDF_SetMetaTextW
00055         #define FPDF_VIEWERREF_SetUI                    FPDF_VIEWERREF_SetUIW
00056         #define FPDF_VIEWERREF_PrintScaling             FPDF_VIEWERREF_PrintScalingW
00057         #define FPDFAction_SetFilePath                  FPDFAction_SetFilePathW
00058         #define FPDFBookmark_AddBookmark                FPDFBookmark_AddBookmarkW
00059         #define FPDFBookmark_SetTitle                   FPDFBookmark_SetTitleW
00060 #endif
00061 
00062 
00067 DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_CreateNewDocument();
00068 
00069 
00070 
00076 #define FPDF_PERM_PRINT                         0x0004
00077 
00078 #define FPDF_PERM_MODIFY                        0x0008
00079 
00080 #define FPDF_PERM_EXTRACT                       0x0010
00081 
00082 #define FPDF_PERM_ANNOT_FORM            0x0020
00083 
00084 #define FPDF_PERM_FILL_FORM                     0x0100
00085 
00086 #define FPDF_PERM_EXTRACT_ACCESS        0x0200
00087 
00088 #define FPDF_PERM_ASSEMBLE                      0x0400
00089 
00090 #define FPDF_PERM_PRINT_HIGH            0x0800
00091 
00107 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsFile(FPDF_DOCUMENT document, char* file_name,
00108                                                                                         FPDF_DWORD permissions,
00109                                                                                         FPDF_LPCBYTE UserPwd, long nUserPwdLen,
00110                                                                                         FPDF_LPCBYTE OwnerPwd, long nOwnerPwdLen);
00111 
00112 
00113 
00116 struct FPDF_FILEWRITE{
00117 
00121         int version;
00122 
00130         int (CDECL *WriteBlock)( FPDF_FILEWRITE* pThis, const void* pData, unsigned long size);
00131         
00132 };
00133 
00134 
00136 #define FPDF_INCREMENTAL                1
00137 
00138 #define FPDF_NO_INCREMENTAL             2
00139 
00140 
00141 
00142 
00143 
00156 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveDocument( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
00157                                                                                            FPDF_DWORD permissions,
00158                                                                                            FPDF_LPCBYTE UserPwd, long nUserPwdLen,
00159                                                                                            FPDF_LPCBYTE OwnerPwd, long nOwnerPwdLen,
00160                                                                                            FPDF_DWORD flags);
00161 
00162 
00163 
00164 
00172 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
00173                                                                                          FPDF_DWORD flags );
00174 
00175 
00176 
00185 DLLEXPORT FPDF_BOOL STDCALL FPDF_SetMetaTextA(FPDF_DOCUMENT document,FPDF_BYTESTRING tag,FPDF_BYTESTRING value);
00186 
00187 DLLEXPORT FPDF_BOOL STDCALL FPDF_SetMetaTextW(FPDF_DOCUMENT document,FPDF_WIDESTRING tag,FPDF_WIDESTRING value);
00188 
00189 
00195 #define FPDF_RECT_PAGE                          0
00196 
00197 #define FPDF_RECT_BOUNDING                      1
00198 
00199 #define FPDF_RECT_MEDIABOX                      2
00200 
00201 #define FPDF_RECT_CROPBOX                       3
00202 
00203 #define FPDF_RECT_TRIMBOX                       4
00204 
00205 #define FPDF_RECT_ARTBOX                        5
00206 
00207 #define FPDF_RECT_BLEEDBOX                      6
00208 
00219 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_GetUIA(FPDF_DOCUMENT document,FPDF_BYTESTRING tag);
00220 
00221 
00222 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_GetUIW(FPDF_DOCUMENT document,FPDF_BYTESTRING tag);
00223 
00224 
00232 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetUIA(FPDF_DOCUMENT document,FPDF_BYTESTRING tag,FPDF_BOOL value);
00233 
00234 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetUIW(FPDF_DOCUMENT document,FPDF_WIDESTRING tag,FPDF_BOOL value);
00235 
00242 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_ViewArea(FPDF_DOCUMENT document,int nRectType);
00243 
00244 
00252 DLLEXPORT void STDCALL FPDF_VIEWERREF_GetPrintPageRange(FPDF_DOCUMENT document,int* from,int* to);
00253 
00254 
00261 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetPrintPageRange(FPDF_DOCUMENT document,int from,int to);
00262 
00263 
00264 
00265 
00271 DLLEXPORT int STDCALL FPDF_VIEWERREF_GetNumCoipes(FPDF_DOCUMENT document);
00272 
00273 
00280 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetNumCoipes(FPDF_DOCUMENT document,int value);
00281 
00282 
00288 DLLEXPORT int STDCALL FPDF_VIEWERREF_GetPrintClip(FPDF_DOCUMENT document);
00289 
00290 
00291 
00298 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetPrintClip(FPDF_DOCUMENT document,int nRectType);
00299 
00300 
00307 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_PrintScalingA(FPDF_DOCUMENT document,FPDF_BYTESTRING value);
00308 
00309 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_PrintScalingW(FPDF_DOCUMENT document,FPDF_WIDESTRING value);
00310 
00311 
00317 DLLEXPORT int STDCALL FPDF_VIEWERREF_GetPrintArea(FPDF_DOCUMENT document);
00318 
00319 
00326 DLLEXPORT FPDF_BOOL STDCALL FPDF_VIEWERREF_SetPrintArea(FPDF_DOCUMENT document,int nRectType);
00327 
00328 
00334 #define PDFACTION_UNSUPPORTED           0
00335 
00336 #define PDFACTION_GOTO                          1
00337 
00338 #define PDFACTION_REMOTEGOTO            2
00339 
00340 #define PDFACTION_URI                           3
00341 
00342 #define PDFACTION_LAUNCH                        4
00343 
00352 DLLEXPORT FPDF_ACTION STDCALL FPDF_CreateAction(FPDF_DOCUMENT document,int actiontype);
00353 
00354 
00355 
00361 DLLEXPORT FPDF_BOOL STDCALL FPDF_DeleteAction(FPDF_ACTION action);
00362 
00363 
00364 
00372 DLLEXPORT FPDF_BOOL STDCALL FPDFAction_SetFilePathA(FPDF_ACTION action,FPDF_BYTESTRING pFilePath,FPDF_BOOL bURL);
00373 
00374 DLLEXPORT FPDF_BOOL STDCALL FPDFAction_SetFilePathW(FPDF_ACTION action,FPDF_WIDESTRING pFilePath,FPDF_BOOL bURL);
00375 
00376 
00377 
00378 
00385 DLLEXPORT FPDF_BOOL STDCALL FPDFAction_SetURI(FPDF_ACTION action, FPDF_BYTESTRING csURI);
00386 
00387 
00395 DLLEXPORT unsigned long STDCALL FPDFAction_GetURI(FPDF_DOCUMENT document,FPDF_ACTION action, void* buffer, unsigned long buflen);
00396 
00397 
00398 
00405 DLLEXPORT FPDF_BOOL STDCALL FPDFAction_SetDest(FPDF_ACTION action, FPDF_DEST dest);
00406 
00407 
00408 
00414 #define PDFZOOM_XYZ                             1
00415 
00416 #define PDFZOOM_FITPAGE                 2
00417 
00418 #define PDFZOOM_FITHORZ                 3
00419 
00420 #define PDFZOOM_FITVERT                 4
00421 
00422 #define PDFZOOM_FITRECT                 5
00423 
00424 #define PDFZOOM_FITBBOX                 6
00425 
00426 #define PDFZOOM_FITBHORZ                7
00427 
00428 #define PDFZOOM_FITBVERT                8
00429 
00440 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetPageIndex(FPDF_DOCUMENT document, FPDF_DEST dest, int page_index);
00441 
00442 
00443 
00444 
00450 DLLEXPORT FPDF_DEST   STDCALL FPDF_CreateDest(int mode);
00451 
00452 
00458 DLLEXPORT FPDF_BOOL   STDCALL FPDF_DeleteDest(FPDF_DEST dest);
00459 
00460 
00461 
00468 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetZoomMode(FPDF_DEST dest, int mode);
00469 
00470 
00471 
00472 
00481 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetXYZParam(FPDF_DEST dest,double x,double y,double z);
00482 
00483 
00484 
00485 
00492 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetFITHORZParam(FPDF_DEST dest,double param);
00493 
00494 
00495 
00502 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetFITVERTParam(FPDF_DEST dest,double param);
00503 
00504 
00505 
00506 
00514 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetFitRectParam(FPDF_DEST dest,double left,double bottom,double right,double top);
00515 
00516 
00523 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetFitBHorzParam(FPDF_DEST dest,double param);
00524 
00525 
00526 
00533 DLLEXPORT FPDF_BOOL STDCALL FPDFDest_SetFitBVertParam(FPDF_DEST dest,double param);
00534 
00535 
00536 
00545 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_AddBookmarkA(FPDF_DOCUMENT document, FPDF_BOOKMARK parent,FPDF_BOOKMARK InsterAfter,FPDF_BYTESTRING titlename);
00546 
00547 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_AddBookmarkW(FPDF_DOCUMENT document, FPDF_BOOKMARK parent,FPDF_BOOKMARK InsterAfter,FPDF_WIDESTRING titlename);
00548 
00549 
00550 
00551 
00558 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_DeleteBookmark(FPDF_DOCUMENT document,FPDF_BOOKMARK bookmark);
00559 
00560 
00566 #define FONTNORMAL                      0x00
00567 
00568 #define FONTITALIC                      0x01
00569 
00570 #define FONTBOLD                        0x02
00571 
00580 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_SetTitleA(FPDF_BOOKMARK bookmark,FPDF_BYTESTRING titlename);
00581 
00582 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_SetTitleW(FPDF_BOOKMARK bookmark,FPDF_WIDESTRING titlename);
00583 
00584 
00591 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_SetColorRef(FPDF_BOOKMARK bookmark,unsigned long color);
00592 
00593 
00594 
00602 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_SetFontStyle(FPDF_BOOKMARK bookmark,unsigned long fontstyle);
00603 
00604 
00605 
00612 DLLEXPORT FPDF_BOOL STDCALL FPDFBookmark_SetAction(FPDF_BOOKMARK bookmark,FPDF_ACTION action);
00613 
00614 
00615 
00625 DLLEXPORT FPDF_PAGE STDCALL FPDFPage_New(FPDF_DOCUMENT document, int page_index, double width, double height);
00626 
00627 
00634 DLLEXPORT void STDCALL FPDFPage_Delete(FPDF_DOCUMENT document, int page_index);
00635 
00641 #define FPDF_RECT_PAGE                  0
00642 
00643 #define FPDF_RECT_BOUNDING              1
00644 
00645 #define FPDF_RECT_MEDIABOX              2
00646 
00647 #define FPDF_RECT_CROPBOX               3
00648 
00649 #define FPDF_RECT_TRIMBOX               4
00650 
00651 #define FPDF_RECT_ARTBOX                5
00652 
00653 #define FPDF_RECT_BLEEDBOX              6
00654 
00665 DLLEXPORT void STDCALL FPDFPage_InsertObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_obj);
00666 
00667 
00674 DLLEXPORT void STDCALL FPDFPage_DeleteObject(FPDF_PAGE page, int index);
00675 
00676 
00682 DLLEXPORT int STDCALL FPDFPage_CountObject(FPDF_PAGE page);
00683 
00684 
00685 
00692 DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFPage_GetObject(FPDF_PAGE page, int index);
00693 
00694 
00695 
00702 DLLEXPORT int STDCALL FPDFPage_GetPageObjectIndex(FPDF_PAGE page, FPDF_PAGEOBJECT page_obj);
00703 
00704 
00705 
00713 DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GenerateContent(FPDF_PAGE page);
00714 
00715 
00716 
00717 
00718 
00731 DLLEXPORT void STDCALL FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
00732                                                         double a, double b, double c, double d, double e, double f);
00733 
00734 
00735 
00742 DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFPageObj_Clone(FPDF_PAGEOBJECT page_object);
00743 
00744 
00745 
00752 DLLEXPORT void STDCALL FPDFPageObj_Free(FPDF_PAGEOBJECT page_object);
00753 
00754 
00760 #define FPDF_PAGEOBJ_TEXT               1
00761 
00762 #define FPDF_PAGEOBJ_PATH               2
00763 
00764 #define FPDF_PAGEOBJ_IMAGE              3
00765 
00766 #define FPDF_PAGEOBJ_SHADING    4
00767 
00768 #define FPDF_PAGEOBJ_FORM               5
00769 
00778 DLLEXPORT int STDCALL FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object);
00779 
00780 
00791 DLLEXPORT void STDCALL FPDFPageObj_GetBBox(FPDF_PAGEOBJECT page_object,
00792                                                  double* left, double* bottom, double* right, double* top );
00793 
00800 DLLEXPORT int STDCALL FPDFPageObj_GetClipCount(FPDF_PAGEOBJECT page_object);
00801 
00802 
00803 
00811 DLLEXPORT FPDF_PATH STDCALL FPDFPageObj_GetClip(FPDF_PAGEOBJECT page_object, int index);
00812 
00813 
00814 
00820 #define FPDF_FILL_NULL                  0
00821 
00822 #define FPDF_FILL_ALTERNATE             1
00823 
00824 #define FPDF_FILL_WINDING               2
00825 
00837 DLLEXPORT FPDF_BOOL STDCALL FPDFPageObj_AddClip(FPDF_PAGEOBJECT page_object, FPDF_PATH path, int type);
00838 
00839 
00848 DLLEXPORT FPDF_BOOL STDCALL FPDFPageObj_AppendPathToClip(FPDF_PAGEOBJECT page_object, FPDF_PATH path, int type);
00849 
00850 
00851 
00859 DLLEXPORT void STDCALL FPDFPageObj_RemoveClip(FPDF_PAGEOBJECT page_object, int index);
00860 
00861 
00867 DLLEXPORT FPDF_DWORD STDCALL FPDFPageObj_GetFillColor(FPDF_PAGEOBJECT page_object);
00868 
00869 
00870 
00877 DLLEXPORT void STDCALL FPDFPageObj_SetFillColor(FPDF_PAGEOBJECT page_object, FPDF_DWORD argb);
00878 
00879 
00885 DLLEXPORT FPDF_DWORD STDCALL FPDFPageObj_GetStrokeColor(FPDF_PAGEOBJECT page_object);
00886 
00893 DLLEXPORT void STDCALL FPDFPageObj_SetStrokeColor(FPDF_PAGEOBJECT page_object, FPDF_DWORD argb);
00894 
00895 
00901 DLLEXPORT double STDCALL FPDFPageObj_GetLineWidth(FPDF_PAGEOBJECT page_object);
00902 
00909 DLLEXPORT void STDCALL FPDFPageObj_SetLineWidth(FPDF_PAGEOBJECT page_object, double width);
00910 
00911 
00917 #define FPDF_LINECAP_BUTT               0
00918 
00919 #define FPDF_LINECAP_ROUND              1
00920 
00921 #define FPDF_LINECAP_PROJECT    2
00922 
00929 DLLEXPORT int STDCALL FPDFPageObj_GetLineCapStyle(FPDF_PAGEOBJECT page_object);
00930 
00931 
00938 DLLEXPORT void STDCALL FPDFPageObj_SetLineCapStyle(FPDF_PAGEOBJECT page_object, int style);
00939 
00940 
00946 #define FPDF_LINEJOIN_MITER             0
00947 
00948 #define FPDF_LINEJOIN_ROUND             1
00949 
00950 #define FPDF_LINEJOIN_BEVEL             2
00951 
00958 DLLEXPORT int STDCALL FPDFPageObj_GetLineJoinStyle(FPDF_PAGEOBJECT page_object);
00959 
00960 
00967 DLLEXPORT void STDCALL FPDFPageObj_SetLineJoinStyle(FPDF_PAGEOBJECT page_object, int style);
00968 
00969 
00977 DLLEXPORT double STDCALL FPDFPageObj_GetMiterLimit(FPDF_PAGEOBJECT page_object);
00978 
00979 
00988 DLLEXPORT void STDCALL FPDFPageObj_SetMiterLimit(FPDF_PAGEOBJECT page_object, double miter_limit);
00989 
00990 
00996 DLLEXPORT int STDCALL FPDFPageObj_GetDashCount(FPDF_PAGEOBJECT page_object);
00997 
00998 
01006 DLLEXPORT void STDCALL FPDFPageObj_SetDashCount(FPDF_PAGEOBJECT page_object, int count);
01007 
01008 
01009 
01018 DLLEXPORT double STDCALL FPDFPageObj_GetDashArray(FPDF_PAGEOBJECT page_object, int index);
01019 
01020 
01030 DLLEXPORT void STDCALL FPDFPageObj_SetDashArray(FPDF_PAGEOBJECT page_object, int index, double dash_value);
01031 
01032 
01039 DLLEXPORT double STDCALL FPDFPageObj_GetDashPhase(FPDF_PAGEOBJECT page_object);
01040 
01041 
01049 DLLEXPORT void STDCALL FPDFPageObj_SetDashPhase(FPDF_PAGEOBJECT page_object, double phase_value);
01050 
01051 
01052 #ifdef __cplusplus
01053 };
01054 #endif
01055 
01056 
01057 #endif
01058 
01059 
01060 
01062