blob: 9e3f0af6d156c620910ee6e98b4947903cdbfeb3 [file] [log] [blame]
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07001// 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.
Tom Sepez9857e202015-05-13 17:09:26 -07004
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07005// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
Tom Sepez9857e202015-05-13 17:09:26 -07007#ifndef PUBLIC_FPDF_DOC_H_
8#define PUBLIC_FPDF_DOC_H_
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07009
10#include "fpdfview.h"
11
12// Exported Functions
13#ifdef __cplusplus
14extern "C" {
15#endif
16
Bo Xu4d62b6b2015-01-10 22:52:59 -080017// Function: FPDFBookmark_GetFirstChild
Nico Weber9d8ec5a2015-08-04 13:00:21 -070018// Get the first child of a bookmark item, or the first top level
19// bookmark item.
Bo Xu4d62b6b2015-01-10 22:52:59 -080020// Parameters:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070021// document - Handle to the document. Returned by
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.
Bo Xu4d62b6b2015-01-10 22:52:59 -080025// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070026// Handle to the first child or top level bookmark item. NULL if no
27// child or top level bookmark found.
Bo Xu4d62b6b2015-01-10 22:52:59 -080028//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070029DLLEXPORT FPDF_BOOKMARK STDCALL
30FPDFBookmark_GetFirstChild(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark);
Bo Xu4d62b6b2015-01-10 22:52:59 -080031
32// Function: FPDFBookmark_GetNextSibling
Tom Sepez9857e202015-05-13 17:09:26 -070033// Get next bookmark item at the same level.
Bo Xu4d62b6b2015-01-10 22:52:59 -080034// Parameters:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070035// document - Handle to the document. Returned by
36// FPDF_LoadDocument or FPDF_LoadMemDocument.
Tom Sepez9857e202015-05-13 17:09:26 -070037// bookmark - Handle to the current bookmark. Cannot be NULL.
Bo Xu4d62b6b2015-01-10 22:52:59 -080038// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070039// Handle to the next bookmark item at the same level. NULL if this is
40// the last bookmark at this level.
Bo Xu4d62b6b2015-01-10 22:52:59 -080041//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070042DLLEXPORT FPDF_BOOKMARK STDCALL
43FPDFBookmark_GetNextSibling(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark);
Bo Xu4d62b6b2015-01-10 22:52:59 -080044
45// Function: FPDFBookmark_GetTitle
Tom Sepez9857e202015-05-13 17:09:26 -070046// Get title of a bookmark.
Bo Xu4d62b6b2015-01-10 22:52:59 -080047// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -070048// bookmark - Handle to the bookmark.
49// buffer - Buffer for the title. Can be NULL.
Bo Xu4d62b6b2015-01-10 22:52:59 -080050// buflen - The length of the buffer in bytes. Can be 0.
51// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -070052// Number of bytes the title consumes, including trailing zeros.
Bo Xu4d62b6b2015-01-10 22:52:59 -080053// Comments:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070054// Regardless of the platform, the title is always in UTF-16LE
55// encoding. That means the buffer
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
Bo Xu4d62b6b2015-01-10 22:52:59 -080060// indicating the end of the string.
61//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070062// The return value always indicates the number of bytes required for
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.
Bo Xu4d62b6b2015-01-10 22:52:59 -080066//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070067DLLEXPORT unsigned long STDCALL FPDFBookmark_GetTitle(FPDF_BOOKMARK bookmark,
68 void* buffer,
69 unsigned long buflen);
Bo Xu4d62b6b2015-01-10 22:52:59 -080070
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070071// Function: FPDFBookmark_Find
Tom Sepez9857e202015-05-13 17:09:26 -070072// Find a bookmark in the document, using the bookmark title.
73// Parameters:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070074// document - Handle to the document. Returned by
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.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070078// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -070079// Handle to the found bookmark item. NULL if the title can't be found.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070080// Comments:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070081// It always returns the first found bookmark if more than one
82// bookmarks have the same title.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070083//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070084DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_Find(FPDF_DOCUMENT document,
85 FPDF_WIDESTRING title);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070086
87// Function: FPDFBookmark_GetDest
Tom Sepez9857e202015-05-13 17:09:26 -070088// Get the destination associated with a bookmark item.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070089// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -070090// document - Handle to the document.
91// bookmark - Handle to the bookmark.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070092// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -070093// Handle to the destination data. NULL if no destination is associated
94// with this bookmark.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070095//
Nico Weber9d8ec5a2015-08-04 13:00:21 -070096DLLEXPORT FPDF_DEST STDCALL FPDFBookmark_GetDest(FPDF_DOCUMENT document,
97 FPDF_BOOKMARK bookmark);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070098
99// Function: FPDFBookmark_GetAction
Tom Sepez9857e202015-05-13 17:09:26 -0700100// Get the action associated with a bookmark item.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700101// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700102// bookmark - Handle to the bookmark.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700103// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700104// Handle to the action data. NULL if no action is associated with this
105// bookmark. In this case, the
Tom Sepez9857e202015-05-13 17:09:26 -0700106// application should try FPDFBookmark_GetDest.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700107//
108DLLEXPORT FPDF_ACTION STDCALL FPDFBookmark_GetAction(FPDF_BOOKMARK bookmark);
109
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700110#define PDFACTION_UNSUPPORTED 0 // Unsupported action type.
111#define PDFACTION_GOTO 1 // Go to a destination within current document.
112#define PDFACTION_REMOTEGOTO 2 // Go to a destination within another document.
113#define PDFACTION_URI \
114 3 // Universal Resource Identifier, including web pages and
115 // other Internet based resources.
116#define PDFACTION_LAUNCH 4 // Launch an application or open a file.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700117
118// Function: FPDFAction_GetType
Tom Sepez9857e202015-05-13 17:09:26 -0700119// Get type of an action.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700120// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700121// action - Handle to the action.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700122// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700123// A type number as defined above.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700124//
125DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action);
126
127// Function: FPDFAction_GetDest
Tom Sepez9857e202015-05-13 17:09:26 -0700128// Get destination of an action.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700129// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700130// document - Handle to the document.
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700131// action - Handle to the action. It must be a GOTO or
132// REMOTEGOTO action.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700133// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700134// Handle to the destination data.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700135// Comments:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700136// In case of remote goto action, the application should first use
137// FPDFAction_GetFilePath to
138// get file path, then load that particular document, and use its
139// document handle to call this
Tom Sepez9857e202015-05-13 17:09:26 -0700140// function.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700141//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700142DLLEXPORT FPDF_DEST STDCALL FPDFAction_GetDest(FPDF_DOCUMENT document,
143 FPDF_ACTION action);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700144
145// Function: FPDFAction_GetURIPath
Tom Sepez9857e202015-05-13 17:09:26 -0700146// Get URI path of a URI action.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700147// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700148// document - Handle to the document.
149// action - Handle to the action. Must be a URI action.
150// buffer - A buffer for output the path string. Can be NULL.
151// buflen - The length of the buffer, number of bytes. Can be 0.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700152// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700153// Number of bytes the URI path consumes, including trailing zeros.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700154// Comments:
Tom Sepez9857e202015-05-13 17:09:26 -0700155// The URI path is always encoded in 7-bit ASCII.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700156//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700157// The return value always indicated number of bytes required for the
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
Tom Sepez9857e202015-05-13 17:09:26 -0700161// be modified.
162//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700163DLLEXPORT unsigned long STDCALL FPDFAction_GetURIPath(FPDF_DOCUMENT document,
164 FPDF_ACTION action,
165 void* buffer,
166 unsigned long buflen);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700167
168// Function: FPDFDest_GetPageIndex
Tom Sepez9857e202015-05-13 17:09:26 -0700169// Get page index of a destination.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700170// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700171// document - Handle to the document.
172// dest - Handle to the destination.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700173// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700174// The page index. Starting from 0 for the first page.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700175//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700176DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document,
177 FPDF_DEST dest);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700178
179// Function: FPDFLink_GetLinkAtPoint
Tom Sepez9857e202015-05-13 17:09:26 -0700180// Find a link at specified point on a document page.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700181// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700182// page - Handle to the document page.
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700183// x - The x coordinate of the point, specified in page
184// coordinate system.
185// y - The y coordinate of the point, specified in page
186// coordinate system.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700187// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700188// Handle to the link. NULL if no link found at that point.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700189// Comments:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700190// The point coordinates are specified in page coordinate system. You
191// can convert coordinates
Tom Sepez9857e202015-05-13 17:09:26 -0700192// from screen system to page system using FPDF_DeviceToPage functions.
Bo Xufdc00a72014-10-28 23:03:33 -0700193// Notes:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700194// The method can not support this feature for the document consists of
195// dynamic XFA fields.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700196//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700197DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page,
198 double x,
199 double y);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700200
201// Function: FPDFLink_GetDest
Tom Sepez9857e202015-05-13 17:09:26 -0700202// Get destination info of a link.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700203// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700204// document - Handle to the document.
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700205// link - Handle to the link. Returned by
206// FPDFLink_GetLinkAtPoint.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700207// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700208// Handle to the destination. NULL if there is no destination
209// associated with the link, in this case
Tom Sepez9857e202015-05-13 17:09:26 -0700210// the application should try FPDFLink_GetAction.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700211//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700212DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document,
213 FPDF_LINK link);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700214
215// Function: FPDFLink_GetAction
Tom Sepez9857e202015-05-13 17:09:26 -0700216// Get action info of a link.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700217// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700218// link - Handle to the link.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700219// Return value:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700220// Handle to the action. NULL if there is no action associated with the
221// link.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700222//
223DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK link);
224
225// Function: FPDFLink_Enumerate
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700226// This function would enumerate all the link annotations in a single
227// PDF page.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700228// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700229// page[in] - Handle to the page.
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700230// startPos[in,out] - The start position to enumerate the link
231// annotations, which should be specified to start from
232// - 0 for the first call, and would receive the
233// next position for enumerating to start from.
Tom Sepez9857e202015-05-13 17:09:26 -0700234// linkAnnot[out] - Receive the link handle.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700235// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700236// TRUE if succceed, else False;
Bo Xufdc00a72014-10-28 23:03:33 -0700237// Notes:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700238// The method can not support this feature for the document consists of
239// dynamic XFA fields.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700240//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700241DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page,
242 int* startPos,
243 FPDF_LINK* linkAnnot);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700244
245// Function: FPDFLink_GetAnnotRect
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700246// Get the annotation rectangle. (Specified by the ¡°Rect¡± entry of
247// annotation dictionary).
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700248// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700249// linkAnnot[in] - Handle to the link annotation.
250// rect[out] - The annotation rect.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700251// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700252// TRUE if succceed, else False;
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700253//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700254DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetAnnotRect(FPDF_LINK linkAnnot,
255 FS_RECTF* rect);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700256
257// Function: FPDFLink_CountQuadPoints
Tom Sepez9857e202015-05-13 17:09:26 -0700258// Get the count of quadrilateral points to the link annotation.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700259// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700260// linkAnnot[in] - Handle to the link annotation.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700261// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700262// The count of quadrilateral points.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700263//
264DLLEXPORT int STDCALL FPDFLink_CountQuadPoints(FPDF_LINK linkAnnot);
265
266/* _FS_DEF_STRUCTURE_QUADPOINTSF_ */
267#ifndef _FS_DEF_STRUCTURE_QUADPOINTSF_
268#define _FS_DEF_STRUCTURE_QUADPOINTSF_
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700269typedef struct _FS_QUADPOINTSF {
270 FS_FLOAT x1;
271 FS_FLOAT y1;
272 FS_FLOAT x2;
273 FS_FLOAT y2;
274 FS_FLOAT x3;
275 FS_FLOAT y3;
276 FS_FLOAT x4;
277 FS_FLOAT y4;
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700278} FS_QUADPOINTSF;
279#endif /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */
280
281// Function: FPDFLink_GetQuadPoints
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700282// Get the quadrilateral points for the specified index in the link
283// annotation.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700284// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700285// linkAnnot[in] - Handle to the link annotation.
286// quadIndex[in] - The specified quad points index.
287// quadPoints[out] - Receive the quadrilateral points.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700288// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700289// True if succeed, else False.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700290//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700291DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetQuadPoints(FPDF_LINK linkAnnot,
292 int quadIndex,
293 FS_QUADPOINTSF* quadPoints);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700294
295// Function: FPDF_GetMetaText
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700296// Get a text from meta data of the document. Result is encoded in
297// UTF-16LE.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700298// Parameters:
Tom Sepez9857e202015-05-13 17:09:26 -0700299// doc - Handle to a document
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700300// tag - The tag for the meta data. Currently, It can be
301// "Title", "Author",
302// "Subject", "Keywords", "Creator", "Producer",
303// "CreationDate", or "ModDate".
304// For detailed explanation of these tags and their
305// respective values,
306// please refer to PDF Reference 1.6, section 10.2.1,
307// "Document Information Dictionary".
Tom Sepez9857e202015-05-13 17:09:26 -0700308// buffer - A buffer for output the title. Can be NULL.
309// buflen - The length of the buffer, number of bytes. Can be 0.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700310// Return value:
Tom Sepez9857e202015-05-13 17:09:26 -0700311// Number of bytes the title consumes, including trailing zeros.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700312// Comments:
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700313// No matter on what platform, the title is always output in UTF-16LE
314// encoding, which means the buffer
315// can be regarded as an array of WORD (on Intel and compatible CPUs),
316// each WORD represent the Unicode of
317// a character (some special Unicode may take 2 WORDs). The string is
318// followed by two bytes of zero
Tom Sepez9857e202015-05-13 17:09:26 -0700319// indicating end of the string.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700320//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700321// The return value always indicated number of bytes required for the
322// buffer, even when there is
323// no buffer specified, or the buffer size is less then required. In
324// this case, the buffer will not
Tom Sepez9857e202015-05-13 17:09:26 -0700325// be modified.
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700326//
Nico Weber9d8ec5a2015-08-04 13:00:21 -0700327DLLEXPORT unsigned long STDCALL FPDF_GetMetaText(FPDF_DOCUMENT doc,
328 FPDF_BYTESTRING tag,
329 void* buffer,
330 unsigned long buflen);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700331
332#ifdef __cplusplus
Tom Sepez9857e202015-05-13 17:09:26 -0700333}
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -0700334#endif
335
Tom Sepez9857e202015-05-13 17:09:26 -0700336#endif // PUBLIC_FPDF_DOC_H_