OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef _FPDFEDIT_H_ | |
8 #define _FPDFEDIT_H_ | |
9 | |
10 #include "fpdfview.h" | |
11 | |
12 // Define all types used in the SDK. Note they can be simply regarded as opaque
pointers | |
13 // or long integer numbers. | |
14 | |
15 #define FPDF_ARGB(a,r,g,b) ((((FX_DWORD)(((FX_BYTE)(b)|((FX_WORD)((
FX_BYTE)(g))<<8))|(((FX_DWORD)(FX_BYTE)(r))<<16)))) | (((FX_DWORD)(FX_BYTE)(a))<
<24)) | |
16 #define FPDF_GetBValue(argb) ((FX_BYTE)(argb)) | |
17 #define FPDF_GetGValue(argb) ((FX_BYTE)(((FX_WORD)(argb)) >> 8)) | |
18 #define FPDF_GetRValue(argb) ((FX_BYTE)((argb)>>16)) | |
19 #define FPDF_GetAValue(argb) ((FX_BYTE)((argb)>>24)) | |
20 | |
21 #ifdef __cplusplus | |
22 extern "C" { | |
23 #endif | |
24 | |
25 ////////////////////////////////////////////////////////////////////// | |
26 // | |
27 // Document functions | |
28 // | |
29 ////////////////////////////////////////////////////////////////////// | |
30 | |
31 // Function: FPDF_CreateNewDocument | |
32 // Create a new PDF document. | |
33 // Parameters: | |
34 // None. | |
35 // Return value: | |
36 // A handle to a document. If failed, NULL is returned. | |
37 DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_CreateNewDocument(); | |
38 | |
39 ////////////////////////////////////////////////////////////////////// | |
40 // | |
41 // Page functions | |
42 // | |
43 ////////////////////////////////////////////////////////////////////// | |
44 | |
45 // Function: FPDFPage_New | |
46 // Construct an empty page. | |
47 // Parameters: | |
48 // document - Handle to document. Returned by
FPDF_LoadDocument and FPDF_CreateNewDocument. | |
49 // page_index - The index of a page. | |
50 // width - The page width. | |
51 // height - The page height. | |
52 // Return value: | |
53 // The handle to the page. | |
54 // Comments: | |
55 // Loaded page can be deleted by FPDFPage_Delete. | |
56 DLLEXPORT FPDF_PAGE STDCALL FPDFPage_New(FPDF_DOCUMENT document, int page_index,
double width, double height); | |
57 | |
58 // Function: FPDFPage_Delete | |
59 // Delete a PDF page. | |
60 // Parameters: | |
61 // document - Handle to document. Returned by
FPDF_LoadDocument and FPDF_CreateNewDocument. | |
62 // page_index - The index of a page. | |
63 // Return value: | |
64 // None. | |
65 DLLEXPORT void STDCALL FPDFPage_Delete(FPDF_DOCUMENT document, int page_index); | |
66 | |
67 // Function: FPDFPage_GetRotation | |
68 // Get the page rotation. One of following values will be r
eturned: 0(0), 1(90), 2(180), 3(270). | |
69 // Parameters: | |
70 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
71 // Return value: | |
72 // The PDF page rotation. | |
73 // Comment: | |
74 // The PDF page rotation is rotated clockwise. | |
75 DLLEXPORT int STDCALL FPDFPage_GetRotation(FPDF_PAGE page); | |
76 | |
77 // Function: FPDFPage_SetRotation | |
78 // Set page rotation. One of following values will be set:
0(0), 1(90), 2(180), 3(270). | |
79 // Parameters: | |
80 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
81 // rotate - The value of the PDF page rotati
on. | |
82 // Return value: | |
83 // None. | |
84 // Comment: | |
85 // The PDF page rotation is rotated clockwise. | |
86 // | |
87 DLLEXPORT void STDCALL FPDFPage_SetRotation(FPDF_PAGE page, int rotate); | |
88 | |
89 // Function: FPDFPage_InsertObject | |
90 // Insert an object to the page. The page object is automat
ically freed. | |
91 // Parameters: | |
92 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
93 // page_obj - Handle to a page object. Returne
d by FPDFPageObj_NewTextObj,FPDFPageObj_NewTextObjEx and | |
94 // FPDFPageObj_NewPathObj. | |
95 // Return value: | |
96 // None. | |
97 DLLEXPORT void STDCALL FPDFPage_InsertObject(FPDF_PAGE page, FPDF_PAGEOBJECT pag
e_obj); | |
98 | |
99 // Function: FPDFPage_CountObject | |
100 // Get number of page objects inside the page. | |
101 // Parameters: | |
102 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
103 // Return value: | |
104 // The number of the page object. | |
105 DLLEXPORT int STDCALL FPDFPage_CountObject(FPDF_PAGE page); | |
106 | |
107 // Function: FPDFPage_GetObject | |
108 // Get page object by index. | |
109 // Parameters: | |
110 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
111 // index - The index of a page object. | |
112 // Return value: | |
113 // The handle of the page object. Null for failed. | |
114 DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFPage_GetObject(FPDF_PAGE page, int index); | |
115 | |
116 // Function: FPDFPage_HasTransparency | |
117 // Check that whether the content of specified PDF page con
tains transparency. | |
118 // Parameters: | |
119 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
120 // Return value: | |
121 // TRUE means that the PDF page does contains transparency. | |
122 // Otherwise, returns FALSE. | |
123 DLLEXPORT FPDF_BOOL STDCALL FPDFPage_HasTransparency(FPDF_PAGE page); | |
124 | |
125 // Function: FPDFPage_GenerateContent | |
126 // Generate PDF Page content. | |
127 // Parameters: | |
128 // page - Handle to a page. Returned by FP
DFPage_New or FPDF_LoadPage. | |
129 // Return value: | |
130 // True if successful, false otherwise. | |
131 // Comment: | |
132 // Before you save the page to a file, or reload the page,
you must call the FPDFPage_GenerateContent function. | |
133 // Or the changed information will be lost. | |
134 DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GenerateContent(FPDF_PAGE page); | |
135 | |
136 ////////////////////////////////////////////////////////////////////// | |
137 // | |
138 // Page Object functions | |
139 // | |
140 ////////////////////////////////////////////////////////////////////// | |
141 | |
142 // Function: FPDFPageObj_HasTransparency | |
143 // Check that whether the specified PDF page object contain
s transparency. | |
144 // Parameters: | |
145 // pageObject - Handle to a page object. | |
146 // Return value: | |
147 // TRUE means that the PDF page object does contains transp
arency. | |
148 // Otherwise, returns FALSE. | |
149 DLLEXPORT FPDF_BOOL STDCALL FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT pageObje
ct); | |
150 | |
151 // Function: FPDFPageObj_Transform | |
152 // Transform (scale, rotate, shear, move) page object. | |
153 // Parameters: | |
154 // page_object - Handle to a page object. Returne
d by FPDFPageObj_NewImageObj. | |
155 // a - The coefficient "a" of t
he matrix. | |
156 // b - The coefficient "b"
of the matrix. | |
157 // c - The coefficient "c" of t
he matrix. | |
158 // d - The coefficient "d" of t
he matrix. | |
159 // e - The coefficient "e" of t
he matrix. | |
160 // f - The coefficient "f" of t
he matrix. | |
161 // Return value: | |
162 // None. | |
163 DLLEXPORT void STDCALL FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object, | |
164 double a, double b, doub
le c, double d, double e, double f); | |
165 | |
166 // Function: FPDFPage_TransformAnnots | |
167 // Transform (scale, rotate, shear, move) all annots in a p
age. | |
168 // Parameters: | |
169 // page - Handle to a page. | |
170 // a - The coefficient "a" of t
he matrix. | |
171 // b - The coefficient "b"
of the matrix. | |
172 // c - The coefficient "c" of t
he matrix. | |
173 // d - The coefficient "d" of t
he matrix. | |
174 // e - The coefficient "e" of t
he matrix. | |
175 // f - The coefficient "f" of t
he matrix. | |
176 // Return value: | |
177 // None. | |
178 DLLEXPORT void STDCALL FPDFPage_TransformAnnots(FPDF_PAGE page, | |
179
double a, double b, double c, double d, double e, double f); | |
180 | |
181 // The page object constants. | |
182 #define FPDF_PAGEOBJ_TEXT 1 | |
183 #define FPDF_PAGEOBJ_PATH 2 | |
184 #define FPDF_PAGEOBJ_IMAGE 3 | |
185 #define FPDF_PAGEOBJ_SHADING 4 | |
186 #define FPDF_PAGEOBJ_FORM 5 | |
187 | |
188 ////////////////////////////////////////////////////////////////////// | |
189 // | |
190 // Image functions | |
191 // | |
192 ////////////////////////////////////////////////////////////////////// | |
193 | |
194 // Function: FPDFPageObj_NewImgeObj | |
195 // Create a new Image Object. | |
196 // Parameters: | |
197 // document - Handle to document. Retu
rned by FPDF_LoadDocument or FPDF_CreateNewDocument function. | |
198 // Return Value: | |
199 // Handle of image object. | |
200 DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFPageObj_NewImgeObj(FPDF_DOCUMENT document)
; | |
201 | |
202 | |
203 // Function: FPDFImageObj_LoadJpegFile | |
204 // Load Image from a JPEG image file and then set it to an
image object. | |
205 // Parameters: | |
206 // pages - Pointers to the start of
all loaded pages, could be NULL. | |
207 // nCount - Number of pages, could b
e 0. | |
208 // image_object - Handle of image object returned
by FPDFPageObj_NewImgeObj. | |
209 // fileAccess - The custom file access h
andler, which specifies the JPEG image file. | |
210 // Return Value: | |
211 // TRUE if successful, FALSE otherwise. | |
212 // Note: | |
213 // The image object might already has an associated image,
which is shared and cached by the loaded pages, In this case, we need to clear t
he cache of image for all the loaded pages. | |
214 // Pass pages and count to this API to clear the image cach
e. | |
215 DLLEXPORT FPDF_BOOL STDCALL FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages, int nCou
nt,FPDF_PAGEOBJECT image_object, FPDF_FILEACCESS* fileAccess); | |
216 | |
217 | |
218 // Function: FPDFImageObj_SetMatrix | |
219 // Set the matrix of an image object. | |
220 // Parameters: | |
221 // image_object - Handle of image object returned
by FPDFPageObj_NewImgeObj. | |
222 // a - The coefficient
"a" of the matrix. | |
223 // b - The coefficient
"b" of the matrix. | |
224 // c - The coefficient
"c" of the matrix. | |
225 // d - The coefficient
"d" of the matrix. | |
226 // e - The coefficient
"e" of the matrix. | |
227 // f - The coefficient
"f" of the matrix. | |
228 // Return value: | |
229 // TRUE if successful, FALSE otherwise. | |
230 DLLEXPORT FPDF_BOOL STDCALL FPDFImageObj_SetMatrix(FPDF_PAGEOBJECT image_object, | |
231
double a, double b, double c, double d, double e, double f); | |
232 | |
233 // Function: FPDFImageObj_SetBitmap | |
234 // Set the bitmap to an image object. | |
235 // Parameters: | |
236 // pages - Pointer's to the start o
f all loaded pages. | |
237 // nCount - Number of pages. | |
238 // image_object - Handle of image object returned
by FPDFPageObj_NewImgeObj. | |
239 // bitmap - The handle of the bitmap
which you want to set it to the image object. | |
240 // Return value: | |
241 // TRUE if successful, FALSE otherwise. | |
242 DLLEXPORT FPDF_BOOL STDCALL FPDFImageObj_SetBitmap(FPDF_PAGE* pages,int nCount,F
PDF_PAGEOBJECT image_object, FPDF_BITMAP bitmap); | |
243 | |
244 #ifdef __cplusplus | |
245 } | |
246 #endif | |
247 #endif // _FPDFEDIT_H_ | |
OLD | NEW |