OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef PUBLIC_FPDF_DOC_H_ | 7 #ifndef PUBLIC_FPDF_DOC_H_ |
8 #define PUBLIC_FPDF_DOC_H_ | 8 #define PUBLIC_FPDF_DOC_H_ |
9 | 9 |
10 #include "fpdfview.h" | 10 #include "fpdfview.h" |
11 | 11 |
12 // Exported Functions | 12 // Exported Functions |
13 #ifdef __cplusplus | 13 #ifdef __cplusplus |
14 extern "C" { | 14 extern "C" { |
15 #endif | 15 #endif |
16 | 16 |
17 // Function: FPDFBookmark_GetFirstChild | 17 // Function: FPDFBookmark_GetFirstChild |
18 // Get the first child of a bookmark item, or the first top level bookm
ark item. | 18 // Get the first child of a bookmark item, or the first top level |
| 19 // bookmark item. |
19 // Parameters: | 20 // Parameters: |
20 // document - Handle to the document. Returned by FPDF_LoadDocumen
t or FPDF_LoadMemDocument. | 21 // document - Handle to the document. Returned by |
21 // bookmark - Handle to the current bookmark. Can be NULL if you w
ant to get the first top level item. | 22 // FPDF_LoadDocument or FPDF_LoadMemDocument. |
| 23 // bookmark - Handle to the current bookmark. Can be NULL if you |
| 24 // want to get the first top level item. |
22 // Return value: | 25 // Return value: |
23 // Handle to the first child or top level bookmark item. NULL if no chi
ld or top level bookmark found. | 26 // Handle to the first child or top level bookmark item. NULL if no |
| 27 // child or top level bookmark found. |
24 // | 28 // |
25 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_GetFirstChild(FPDF_DOCUMENT documen
t, FPDF_BOOKMARK bookmark); | 29 DLLEXPORT FPDF_BOOKMARK STDCALL |
| 30 FPDFBookmark_GetFirstChild(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark); |
26 | 31 |
27 // Function: FPDFBookmark_GetNextSibling | 32 // Function: FPDFBookmark_GetNextSibling |
28 // Get next bookmark item at the same level. | 33 // Get next bookmark item at the same level. |
29 // Parameters: | 34 // Parameters: |
30 // document - Handle to the document. Returned by FPDF_LoadDocumen
t or FPDF_LoadMemDocument. | 35 // document - Handle to the document. Returned by |
| 36 // FPDF_LoadDocument or FPDF_LoadMemDocument. |
31 // bookmark - Handle to the current bookmark. Cannot be NULL. | 37 // bookmark - Handle to the current bookmark. Cannot be NULL. |
32 // Return value: | 38 // Return value: |
33 // Handle to the next bookmark item at the same level. NULL if this is
the last bookmark at this level. | 39 // Handle to the next bookmark item at the same level. NULL if this is |
| 40 // the last bookmark at this level. |
34 // | 41 // |
35 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_GetNextSibling(FPDF_DOCUMENT docume
nt, FPDF_BOOKMARK bookmark); | 42 DLLEXPORT FPDF_BOOKMARK STDCALL |
| 43 FPDFBookmark_GetNextSibling(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark); |
36 | 44 |
37 // Function: FPDFBookmark_GetTitle | 45 // Function: FPDFBookmark_GetTitle |
38 // Get title of a bookmark. | 46 // Get title of a bookmark. |
39 // Parameters: | 47 // Parameters: |
40 // bookmark - Handle to the bookmark. | 48 // bookmark - Handle to the bookmark. |
41 // buffer - Buffer for the title. Can be NULL. | 49 // buffer - Buffer for the title. Can be NULL. |
42 // buflen - The length of the buffer in bytes. Can be 0. | 50 // buflen - The length of the buffer in bytes. Can be 0. |
43 // Return value: | 51 // Return value: |
44 // Number of bytes the title consumes, including trailing zeros. | 52 // Number of bytes the title consumes, including trailing zeros. |
45 // Comments: | 53 // Comments: |
46 // Regardless of the platform, the title is always in UTF-16LE encoding
. That means the buffer | 54 // Regardless of the platform, the title is always in UTF-16LE |
47 // can be treated as an array of WORD (on Intel and compatible CPUs), e
ach WORD representing the Unicode of | 55 // encoding. That means the buffer |
48 // a character(some special Unicode may take 2 WORDs).The string is fol
lowed by two bytes of zero | 56 // can be treated as an array of WORD (on Intel and compatible CPUs), |
| 57 // each WORD representing the Unicode of |
| 58 // a character(some special Unicode may take 2 WORDs).The string is |
| 59 // followed by two bytes of zero |
49 // indicating the end of the string. | 60 // indicating the end of the string. |
50 // | 61 // |
51 // The return value always indicates the number of bytes required for t
he buffer, even if no buffer is specified | 62 // The return value always indicates the number of bytes required for |
52 // or the buffer size is less then required. In these cases, the buffer
will not be modified. | 63 // the buffer, even if no buffer is specified |
| 64 // or the buffer size is less then required. In these cases, the buffer |
| 65 // will not be modified. |
53 // | 66 // |
54 DLLEXPORT unsigned long STDCALL FPDFBookmark_GetTitle(FPDF_BOOKMARK bookmark, vo
id* buffer, unsigned long buflen); | 67 DLLEXPORT unsigned long STDCALL FPDFBookmark_GetTitle(FPDF_BOOKMARK bookmark, |
| 68 void* buffer, |
| 69 unsigned long buflen); |
55 | 70 |
56 // Function: FPDFBookmark_Find | 71 // Function: FPDFBookmark_Find |
57 // Find a bookmark in the document, using the bookmark title. | 72 // Find a bookmark in the document, using the bookmark title. |
58 // Parameters: | 73 // Parameters: |
59 // document - Handle to the document. Returned by FPDF_LoadDocumen
t or FPDF_LoadMemDocument. | 74 // document - Handle to the document. Returned by |
60 // title - The UTF-16LE encoded Unicode string for the bookmark
title to be searched. Can't be NULL. | 75 // FPDF_LoadDocument or FPDF_LoadMemDocument. |
| 76 // title - The UTF-16LE encoded Unicode string for the bookmark |
| 77 // title to be searched. Can't be NULL. |
61 // Return value: | 78 // Return value: |
62 // Handle to the found bookmark item. NULL if the title can't be found. | 79 // Handle to the found bookmark item. NULL if the title can't be found. |
63 // Comments: | 80 // Comments: |
64 // It always returns the first found bookmark if more than one bookmark
s have the same title. | 81 // It always returns the first found bookmark if more than one |
| 82 // bookmarks have the same title. |
65 // | 83 // |
66 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_Find(FPDF_DOCUMENT document, FPDF_W
IDESTRING title); | 84 DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_Find(FPDF_DOCUMENT document, |
| 85 FPDF_WIDESTRING title); |
67 | 86 |
68 // Function: FPDFBookmark_GetDest | 87 // Function: FPDFBookmark_GetDest |
69 // Get the destination associated with a bookmark item. | 88 // Get the destination associated with a bookmark item. |
70 // Parameters: | 89 // Parameters: |
71 // document - Handle to the document. | 90 // document - Handle to the document. |
72 // bookmark - Handle to the bookmark. | 91 // bookmark - Handle to the bookmark. |
73 // Return value: | 92 // Return value: |
74 // Handle to the destination data. NULL if no destination is associated
with this bookmark. | 93 // Handle to the destination data. NULL if no destination is associated |
| 94 // with this bookmark. |
75 // | 95 // |
76 DLLEXPORT FPDF_DEST STDCALL FPDFBookmark_GetDest(FPDF_DOCUMENT document, FPDF_BO
OKMARK bookmark); | 96 DLLEXPORT FPDF_DEST STDCALL FPDFBookmark_GetDest(FPDF_DOCUMENT document, |
| 97 FPDF_BOOKMARK bookmark); |
77 | 98 |
78 // Function: FPDFBookmark_GetAction | 99 // Function: FPDFBookmark_GetAction |
79 // Get the action associated with a bookmark item. | 100 // Get the action associated with a bookmark item. |
80 // Parameters: | 101 // Parameters: |
81 // bookmark - Handle to the bookmark. | 102 // bookmark - Handle to the bookmark. |
82 // Return value: | 103 // Return value: |
83 // Handle to the action data. NULL if no action is associated with this
bookmark. In this case, the | 104 // Handle to the action data. NULL if no action is associated with this |
| 105 // bookmark. In this case, the |
84 // application should try FPDFBookmark_GetDest. | 106 // application should try FPDFBookmark_GetDest. |
85 // | 107 // |
86 DLLEXPORT FPDF_ACTION STDCALL FPDFBookmark_GetAction(FPDF_BOOKMARK bookmark); | 108 DLLEXPORT FPDF_ACTION STDCALL FPDFBookmark_GetAction(FPDF_BOOKMARK bookmark); |
87 | 109 |
88 #define PDFACTION_UNSUPPORTED 0 // Unsupported action type. | 110 #define PDFACTION_UNSUPPORTED 0 // Unsupported action type. |
89 #define PDFACTION_GOTO 1 // Go to a destination within curren
t document. | 111 #define PDFACTION_GOTO 1 // Go to a destination within current document. |
90 #define PDFACTION_REMOTEGOTO 2 // Go to a destination within anothe
r document. | 112 #define PDFACTION_REMOTEGOTO 2 // Go to a destination within another document. |
91 #define PDFACTION_URI 3 // Universal Resource Identifier, in
cluding web pages and | 113 #define PDFACTION_URI \ |
92 // other Internet based resources. | 114 3 // Universal Resource Identifier, including web pages and |
93 #define PDFACTION_LAUNCH 4 // Launch an application or open a f
ile. | 115 // other Internet based resources. |
| 116 #define PDFACTION_LAUNCH 4 // Launch an application or open a file. |
94 | 117 |
95 // Function: FPDFAction_GetType | 118 // Function: FPDFAction_GetType |
96 // Get type of an action. | 119 // Get type of an action. |
97 // Parameters: | 120 // Parameters: |
98 // action - Handle to the action. | 121 // action - Handle to the action. |
99 // Return value: | 122 // Return value: |
100 // A type number as defined above. | 123 // A type number as defined above. |
101 // | 124 // |
102 DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action); | 125 DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action); |
103 | 126 |
104 // Function: FPDFAction_GetDest | 127 // Function: FPDFAction_GetDest |
105 // Get destination of an action. | 128 // Get destination of an action. |
106 // Parameters: | 129 // Parameters: |
107 // document - Handle to the document. | 130 // document - Handle to the document. |
108 // action - Handle to the action. It must be a GOTO or REMOTEGOT
O action. | 131 // action - Handle to the action. It must be a GOTO or |
| 132 // REMOTEGOTO action. |
109 // Return value: | 133 // Return value: |
110 // Handle to the destination data. | 134 // Handle to the destination data. |
111 // Comments: | 135 // Comments: |
112 // In case of remote goto action, the application should first use FPDF
Action_GetFilePath to | 136 // In case of remote goto action, the application should first use |
113 // get file path, then load that particular document, and use its docum
ent handle to call this | 137 // FPDFAction_GetFilePath to |
| 138 // get file path, then load that particular document, and use its |
| 139 // document handle to call this |
114 // function. | 140 // function. |
115 // | 141 // |
116 DLLEXPORT FPDF_DEST STDCALL FPDFAction_GetDest(FPDF_DOCUMENT document, FPDF_ACTI
ON action); | 142 DLLEXPORT FPDF_DEST STDCALL FPDFAction_GetDest(FPDF_DOCUMENT document, |
| 143 FPDF_ACTION action); |
117 | 144 |
118 // Function: FPDFAction_GetURIPath | 145 // Function: FPDFAction_GetURIPath |
119 // Get URI path of a URI action. | 146 // Get URI path of a URI action. |
120 // Parameters: | 147 // Parameters: |
121 // document - Handle to the document. | 148 // document - Handle to the document. |
122 // action - Handle to the action. Must be a URI action. | 149 // action - Handle to the action. Must be a URI action. |
123 // buffer - A buffer for output the path string. Can be NULL. | 150 // buffer - A buffer for output the path string. Can be NULL. |
124 // buflen - The length of the buffer, number of bytes. Can be 0. | 151 // buflen - The length of the buffer, number of bytes. Can be 0. |
125 // Return value: | 152 // Return value: |
126 // Number of bytes the URI path consumes, including trailing zeros. | 153 // Number of bytes the URI path consumes, including trailing zeros. |
127 // Comments: | 154 // Comments: |
128 // The URI path is always encoded in 7-bit ASCII. | 155 // The URI path is always encoded in 7-bit ASCII. |
129 // | 156 // |
130 // The return value always indicated number of bytes required for the b
uffer, even when there is | 157 // The return value always indicated number of bytes required for the |
131 // no buffer specified, or the buffer size is less then required. In th
is case, the buffer will not | 158 // buffer, even when there is |
| 159 // no buffer specified, or the buffer size is less then required. In |
| 160 // this case, the buffer will not |
132 // be modified. | 161 // be modified. |
133 // | 162 // |
134 DLLEXPORT unsigned long STDCALL FPDFAction_GetURIPath(FPDF_DOCUMENT document, FP
DF_ACTION action, | 163 DLLEXPORT unsigned long STDCALL FPDFAction_GetURIPath(FPDF_DOCUMENT document, |
135 void* buffer, unsigned lon
g buflen); | 164 FPDF_ACTION action, |
| 165 void* buffer, |
| 166 unsigned long buflen); |
136 | 167 |
137 // Function: FPDFDest_GetPageIndex | 168 // Function: FPDFDest_GetPageIndex |
138 // Get page index of a destination. | 169 // Get page index of a destination. |
139 // Parameters: | 170 // Parameters: |
140 // document - Handle to the document. | 171 // document - Handle to the document. |
141 // dest - Handle to the destination. | 172 // dest - Handle to the destination. |
142 // Return value: | 173 // Return value: |
143 // The page index. Starting from 0 for the first page. | 174 // The page index. Starting from 0 for the first page. |
144 // | 175 // |
145 DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document, FP
DF_DEST dest); | 176 DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document, |
| 177 FPDF_DEST dest); |
146 | 178 |
147 // Function: FPDFLink_GetLinkAtPoint | 179 // Function: FPDFLink_GetLinkAtPoint |
148 // Find a link at specified point on a document page. | 180 // Find a link at specified point on a document page. |
149 // Parameters: | 181 // Parameters: |
150 // page - Handle to the document page. | 182 // page - Handle to the document page. |
151 // x - The x coordinate of the point, specified in page coo
rdinate system. | 183 // x - The x coordinate of the point, specified in page |
152 // y - The y coordinate of the point, specified in page coo
rdinate system. | 184 // coordinate system. |
| 185 // y - The y coordinate of the point, specified in page |
| 186 // coordinate system. |
153 // Return value: | 187 // Return value: |
154 // Handle to the link. NULL if no link found at that point. | 188 // Handle to the link. NULL if no link found at that point. |
155 // Comments: | 189 // Comments: |
156 // The point coordinates are specified in page coordinate system. You c
an convert coordinates | 190 // The point coordinates are specified in page coordinate system. You |
| 191 // can convert coordinates |
157 // from screen system to page system using FPDF_DeviceToPage functions. | 192 // from screen system to page system using FPDF_DeviceToPage functions. |
158 // | 193 // |
159 DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, do
uble y); | 194 DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, |
| 195 double x, |
| 196 double y); |
160 | 197 |
161 // Function: FPDFLink_GetDest | 198 // Function: FPDFLink_GetDest |
162 // Get destination info of a link. | 199 // Get destination info of a link. |
163 // Parameters: | 200 // Parameters: |
164 // document - Handle to the document. | 201 // document - Handle to the document. |
165 // link - Handle to the link. Returned by FPDFLink_GetLinkAtPo
int. | 202 // link - Handle to the link. Returned by |
| 203 // FPDFLink_GetLinkAtPoint. |
166 // Return value: | 204 // Return value: |
167 // Handle to the destination. NULL if there is no destination associate
d with the link, in this case | 205 // Handle to the destination. NULL if there is no destination |
| 206 // associated with the link, in this case |
168 // the application should try FPDFLink_GetAction. | 207 // the application should try FPDFLink_GetAction. |
169 // | 208 // |
170 DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, FPDF_LINK l
ink); | 209 DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, |
| 210 FPDF_LINK link); |
171 | 211 |
172 // Function: FPDFLink_GetAction | 212 // Function: FPDFLink_GetAction |
173 // Get action info of a link. | 213 // Get action info of a link. |
174 // Parameters: | 214 // Parameters: |
175 // link - Handle to the link. | 215 // link - Handle to the link. |
176 // Return value: | 216 // Return value: |
177 // Handle to the action. NULL if there is no action associated with the
link. | 217 // Handle to the action. NULL if there is no action associated with the |
| 218 // link. |
178 // | 219 // |
179 DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK link); | 220 DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK link); |
180 | 221 |
181 // Function: FPDFLink_Enumerate | 222 // Function: FPDFLink_Enumerate |
182 // This function would enumerate all the link annotations in a single P
DF page. | 223 // This function would enumerate all the link annotations in a single |
| 224 // PDF page. |
183 // Parameters: | 225 // Parameters: |
184 // page[in] - Handle to the page. | 226 // page[in] - Handle to the page. |
185 // startPos[in,out] - The start position to enumerate the link ann
otations, which should be specified to start from | 227 // startPos[in,out] - The start position to enumerate the link |
186 // - 0 for the first call, and would receive the
next position for enumerating to start from. | 228 // annotations, which should be specified to start from |
| 229 // - 0 for the first call, and would receive the |
| 230 // next position for enumerating to start from. |
187 // linkAnnot[out] - Receive the link handle. | 231 // linkAnnot[out] - Receive the link handle. |
188 // Return value: | 232 // Return value: |
189 // TRUE if succceed, else False; | 233 // TRUE if succceed, else False; |
190 // | 234 // |
191 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page, int* startPos, FP
DF_LINK* linkAnnot); | 235 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page, |
| 236 int* startPos, |
| 237 FPDF_LINK* linkAnnot); |
192 | 238 |
193 // Function: FPDFLink_GetAnnotRect | 239 // Function: FPDFLink_GetAnnotRect |
194 // Get the annotation rectangle. (Specified by the ¡°Rect¡± entry of an
notation dictionary). | 240 // Get the annotation rectangle. (Specified by the ¡°Rect¡± entry of |
| 241 // annotation dictionary). |
195 // Parameters: | 242 // Parameters: |
196 // linkAnnot[in] - Handle to the link annotation. | 243 // linkAnnot[in] - Handle to the link annotation. |
197 // rect[out] - The annotation rect. | 244 // rect[out] - The annotation rect. |
198 // Return value: | 245 // Return value: |
199 // TRUE if succceed, else False; | 246 // TRUE if succceed, else False; |
200 // | 247 // |
201 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetAnnotRect(FPDF_LINK linkAnnot, FS_RECTF*
rect); | 248 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetAnnotRect(FPDF_LINK linkAnnot, |
| 249 FS_RECTF* rect); |
202 | 250 |
203 // Function: FPDFLink_CountQuadPoints | 251 // Function: FPDFLink_CountQuadPoints |
204 // Get the count of quadrilateral points to the link annotation. | 252 // Get the count of quadrilateral points to the link annotation. |
205 // Parameters: | 253 // Parameters: |
206 // linkAnnot[in] - Handle to the link annotation. | 254 // linkAnnot[in] - Handle to the link annotation. |
207 // Return value: | 255 // Return value: |
208 // The count of quadrilateral points. | 256 // The count of quadrilateral points. |
209 // | 257 // |
210 DLLEXPORT int STDCALL FPDFLink_CountQuadPoints(FPDF_LINK linkAnnot); | 258 DLLEXPORT int STDCALL FPDFLink_CountQuadPoints(FPDF_LINK linkAnnot); |
211 | 259 |
212 /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ | 260 /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ |
213 #ifndef _FS_DEF_STRUCTURE_QUADPOINTSF_ | 261 #ifndef _FS_DEF_STRUCTURE_QUADPOINTSF_ |
214 #define _FS_DEF_STRUCTURE_QUADPOINTSF_ | 262 #define _FS_DEF_STRUCTURE_QUADPOINTSF_ |
215 typedef struct _FS_QUADPOINTSF | 263 typedef struct _FS_QUADPOINTSF { |
216 { | 264 FS_FLOAT x1; |
217 FS_FLOAT x1; | 265 FS_FLOAT y1; |
218 FS_FLOAT y1; | 266 FS_FLOAT x2; |
219 FS_FLOAT x2; | 267 FS_FLOAT y2; |
220 FS_FLOAT y2; | 268 FS_FLOAT x3; |
221 FS_FLOAT x3; | 269 FS_FLOAT y3; |
222 FS_FLOAT y3; | 270 FS_FLOAT x4; |
223 FS_FLOAT x4; | 271 FS_FLOAT y4; |
224 FS_FLOAT y4; | |
225 } FS_QUADPOINTSF; | 272 } FS_QUADPOINTSF; |
226 #endif /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ | 273 #endif /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ |
227 | 274 |
228 // Function: FPDFLink_GetQuadPoints | 275 // Function: FPDFLink_GetQuadPoints |
229 // Get the quadrilateral points for the specified index in the link ann
otation. | 276 // Get the quadrilateral points for the specified index in the link |
| 277 // annotation. |
230 // Parameters: | 278 // Parameters: |
231 // linkAnnot[in] - Handle to the link annotation. | 279 // linkAnnot[in] - Handle to the link annotation. |
232 // quadIndex[in] - The specified quad points index. | 280 // quadIndex[in] - The specified quad points index. |
233 // quadPoints[out] - Receive the quadrilateral points. | 281 // quadPoints[out] - Receive the quadrilateral points. |
234 // Return value: | 282 // Return value: |
235 // True if succeed, else False. | 283 // True if succeed, else False. |
236 // | 284 // |
237 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetQuadPoints(FPDF_LINK linkAnnot, int quad
Index, FS_QUADPOINTSF* quadPoints); | 285 DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetQuadPoints(FPDF_LINK linkAnnot, |
| 286 int quadIndex, |
| 287 FS_QUADPOINTSF* quadPoints); |
238 | 288 |
239 // Function: FPDF_GetMetaText | 289 // Function: FPDF_GetMetaText |
240 // Get a text from meta data of the document. Result is encoded in UTF-
16LE. | 290 // Get a text from meta data of the document. Result is encoded in |
| 291 // UTF-16LE. |
241 // Parameters: | 292 // Parameters: |
242 // doc - Handle to a document | 293 // doc - Handle to a document |
243 // tag - The tag for the meta data. Currently, It can be "Tit
le", "Author", | 294 // tag - The tag for the meta data. Currently, It can be |
244 // "Subject", "Keywords", "Creator", "Producer", "Creat
ionDate", or "ModDate". | 295 // "Title", "Author", |
245 // For detailed explanation of these tags and their res
pective values, | 296 // "Subject", "Keywords", "Creator", "Producer", |
246 // please refer to PDF Reference 1.6, section 10.2.1, "
Document Information Dictionary". | 297 // "CreationDate", or "ModDate". |
| 298 // For detailed explanation of these tags and their |
| 299 // respective values, |
| 300 // please refer to PDF Reference 1.6, section 10.2.1, |
| 301 // "Document Information Dictionary". |
247 // buffer - A buffer for output the title. Can be NULL. | 302 // buffer - A buffer for output the title. Can be NULL. |
248 // buflen - The length of the buffer, number of bytes. Can be 0. | 303 // buflen - The length of the buffer, number of bytes. Can be 0. |
249 // Return value: | 304 // Return value: |
250 // Number of bytes the title consumes, including trailing zeros. | 305 // Number of bytes the title consumes, including trailing zeros. |
251 // Comments: | 306 // Comments: |
252 // No matter on what platform, the title is always output in UTF-16LE e
ncoding, which means the buffer | 307 // No matter on what platform, the title is always output in UTF-16LE |
253 // can be regarded as an array of WORD (on Intel and compatible CPUs),
each WORD represent the Unicode of | 308 // encoding, which means the buffer |
254 // a character (some special Unicode may take 2 WORDs). The string is f
ollowed by two bytes of zero | 309 // can be regarded as an array of WORD (on Intel and compatible CPUs), |
| 310 // each WORD represent the Unicode of |
| 311 // a character (some special Unicode may take 2 WORDs). The string is |
| 312 // followed by two bytes of zero |
255 // indicating end of the string. | 313 // indicating end of the string. |
256 // | 314 // |
257 // The return value always indicated number of bytes required for the b
uffer, even when there is | 315 // The return value always indicated number of bytes required for the |
258 // no buffer specified, or the buffer size is less then required. In th
is case, the buffer will not | 316 // buffer, even when there is |
| 317 // no buffer specified, or the buffer size is less then required. In |
| 318 // this case, the buffer will not |
259 // be modified. | 319 // be modified. |
260 // | 320 // |
261 DLLEXPORT unsigned long STDCALL FPDF_GetMetaText(FPDF_DOCUMENT doc, FPDF_BYTESTR
ING tag, | 321 DLLEXPORT unsigned long STDCALL FPDF_GetMetaText(FPDF_DOCUMENT doc, |
262 void* buffer, unsigned long buf
len); | 322 FPDF_BYTESTRING tag, |
263 | 323 void* buffer, |
| 324 unsigned long buflen); |
264 | 325 |
265 #ifdef __cplusplus | 326 #ifdef __cplusplus |
266 } | 327 } |
267 #endif | 328 #endif |
268 | 329 |
269 #endif // PUBLIC_FPDF_DOC_H_ | 330 #endif // PUBLIC_FPDF_DOC_H_ |
OLD | NEW |