Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
fpdf_edit.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
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 PUBLIC_FPDF_EDIT_H_
8#define PUBLIC_FPDF_EDIT_H_
9
10#include <stdint.h>
11
12// NOLINTNEXTLINE(build/include)
13#include "fpdfview.h"
14
15#define FPDF_ARGB(a, r, g, b)
16 ((uint32_t)(((uint32_t)(b)&0xff) | (((uint32_t)(g)&0xff) << 8) |
17 (((uint32_t)(r)&0xff) << 16) | (((uint32_t)(a)&0xff) << 24)))
18#define FPDF_GetBValue(argb) ((uint8_t)(argb))
19#define FPDF_GetGValue(argb) ((uint8_t)(((uint16_t)(argb)) >> 8))
20#define FPDF_GetRValue(argb) ((uint8_t)((argb) >> 16))
21#define FPDF_GetAValue(argb) ((uint8_t)((argb) >> 24))
22
23// Refer to PDF Reference version 1.7 table 4.12 for all color space families.
24#define FPDF_COLORSPACE_UNKNOWN 0
25#define FPDF_COLORSPACE_DEVICEGRAY 1
26#define FPDF_COLORSPACE_DEVICERGB 2
27#define FPDF_COLORSPACE_DEVICECMYK 3
28#define FPDF_COLORSPACE_CALGRAY 4
29#define FPDF_COLORSPACE_CALRGB 5
30#define FPDF_COLORSPACE_LAB 6
31#define FPDF_COLORSPACE_ICCBASED 7
32#define FPDF_COLORSPACE_SEPARATION 8
33#define FPDF_COLORSPACE_DEVICEN 9
34#define FPDF_COLORSPACE_INDEXED 10
35#define FPDF_COLORSPACE_PATTERN 11
36
37// The page object constants.
38#define FPDF_PAGEOBJ_UNKNOWN 0
39#define FPDF_PAGEOBJ_TEXT 1
40#define FPDF_PAGEOBJ_PATH 2
41#define FPDF_PAGEOBJ_IMAGE 3
42#define FPDF_PAGEOBJ_SHADING 4
43#define FPDF_PAGEOBJ_FORM 5
44
45// The path segment constants.
46#define FPDF_SEGMENT_UNKNOWN -1
47#define FPDF_SEGMENT_LINETO 0
48#define FPDF_SEGMENT_BEZIERTO 1
49#define FPDF_SEGMENT_MOVETO 2
50
51#define FPDF_FILLMODE_NONE 0
52#define FPDF_FILLMODE_ALTERNATE 1
53#define FPDF_FILLMODE_WINDING 2
54
55#define FPDF_FONT_TYPE1 1
56#define FPDF_FONT_TRUETYPE 2
57
58#define FPDF_LINECAP_BUTT 0
59#define FPDF_LINECAP_ROUND 1
60#define FPDF_LINECAP_PROJECTING_SQUARE 2
61
62#define FPDF_LINEJOIN_MITER 0
63#define FPDF_LINEJOIN_ROUND 1
64#define FPDF_LINEJOIN_BEVEL 2
65
66// See FPDF_SetPrintMode() for descriptions.
67#define FPDF_PRINTMODE_EMF 0
68#define FPDF_PRINTMODE_TEXTONLY 1
69#define FPDF_PRINTMODE_POSTSCRIPT2 2
70#define FPDF_PRINTMODE_POSTSCRIPT3 3
71#define FPDF_PRINTMODE_POSTSCRIPT2_PASSTHROUGH 4
72#define FPDF_PRINTMODE_POSTSCRIPT3_PASSTHROUGH 5
73#define FPDF_PRINTMODE_EMF_IMAGE_MASKS 6
74#define FPDF_PRINTMODE_POSTSCRIPT3_TYPE42 7
75#define FPDF_PRINTMODE_POSTSCRIPT3_TYPE42_PASSTHROUGH 8
76
77typedef struct FPDF_IMAGEOBJ_METADATA {
78 // The image width in pixels.
79 unsigned int width;
80 // The image height in pixels.
81 unsigned int height;
82 // The image's horizontal pixel-per-inch.
84 // The image's vertical pixel-per-inch.
86 // The number of bits used to represent each pixel.
87 unsigned int bits_per_pixel;
88 // The image's colorspace. See above for the list of FPDF_COLORSPACE_*.
90 // The image's marked content ID. Useful for pairing with associated alt-text.
91 // A value of -1 indicates no ID.
93} FPDF_IMAGEOBJ_METADATA;
94
95#ifdef __cplusplus
96extern "C" {
97#endif // __cplusplus
98
99// Create a new PDF document.
100//
101// Returns a handle to a new document, or NULL on failure.
103
104// Create a new PDF page.
105//
106// document - handle to document.
107// page_index - suggested 0-based index of the page to create. If it is larger
108// than document's current last index(L), the created page index
109// is the next available index -- L+1.
110// width - the page width in points.
111// height - the page height in points.
112//
113// Returns the handle to the new page or NULL on failure.
114//
115// The page should be closed with FPDF_ClosePage() when finished as
116// with any other page in the document.
117FPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDFPage_New(FPDF_DOCUMENT document,
118 int page_index,
119 double width,
120 double height);
121
122// Delete the page at |page_index|.
123//
124// document - handle to document.
125// page_index - the index of the page to delete.
126FPDF_EXPORT void FPDF_CALLCONV FPDFPage_Delete(FPDF_DOCUMENT document,
127 int page_index);
128
129// Experimental API.
130// Move the given pages to a new index position.
131//
132// page_indices - the ordered list of pages to move. No duplicates allowed.
133// page_indices_len - the number of elements in |page_indices|
134// dest_page_index - the new index position to which the pages in
135// |page_indices| are moved.
136//
137// Returns TRUE on success. If it returns FALSE, the document may be left in an
138// indeterminate state.
139//
140// Example: The PDF document starts out with pages [A, B, C, D], with indices
141// [0, 1, 2, 3].
142//
143// > Move(doc, [3, 2], 2, 1); // returns true
144// > // The document has pages [A, D, C, B].
145// >
146// > Move(doc, [0, 4, 3], 3, 1); // returns false
147// > // Returned false because index 4 is out of range.
148// >
149// > Move(doc, [0, 3, 1], 3, 2); // returns false
150// > // Returned false because index 2 is out of range for 3 page indices.
151// >
152// > Move(doc, [2, 2], 2, 0); // returns false
153// > // Returned false because [2, 2] contains duplicates.
154//
156FPDF_MovePages(FPDF_DOCUMENT document,
157 const int* page_indices,
158 unsigned long page_indices_len,
159 int dest_page_index);
160
161// Get the rotation of |page|.
162//
163// page - handle to a page
164//
165// Returns one of the following indicating the page rotation:
166// 0 - No rotation.
167// 1 - Rotated 90 degrees clockwise.
168// 2 - Rotated 180 degrees clockwise.
169// 3 - Rotated 270 degrees clockwise.
171
172// Set rotation for |page|.
173//
174// page - handle to a page.
175// rotate - the rotation value, one of:
176// 0 - No rotation.
177// 1 - Rotated 90 degrees clockwise.
178// 2 - Rotated 180 degrees clockwise.
179// 3 - Rotated 270 degrees clockwise.
180FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetRotation(FPDF_PAGE page, int rotate);
181
182// Insert |page_object| into |page|.
183//
184// page - handle to a page
185// page_object - handle to a page object. The |page_object| will be
186// automatically freed.
188FPDFPage_InsertObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object);
189
190// Experimental API.
191// Remove |page_object| from |page|.
192//
193// page - handle to a page
194// page_object - handle to a page object to be removed.
195//
196// Returns TRUE on success.
197//
198// Ownership is transferred to the caller. Call FPDFPageObj_Destroy() to free
199// it.
200// Note that when removing a |page_object| of type FPDF_PAGEOBJ_TEXT, all
201// FPDF_TEXTPAGE handles for |page| are no longer valid.
203FPDFPage_RemoveObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object);
204
205// Get number of page objects inside |page|.
206//
207// page - handle to a page.
208//
209// Returns the number of objects in |page|.
211
212// Get object in |page| at |index|.
213//
214// page - handle to a page.
215// index - the index of a page object.
216//
217// Returns the handle to the page object, or NULL on failed.
218FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPage_GetObject(FPDF_PAGE page,
219 int index);
220
221// Checks if |page| contains transparency.
222//
223// page - handle to a page.
224//
225// Returns TRUE if |page| contains transparency.
226FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_HasTransparency(FPDF_PAGE page);
227
228// Generate the content of |page|.
229//
230// page - handle to a page.
231//
232// Returns TRUE on success.
233//
234// Before you save the page to a file, or reload the page, you must call
235// |FPDFPage_GenerateContent| or any changes to |page| will be lost.
236FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GenerateContent(FPDF_PAGE page);
237
238// Destroy |page_object| by releasing its resources. |page_object| must have
239// been created by FPDFPageObj_CreateNew{Path|Rect}() or
240// FPDFPageObj_New{Text|Image}Obj(). This function must be called on
241// newly-created objects if they are not added to a page through
242// FPDFPage_InsertObject() or to an annotation through FPDFAnnot_AppendObject().
243//
244// page_object - handle to a page object.
245FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Destroy(FPDF_PAGEOBJECT page_object);
246
247// Checks if |page_object| contains transparency.
248//
249// page_object - handle to a page object.
250//
251// Returns TRUE if |page_object| contains transparency.
253FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object);
254
255// Get type of |page_object|.
256//
257// page_object - handle to a page object.
258//
259// Returns one of the FPDF_PAGEOBJ_* values on success, FPDF_PAGEOBJ_UNKNOWN on
260// error.
261FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object);
262
263// Transform |page_object| by the given matrix.
264//
265// page_object - handle to a page object.
266// a - matrix value.
267// b - matrix value.
268// c - matrix value.
269// d - matrix value.
270// e - matrix value.
271// f - matrix value.
272//
273// The matrix is composed as:
274// |a c e|
275// |b d f|
276// and can be used to scale, rotate, shear and translate the |page_object|.
278FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
279 double a,
280 double b,
281 double c,
282 double d,
283 double e,
284 double f);
285
286// Experimental API.
287// Transform |page_object| by the given matrix.
288//
289// page_object - handle to a page object.
290// matrix - the transform matrix.
291//
292// Returns TRUE on success.
293//
294// This can be used to scale, rotate, shear and translate the |page_object|.
295// It is an improved version of FPDFPageObj_Transform() that does not do
296// unnecessary double to float conversions, and only uses 1 parameter for the
297// matrix. It also returns whether the operation succeeded or not.
299FPDFPageObj_TransformF(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
300
301// Experimental API.
302// Get the transform matrix of a page object.
303//
304// page_object - handle to a page object.
305// matrix - pointer to struct to receive the matrix value.
306//
307// The matrix is composed as:
308// |a c e|
309// |b d f|
310// and used to scale, rotate, shear and translate the page object.
311//
312// For page objects outside form objects, the matrix values are relative to the
313// page that contains it.
314// For page objects inside form objects, the matrix values are relative to the
315// form that contains it.
316//
317// Returns TRUE on success.
319FPDFPageObj_GetMatrix(FPDF_PAGEOBJECT page_object, FS_MATRIX* matrix);
320
321// Experimental API.
322// Set the transform matrix of a page object.
323//
324// page_object - handle to a page object.
325// matrix - pointer to struct with the matrix value.
326//
327// The matrix is composed as:
328// |a c e|
329// |b d f|
330// and can be used to scale, rotate, shear and translate the page object.
331//
332// Returns TRUE on success.
334FPDFPageObj_SetMatrix(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
335
336// Transform all annotations in |page|.
337//
338// page - handle to a page.
339// a - matrix value.
340// b - matrix value.
341// c - matrix value.
342// d - matrix value.
343// e - matrix value.
344// f - matrix value.
345//
346// The matrix is composed as:
347// |a c e|
348// |b d f|
349// and can be used to scale, rotate, shear and translate the |page| annotations.
351 double a,
352 double b,
353 double c,
354 double d,
355 double e,
356 double f);
357
358// Create a new image object.
359//
360// document - handle to a document.
361//
362// Returns a handle to a new image object.
363FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
364FPDFPageObj_NewImageObj(FPDF_DOCUMENT document);
365
366// Experimental API.
367// Get the marked content ID for the object.
368//
369// page_object - handle to a page object.
370//
371// Returns the page object's marked content ID, or -1 on error.
373FPDFPageObj_GetMarkedContentID(FPDF_PAGEOBJECT page_object);
374
375// Experimental API.
376// Get number of content marks in |page_object|.
377//
378// page_object - handle to a page object.
379//
380// Returns the number of content marks in |page_object|, or -1 in case of
381// failure.
383FPDFPageObj_CountMarks(FPDF_PAGEOBJECT page_object);
384
385// Experimental API.
386// Get content mark in |page_object| at |index|.
387//
388// page_object - handle to a page object.
389// index - the index of a page object.
390//
391// Returns the handle to the content mark, or NULL on failure. The handle is
392// still owned by the library, and it should not be freed directly. It becomes
393// invalid if the page object is destroyed, either directly or indirectly by
394// unloading the page.
395FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV
396FPDFPageObj_GetMark(FPDF_PAGEOBJECT page_object, unsigned long index);
397
398// Experimental API.
399// Add a new content mark to a |page_object|.
400//
401// page_object - handle to a page object.
402// name - the name (tag) of the mark.
403//
404// Returns the handle to the content mark, or NULL on failure. The handle is
405// still owned by the library, and it should not be freed directly. It becomes
406// invalid if the page object is destroyed, either directly or indirectly by
407// unloading the page.
408FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV
409FPDFPageObj_AddMark(FPDF_PAGEOBJECT page_object, FPDF_BYTESTRING name);
410
411// Experimental API.
412// Removes a content |mark| from a |page_object|.
413// The mark handle will be invalid after the removal.
414//
415// page_object - handle to a page object.
416// mark - handle to a content mark in that object to remove.
417//
418// Returns TRUE if the operation succeeded, FALSE if it failed.
420FPDFPageObj_RemoveMark(FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark);
421
422// Experimental API.
423// Get the name of a content mark.
424//
425// mark - handle to a content mark.
426// buffer - buffer for holding the returned name in UTF-16LE. This is only
427// modified if |buflen| is longer than the length of the name.
428// Optional, pass null to just retrieve the size of the buffer
429// needed.
430// buflen - length of the buffer.
431// out_buflen - pointer to variable that will receive the minimum buffer size
432// to contain the name. Not filled if FALSE is returned.
433//
434// Returns TRUE if the operation succeeded, FALSE if it failed.
436FPDFPageObjMark_GetName(FPDF_PAGEOBJECTMARK mark,
437 void* buffer,
438 unsigned long buflen,
439 unsigned long* out_buflen);
440
441// Experimental API.
442// Get the number of key/value pair parameters in |mark|.
443//
444// mark - handle to a content mark.
445//
446// Returns the number of key/value pair parameters |mark|, or -1 in case of
447// failure.
449FPDFPageObjMark_CountParams(FPDF_PAGEOBJECTMARK mark);
450
451// Experimental API.
452// Get the key of a property in a content mark.
453//
454// mark - handle to a content mark.
455// index - index of the property.
456// buffer - buffer for holding the returned key in UTF-16LE. This is only
457// modified if |buflen| is longer than the length of the key.
458// Optional, pass null to just retrieve the size of the buffer
459// needed.
460// buflen - length of the buffer.
461// out_buflen - pointer to variable that will receive the minimum buffer size
462// to contain the key. Not filled if FALSE is returned.
463//
464// Returns TRUE if the operation was successful, FALSE otherwise.
466FPDFPageObjMark_GetParamKey(FPDF_PAGEOBJECTMARK mark,
467 unsigned long index,
468 void* buffer,
469 unsigned long buflen,
470 unsigned long* out_buflen);
471
472// Experimental API.
473// Get the type of the value of a property in a content mark by key.
474//
475// mark - handle to a content mark.
476// key - string key of the property.
477//
478// Returns the type of the value, or FPDF_OBJECT_UNKNOWN in case of failure.
479FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV
480FPDFPageObjMark_GetParamValueType(FPDF_PAGEOBJECTMARK mark,
481 FPDF_BYTESTRING key);
482
483// Experimental API.
484// Get the value of a number property in a content mark by key as int.
485// FPDFPageObjMark_GetParamValueType() should have returned FPDF_OBJECT_NUMBER
486// for this property.
487//
488// mark - handle to a content mark.
489// key - string key of the property.
490// out_value - pointer to variable that will receive the value. Not filled if
491// false is returned.
492//
493// Returns TRUE if the key maps to a number value, FALSE otherwise.
495FPDFPageObjMark_GetParamIntValue(FPDF_PAGEOBJECTMARK mark,
496 FPDF_BYTESTRING key,
497 int* out_value);
498
499// Experimental API.
500// Get the value of a string property in a content mark by key.
501//
502// mark - handle to a content mark.
503// key - string key of the property.
504// buffer - buffer for holding the returned value in UTF-16LE. This is
505// only modified if |buflen| is longer than the length of the
506// value.
507// Optional, pass null to just retrieve the size of the buffer
508// needed.
509// buflen - length of the buffer.
510// out_buflen - pointer to variable that will receive the minimum buffer size
511// to contain the value. Not filled if FALSE is returned.
512//
513// Returns TRUE if the key maps to a string/blob value, FALSE otherwise.
515FPDFPageObjMark_GetParamStringValue(FPDF_PAGEOBJECTMARK mark,
516 FPDF_BYTESTRING key,
517 void* buffer,
518 unsigned long buflen,
519 unsigned long* out_buflen);
520
521// Experimental API.
522// Get the value of a blob property in a content mark by key.
523//
524// mark - handle to a content mark.
525// key - string key of the property.
526// buffer - buffer for holding the returned value. This is only modified
527// if |buflen| is at least as long as the length of the value.
528// Optional, pass null to just retrieve the size of the buffer
529// needed.
530// buflen - length of the buffer.
531// out_buflen - pointer to variable that will receive the minimum buffer size
532// to contain the value. Not filled if FALSE is returned.
533//
534// Returns TRUE if the key maps to a string/blob value, FALSE otherwise.
536FPDFPageObjMark_GetParamBlobValue(FPDF_PAGEOBJECTMARK mark,
537 FPDF_BYTESTRING key,
538 void* buffer,
539 unsigned long buflen,
540 unsigned long* out_buflen);
541
542// Experimental API.
543// Set the value of an int property in a content mark by key. If a parameter
544// with key |key| exists, its value is set to |value|. Otherwise, it is added as
545// a new parameter.
546//
547// document - handle to the document.
548// page_object - handle to the page object with the mark.
549// mark - handle to a content mark.
550// key - string key of the property.
551// value - int value to set.
552//
553// Returns TRUE if the operation succeeded, FALSE otherwise.
555FPDFPageObjMark_SetIntParam(FPDF_DOCUMENT document,
556 FPDF_PAGEOBJECT page_object,
557 FPDF_PAGEOBJECTMARK mark,
558 FPDF_BYTESTRING key,
559 int value);
560
561// Experimental API.
562// Set the value of a string property in a content mark by key. If a parameter
563// with key |key| exists, its value is set to |value|. Otherwise, it is added as
564// a new parameter.
565//
566// document - handle to the document.
567// page_object - handle to the page object with the mark.
568// mark - handle to a content mark.
569// key - string key of the property.
570// value - string value to set.
571//
572// Returns TRUE if the operation succeeded, FALSE otherwise.
574FPDFPageObjMark_SetStringParam(FPDF_DOCUMENT document,
575 FPDF_PAGEOBJECT page_object,
576 FPDF_PAGEOBJECTMARK mark,
577 FPDF_BYTESTRING key,
578 FPDF_BYTESTRING value);
579
580// Experimental API.
581// Set the value of a blob property in a content mark by key. If a parameter
582// with key |key| exists, its value is set to |value|. Otherwise, it is added as
583// a new parameter.
584//
585// document - handle to the document.
586// page_object - handle to the page object with the mark.
587// mark - handle to a content mark.
588// key - string key of the property.
589// value - pointer to blob value to set.
590// value_len - size in bytes of |value|.
591//
592// Returns TRUE if the operation succeeded, FALSE otherwise.
594FPDFPageObjMark_SetBlobParam(FPDF_DOCUMENT document,
595 FPDF_PAGEOBJECT page_object,
596 FPDF_PAGEOBJECTMARK mark,
597 FPDF_BYTESTRING key,
598 void* value,
599 unsigned long value_len);
600
601// Experimental API.
602// Removes a property from a content mark by key.
603//
604// page_object - handle to the page object with the mark.
605// mark - handle to a content mark.
606// key - string key of the property.
607//
608// Returns TRUE if the operation succeeded, FALSE otherwise.
610FPDFPageObjMark_RemoveParam(FPDF_PAGEOBJECT page_object,
611 FPDF_PAGEOBJECTMARK mark,
612 FPDF_BYTESTRING key);
613
614// Load an image from a JPEG image file and then set it into |image_object|.
615//
616// pages - pointer to the start of all loaded pages, may be NULL.
617// count - number of |pages|, may be 0.
618// image_object - handle to an image object.
619// file_access - file access handler which specifies the JPEG image file.
620//
621// Returns TRUE on success.
622//
623// The image object might already have an associated image, which is shared and
624// cached by the loaded pages. In that case, we need to clear the cached image
625// for all the loaded pages. Pass |pages| and page count (|count|) to this API
626// to clear the image cache. If the image is not previously shared, or NULL is a
627// valid |pages| value.
629FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages,
630 int count,
631 FPDF_PAGEOBJECT image_object,
632 FPDF_FILEACCESS* file_access);
633
634// Load an image from a JPEG image file and then set it into |image_object|.
635//
636// pages - pointer to the start of all loaded pages, may be NULL.
637// count - number of |pages|, may be 0.
638// image_object - handle to an image object.
639// file_access - file access handler which specifies the JPEG image file.
640//
641// Returns TRUE on success.
642//
643// The image object might already have an associated image, which is shared and
644// cached by the loaded pages. In that case, we need to clear the cached image
645// for all the loaded pages. Pass |pages| and page count (|count|) to this API
646// to clear the image cache. If the image is not previously shared, or NULL is a
647// valid |pages| value. This function loads the JPEG image inline, so the image
648// content is copied to the file. This allows |file_access| and its associated
649// data to be deleted after this function returns.
651FPDFImageObj_LoadJpegFileInline(FPDF_PAGE* pages,
652 int count,
653 FPDF_PAGEOBJECT image_object,
654 FPDF_FILEACCESS* file_access);
655
656// TODO(thestig): Start deprecating this once FPDFPageObj_SetMatrix() is stable.
657//
658// Set the transform matrix of |image_object|.
659//
660// image_object - handle to an image object.
661// a - matrix value.
662// b - matrix value.
663// c - matrix value.
664// d - matrix value.
665// e - matrix value.
666// f - matrix value.
667//
668// The matrix is composed as:
669// |a c e|
670// |b d f|
671// and can be used to scale, rotate, shear and translate the |image_object|.
672//
673// Returns TRUE on success.
675FPDFImageObj_SetMatrix(FPDF_PAGEOBJECT image_object,
676 double a,
677 double b,
678 double c,
679 double d,
680 double e,
681 double f);
682
683// Set |bitmap| to |image_object|.
684//
685// pages - pointer to the start of all loaded pages, may be NULL.
686// count - number of |pages|, may be 0.
687// image_object - handle to an image object.
688// bitmap - handle of the bitmap.
689//
690// Returns TRUE on success.
692FPDFImageObj_SetBitmap(FPDF_PAGE* pages,
693 int count,
694 FPDF_PAGEOBJECT image_object,
695 FPDF_BITMAP bitmap);
696
697// Get a bitmap rasterization of |image_object|. FPDFImageObj_GetBitmap() only
698// operates on |image_object| and does not take the associated image mask into
699// account. It also ignores the matrix for |image_object|.
700// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
701// must be called on the returned bitmap when it is no longer needed.
702//
703// image_object - handle to an image object.
704//
705// Returns the bitmap.
706FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
707FPDFImageObj_GetBitmap(FPDF_PAGEOBJECT image_object);
708
709// Experimental API.
710// Get a bitmap rasterization of |image_object| that takes the image mask and
711// image matrix into account. To render correctly, the caller must provide the
712// |document| associated with |image_object|. If there is a |page| associated
713// with |image_object|, the caller should provide that as well.
714// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
715// must be called on the returned bitmap when it is no longer needed.
716//
717// document - handle to a document associated with |image_object|.
718// page - handle to an optional page associated with |image_object|.
719// image_object - handle to an image object.
720//
721// Returns the bitmap or NULL on failure.
722FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
723FPDFImageObj_GetRenderedBitmap(FPDF_DOCUMENT document,
724 FPDF_PAGE page,
725 FPDF_PAGEOBJECT image_object);
726
727// Get the decoded image data of |image_object|. The decoded data is the
728// uncompressed image data, i.e. the raw image data after having all filters
729// applied. |buffer| is only modified if |buflen| is longer than the length of
730// the decoded image data.
731//
732// image_object - handle to an image object.
733// buffer - buffer for holding the decoded image data.
734// buflen - length of the buffer in bytes.
735//
736// Returns the length of the decoded image data.
737FPDF_EXPORT unsigned long FPDF_CALLCONV
738FPDFImageObj_GetImageDataDecoded(FPDF_PAGEOBJECT image_object,
739 void* buffer,
740 unsigned long buflen);
741
742// Get the raw image data of |image_object|. The raw data is the image data as
743// stored in the PDF without applying any filters. |buffer| is only modified if
744// |buflen| is longer than the length of the raw image data.
745//
746// image_object - handle to an image object.
747// buffer - buffer for holding the raw image data.
748// buflen - length of the buffer in bytes.
749//
750// Returns the length of the raw image data.
751FPDF_EXPORT unsigned long FPDF_CALLCONV
752FPDFImageObj_GetImageDataRaw(FPDF_PAGEOBJECT image_object,
753 void* buffer,
754 unsigned long buflen);
755
756// Get the number of filters (i.e. decoders) of the image in |image_object|.
757//
758// image_object - handle to an image object.
759//
760// Returns the number of |image_object|'s filters.
762FPDFImageObj_GetImageFilterCount(FPDF_PAGEOBJECT image_object);
763
764// Get the filter at |index| of |image_object|'s list of filters. Note that the
765// filters need to be applied in order, i.e. the first filter should be applied
766// first, then the second, etc. |buffer| is only modified if |buflen| is longer
767// than the length of the filter string.
768//
769// image_object - handle to an image object.
770// index - the index of the filter requested.
771// buffer - buffer for holding filter string, encoded in UTF-8.
772// buflen - length of the buffer.
773//
774// Returns the length of the filter string.
775FPDF_EXPORT unsigned long FPDF_CALLCONV
776FPDFImageObj_GetImageFilter(FPDF_PAGEOBJECT image_object,
777 int index,
778 void* buffer,
779 unsigned long buflen);
780
781// Get the image metadata of |image_object|, including dimension, DPI, bits per
782// pixel, and colorspace. If the |image_object| is not an image object or if it
783// does not have an image, then the return value will be false. Otherwise,
784// failure to retrieve any specific parameter would result in its value being 0.
785//
786// image_object - handle to an image object.
787// page - handle to the page that |image_object| is on. Required for
788// retrieving the image's bits per pixel and colorspace.
789// metadata - receives the image metadata; must not be NULL.
790//
791// Returns true if successful.
793FPDFImageObj_GetImageMetadata(FPDF_PAGEOBJECT image_object,
794 FPDF_PAGE page,
795 FPDF_IMAGEOBJ_METADATA* metadata);
796
797// Experimental API.
798// Get the image size in pixels. Faster method to get only image size.
799//
800// image_object - handle to an image object.
801// width - receives the image width in pixels; must not be NULL.
802// height - receives the image height in pixels; must not be NULL.
803//
804// Returns true if successful.
806FPDFImageObj_GetImagePixelSize(FPDF_PAGEOBJECT image_object,
807 unsigned int* width,
808 unsigned int* height);
809
810// Create a new path object at an initial position.
811//
812// x - initial horizontal position.
813// y - initial vertical position.
814//
815// Returns a handle to a new path object.
817 float y);
818
819// Create a closed path consisting of a rectangle.
820//
821// x - horizontal position for the left boundary of the rectangle.
822// y - vertical position for the bottom boundary of the rectangle.
823// w - width of the rectangle.
824// h - height of the rectangle.
825//
826// Returns a handle to the new path object.
828 float y,
829 float w,
830 float h);
831
832// Get the bounding box of |page_object|.
833//
834// page_object - handle to a page object.
835// left - pointer where the left coordinate will be stored
836// bottom - pointer where the bottom coordinate will be stored
837// right - pointer where the right coordinate will be stored
838// top - pointer where the top coordinate will be stored
839//
840// On success, returns TRUE and fills in the 4 coordinates.
842FPDFPageObj_GetBounds(FPDF_PAGEOBJECT page_object,
843 float* left,
844 float* bottom,
845 float* right,
846 float* top);
847
848// Experimental API.
849// Get the quad points that bounds |page_object|.
850//
851// page_object - handle to a page object.
852// quad_points - pointer where the quadrilateral points will be stored.
853//
854// On success, returns TRUE and fills in |quad_points|.
855//
856// Similar to FPDFPageObj_GetBounds(), this returns the bounds of a page
857// object. When the object is rotated by a non-multiple of 90 degrees, this API
858// returns a tighter bound that cannot be represented with just the 4 sides of
859// a rectangle.
860//
861// Currently only works the following |page_object| types: FPDF_PAGEOBJ_TEXT and
862// FPDF_PAGEOBJ_IMAGE.
864FPDFPageObj_GetRotatedBounds(FPDF_PAGEOBJECT page_object,
865 FS_QUADPOINTSF* quad_points);
866
867// Set the blend mode of |page_object|.
868//
869// page_object - handle to a page object.
870// blend_mode - string containing the blend mode.
871//
872// Blend mode can be one of following: Color, ColorBurn, ColorDodge, Darken,
873// Difference, Exclusion, HardLight, Hue, Lighten, Luminosity, Multiply, Normal,
874// Overlay, Saturation, Screen, SoftLight
876FPDFPageObj_SetBlendMode(FPDF_PAGEOBJECT page_object,
877 FPDF_BYTESTRING blend_mode);
878
879// Set the stroke RGBA of a page object. Range of values: 0 - 255.
880//
881// page_object - the handle to the page object.
882// R - the red component for the object's stroke color.
883// G - the green component for the object's stroke color.
884// B - the blue component for the object's stroke color.
885// A - the stroke alpha for the object.
886//
887// Returns TRUE on success.
889FPDFPageObj_SetStrokeColor(FPDF_PAGEOBJECT page_object,
890 unsigned int R,
891 unsigned int G,
892 unsigned int B,
893 unsigned int A);
894
895// Get the stroke RGBA of a page object. Range of values: 0 - 255.
896//
897// page_object - the handle to the page object.
898// R - the red component of the path stroke color.
899// G - the green component of the object's stroke color.
900// B - the blue component of the object's stroke color.
901// A - the stroke alpha of the object.
902//
903// Returns TRUE on success.
905FPDFPageObj_GetStrokeColor(FPDF_PAGEOBJECT page_object,
906 unsigned int* R,
907 unsigned int* G,
908 unsigned int* B,
909 unsigned int* A);
910
911// Set the stroke width of a page object.
912//
913// path - the handle to the page object.
914// width - the width of the stroke.
915//
916// Returns TRUE on success
918FPDFPageObj_SetStrokeWidth(FPDF_PAGEOBJECT page_object, float width);
919
920// Get the stroke width of a page object.
921//
922// path - the handle to the page object.
923// width - the width of the stroke.
924//
925// Returns TRUE on success
927FPDFPageObj_GetStrokeWidth(FPDF_PAGEOBJECT page_object, float* width);
928
929// Get the line join of |page_object|.
930//
931// page_object - handle to a page object.
932//
933// Returns the line join, or -1 on failure.
934// Line join can be one of following: FPDF_LINEJOIN_MITER, FPDF_LINEJOIN_ROUND,
935// FPDF_LINEJOIN_BEVEL
937FPDFPageObj_GetLineJoin(FPDF_PAGEOBJECT page_object);
938
939// Set the line join of |page_object|.
940//
941// page_object - handle to a page object.
942// line_join - line join
943//
944// Line join can be one of following: FPDF_LINEJOIN_MITER, FPDF_LINEJOIN_ROUND,
945// FPDF_LINEJOIN_BEVEL
947FPDFPageObj_SetLineJoin(FPDF_PAGEOBJECT page_object, int line_join);
948
949// Get the line cap of |page_object|.
950//
951// page_object - handle to a page object.
952//
953// Returns the line cap, or -1 on failure.
954// Line cap can be one of following: FPDF_LINECAP_BUTT, FPDF_LINECAP_ROUND,
955// FPDF_LINECAP_PROJECTING_SQUARE
957FPDFPageObj_GetLineCap(FPDF_PAGEOBJECT page_object);
958
959// Set the line cap of |page_object|.
960//
961// page_object - handle to a page object.
962// line_cap - line cap
963//
964// Line cap can be one of following: FPDF_LINECAP_BUTT, FPDF_LINECAP_ROUND,
965// FPDF_LINECAP_PROJECTING_SQUARE
967FPDFPageObj_SetLineCap(FPDF_PAGEOBJECT page_object, int line_cap);
968
969// Set the fill RGBA of a page object. Range of values: 0 - 255.
970//
971// page_object - the handle to the page object.
972// R - the red component for the object's fill color.
973// G - the green component for the object's fill color.
974// B - the blue component for the object's fill color.
975// A - the fill alpha for the object.
976//
977// Returns TRUE on success.
979FPDFPageObj_SetFillColor(FPDF_PAGEOBJECT page_object,
980 unsigned int R,
981 unsigned int G,
982 unsigned int B,
983 unsigned int A);
984
985// Get the fill RGBA of a page object. Range of values: 0 - 255.
986//
987// page_object - the handle to the page object.
988// R - the red component of the object's fill color.
989// G - the green component of the object's fill color.
990// B - the blue component of the object's fill color.
991// A - the fill alpha of the object.
992//
993// Returns TRUE on success.
995FPDFPageObj_GetFillColor(FPDF_PAGEOBJECT page_object,
996 unsigned int* R,
997 unsigned int* G,
998 unsigned int* B,
999 unsigned int* A);
1000
1001// Experimental API.
1002// Get the line dash |phase| of |page_object|.
1003//
1004// page_object - handle to a page object.
1005// phase - pointer where the dashing phase will be stored.
1006//
1007// Returns TRUE on success.
1008FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1009FPDFPageObj_GetDashPhase(FPDF_PAGEOBJECT page_object, float* phase);
1010
1011// Experimental API.
1012// Set the line dash phase of |page_object|.
1013//
1014// page_object - handle to a page object.
1015// phase - line dash phase.
1016//
1017// Returns TRUE on success.
1018FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1019FPDFPageObj_SetDashPhase(FPDF_PAGEOBJECT page_object, float phase);
1020
1021// Experimental API.
1022// Get the line dash array of |page_object|.
1023//
1024// page_object - handle to a page object.
1025//
1026// Returns the line dash array size or -1 on failure.
1028FPDFPageObj_GetDashCount(FPDF_PAGEOBJECT page_object);
1029
1030// Experimental API.
1031// Get the line dash array of |page_object|.
1032//
1033// page_object - handle to a page object.
1034// dash_array - pointer where the dashing array will be stored.
1035// dash_count - number of elements in |dash_array|.
1036//
1037// Returns TRUE on success.
1038FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1039FPDFPageObj_GetDashArray(FPDF_PAGEOBJECT page_object,
1040 float* dash_array,
1041 size_t dash_count);
1042
1043// Experimental API.
1044// Set the line dash array of |page_object|.
1045//
1046// page_object - handle to a page object.
1047// dash_array - the dash array.
1048// dash_count - number of elements in |dash_array|.
1049// phase - the line dash phase.
1050//
1051// Returns TRUE on success.
1052FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1053FPDFPageObj_SetDashArray(FPDF_PAGEOBJECT page_object,
1054 const float* dash_array,
1055 size_t dash_count,
1056 float phase);
1057
1058// Get number of segments inside |path|.
1059//
1060// path - handle to a path.
1061//
1062// A segment is a command, created by e.g. FPDFPath_MoveTo(),
1063// FPDFPath_LineTo() or FPDFPath_BezierTo().
1064//
1065// Returns the number of objects in |path| or -1 on failure.
1066FPDF_EXPORT int FPDF_CALLCONV FPDFPath_CountSegments(FPDF_PAGEOBJECT path);
1067
1068// Get segment in |path| at |index|.
1069//
1070// path - handle to a path.
1071// index - the index of a segment.
1072//
1073// Returns the handle to the segment, or NULL on faiure.
1074FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV
1075FPDFPath_GetPathSegment(FPDF_PAGEOBJECT path, int index);
1076
1077// Get coordinates of |segment|.
1078//
1079// segment - handle to a segment.
1080// x - the horizontal position of the segment.
1081// y - the vertical position of the segment.
1082//
1083// Returns TRUE on success, otherwise |x| and |y| is not set.
1084FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1085FPDFPathSegment_GetPoint(FPDF_PATHSEGMENT segment, float* x, float* y);
1086
1087// Get type of |segment|.
1088//
1089// segment - handle to a segment.
1090//
1091// Returns one of the FPDF_SEGMENT_* values on success,
1092// FPDF_SEGMENT_UNKNOWN on error.
1093FPDF_EXPORT int FPDF_CALLCONV FPDFPathSegment_GetType(FPDF_PATHSEGMENT segment);
1094
1095// Gets if the |segment| closes the current subpath of a given path.
1096//
1097// segment - handle to a segment.
1098//
1099// Returns close flag for non-NULL segment, FALSE otherwise.
1100FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1101FPDFPathSegment_GetClose(FPDF_PATHSEGMENT segment);
1102
1103// Move a path's current point.
1104//
1105// path - the handle to the path object.
1106// x - the horizontal position of the new current point.
1107// y - the vertical position of the new current point.
1108//
1109// Note that no line will be created between the previous current point and the
1110// new one.
1111//
1112// Returns TRUE on success
1113FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_MoveTo(FPDF_PAGEOBJECT path,
1114 float x,
1115 float y);
1116
1117// Add a line between the current point and a new point in the path.
1118//
1119// path - the handle to the path object.
1120// x - the horizontal position of the new point.
1121// y - the vertical position of the new point.
1122//
1123// The path's current point is changed to (x, y).
1124//
1125// Returns TRUE on success
1126FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_LineTo(FPDF_PAGEOBJECT path,
1127 float x,
1128 float y);
1129
1130// Add a cubic Bezier curve to the given path, starting at the current point.
1131//
1132// path - the handle to the path object.
1133// x1 - the horizontal position of the first Bezier control point.
1134// y1 - the vertical position of the first Bezier control point.
1135// x2 - the horizontal position of the second Bezier control point.
1136// y2 - the vertical position of the second Bezier control point.
1137// x3 - the horizontal position of the ending point of the Bezier curve.
1138// y3 - the vertical position of the ending point of the Bezier curve.
1139//
1140// Returns TRUE on success
1141FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_BezierTo(FPDF_PAGEOBJECT path,
1142 float x1,
1143 float y1,
1144 float x2,
1145 float y2,
1146 float x3,
1147 float y3);
1148
1149// Close the current subpath of a given path.
1150//
1151// path - the handle to the path object.
1152//
1153// This will add a line between the current point and the initial point of the
1154// subpath, thus terminating the current subpath.
1155//
1156// Returns TRUE on success
1157FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_Close(FPDF_PAGEOBJECT path);
1158
1159// Set the drawing mode of a path.
1160//
1161// path - the handle to the path object.
1162// fillmode - the filling mode to be set: one of the FPDF_FILLMODE_* flags.
1163// stroke - a boolean specifying if the path should be stroked or not.
1164//
1165// Returns TRUE on success
1166FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path,
1167 int fillmode,
1168 FPDF_BOOL stroke);
1169
1170// Get the drawing mode of a path.
1171//
1172// path - the handle to the path object.
1173// fillmode - the filling mode of the path: one of the FPDF_FILLMODE_* flags.
1174// stroke - a boolean specifying if the path is stroked or not.
1175//
1176// Returns TRUE on success
1177FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
1178 int* fillmode,
1179 FPDF_BOOL* stroke);
1180
1181// Create a new text object using one of the standard PDF fonts.
1182//
1183// document - handle to the document.
1184// font - string containing the font name, without spaces.
1185// font_size - the font size for the new text object.
1186//
1187// Returns a handle to a new text object, or NULL on failure
1188FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1189FPDFPageObj_NewTextObj(FPDF_DOCUMENT document,
1190 FPDF_BYTESTRING font,
1191 float font_size);
1192
1193// Set the text for a text object. If it had text, it will be replaced.
1194//
1195// text_object - handle to the text object.
1196// text - the UTF-16LE encoded string containing the text to be added.
1197//
1198// Returns TRUE on success
1199FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1200FPDFText_SetText(FPDF_PAGEOBJECT text_object, FPDF_WIDESTRING text);
1201
1202// Experimental API.
1203// Set the text using charcodes for a text object. If it had text, it will be
1204// replaced.
1205//
1206// text_object - handle to the text object.
1207// charcodes - pointer to an array of charcodes to be added.
1208// count - number of elements in |charcodes|.
1209//
1210// Returns TRUE on success
1211FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1212FPDFText_SetCharcodes(FPDF_PAGEOBJECT text_object,
1213 const uint32_t* charcodes,
1214 size_t count);
1215
1216// Returns a font object loaded from a stream of data. The font is loaded
1217// into the document. Various font data structures, such as the ToUnicode data,
1218// are auto-generated based on the inputs.
1219//
1220// document - handle to the document.
1221// data - the stream of font data, which will be copied by the font object.
1222// size - the size of the font data, in bytes.
1223// font_type - FPDF_FONT_TYPE1 or FPDF_FONT_TRUETYPE depending on the font type.
1224// cid - a boolean specifying if the font is a CID font or not.
1225//
1226// The loaded font can be closed using FPDFFont_Close().
1227//
1228// Returns NULL on failure
1229FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont(FPDF_DOCUMENT document,
1230 const uint8_t* data,
1231 uint32_t size,
1232 int font_type,
1233 FPDF_BOOL cid);
1234
1235// Experimental API.
1236// Loads one of the standard 14 fonts per PDF spec 1.7 page 416. The preferred
1237// way of using font style is using a dash to separate the name from the style,
1238// for example 'Helvetica-BoldItalic'.
1239//
1240// document - handle to the document.
1241// font - string containing the font name, without spaces.
1242//
1243// The loaded font can be closed using FPDFFont_Close().
1244//
1245// Returns NULL on failure.
1246FPDF_EXPORT FPDF_FONT FPDF_CALLCONV
1247FPDFText_LoadStandardFont(FPDF_DOCUMENT document, FPDF_BYTESTRING font);
1248
1249// Experimental API.
1250// Returns a font object loaded from a stream of data for a type 2 CID font. The
1251// font is loaded into the document. Unlike FPDFText_LoadFont(), the ToUnicode
1252// data and the CIDToGIDMap data are caller provided, instead of auto-generated.
1253//
1254// document - handle to the document.
1255// font_data - the stream of font data, which will be copied by
1256// the font object.
1257// font_data_size - the size of the font data, in bytes.
1258// to_unicode_cmap - the ToUnicode data.
1259// cid_to_gid_map_data - the stream of CIDToGIDMap data.
1260// cid_to_gid_map_data_size - the size of the CIDToGIDMap data, in bytes.
1261//
1262// The loaded font can be closed using FPDFFont_Close().
1263//
1264// Returns NULL on failure.
1265FPDF_EXPORT FPDF_FONT FPDF_CALLCONV
1266FPDFText_LoadCidType2Font(FPDF_DOCUMENT document,
1267 const uint8_t* font_data,
1268 uint32_t font_data_size,
1269 FPDF_BYTESTRING to_unicode_cmap,
1270 const uint8_t* cid_to_gid_map_data,
1271 uint32_t cid_to_gid_map_data_size);
1272
1273// Get the font size of a text object.
1274//
1275// text - handle to a text.
1276// size - pointer to the font size of the text object, measured in points
1277// (about 1/72 inch)
1278//
1279// Returns TRUE on success.
1280FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1281FPDFTextObj_GetFontSize(FPDF_PAGEOBJECT text, float* size);
1282
1283// Close a loaded PDF font.
1284//
1285// font - Handle to the loaded font.
1286FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font);
1287
1288// Create a new text object using a loaded font.
1289//
1290// document - handle to the document.
1291// font - handle to the font object.
1292// font_size - the font size for the new text object.
1293//
1294// Returns a handle to a new text object, or NULL on failure
1295FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1296FPDFPageObj_CreateTextObj(FPDF_DOCUMENT document,
1297 FPDF_FONT font,
1298 float font_size);
1299
1300// Get the text rendering mode of a text object.
1301//
1302// text - the handle to the text object.
1303//
1304// Returns one of the known FPDF_TEXT_RENDERMODE enum values on success,
1305// FPDF_TEXTRENDERMODE_UNKNOWN on error.
1306FPDF_EXPORT FPDF_TEXT_RENDERMODE FPDF_CALLCONV
1307FPDFTextObj_GetTextRenderMode(FPDF_PAGEOBJECT text);
1308
1309// Experimental API.
1310// Set the text rendering mode of a text object.
1311//
1312// text - the handle to the text object.
1313// render_mode - the FPDF_TEXT_RENDERMODE enum value to be set (cannot set to
1314// FPDF_TEXTRENDERMODE_UNKNOWN).
1315//
1316// Returns TRUE on success.
1317FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1318FPDFTextObj_SetTextRenderMode(FPDF_PAGEOBJECT text,
1319 FPDF_TEXT_RENDERMODE render_mode);
1320
1321// Get the text of a text object.
1322//
1323// text_object - the handle to the text object.
1324// text_page - the handle to the text page.
1325// buffer - the address of a buffer that receives the text.
1326// length - the size, in bytes, of |buffer|.
1327//
1328// Returns the number of bytes in the text (including the trailing NUL
1329// character) on success, 0 on error.
1330//
1331// Regardless of the platform, the |buffer| is always in UTF-16LE encoding.
1332// If |length| is less than the returned length, or |buffer| is NULL, |buffer|
1333// will not be modified.
1334FPDF_EXPORT unsigned long FPDF_CALLCONV
1335FPDFTextObj_GetText(FPDF_PAGEOBJECT text_object,
1336 FPDF_TEXTPAGE text_page,
1337 FPDF_WCHAR* buffer,
1338 unsigned long length);
1339
1340// Experimental API.
1341// Get a bitmap rasterization of |text_object|. To render correctly, the caller
1342// must provide the |document| associated with |text_object|. If there is a
1343// |page| associated with |text_object|, the caller should provide that as well.
1344// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
1345// must be called on the returned bitmap when it is no longer needed.
1346//
1347// document - handle to a document associated with |text_object|.
1348// page - handle to an optional page associated with |text_object|.
1349// text_object - handle to a text object.
1350// scale - the scaling factor, which must be greater than 0.
1351//
1352// Returns the bitmap or NULL on failure.
1353FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
1354FPDFTextObj_GetRenderedBitmap(FPDF_DOCUMENT document,
1355 FPDF_PAGE page,
1356 FPDF_PAGEOBJECT text_object,
1357 float scale);
1358
1359// Experimental API.
1360// Get the font of a text object.
1361//
1362// text - the handle to the text object.
1363//
1364// Returns a handle to the font object held by |text| which retains ownership.
1365FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFTextObj_GetFont(FPDF_PAGEOBJECT text);
1366
1367// Experimental API.
1368// Get the base name of a font.
1369//
1370// font - the handle to the font object.
1371// buffer - the address of a buffer that receives the base font name.
1372// length - the size, in bytes, of |buffer|.
1373//
1374// Returns the number of bytes in the base name (including the trailing NUL
1375// character) on success, 0 on error. The base name is typically the font's
1376// PostScript name. See descriptions of "BaseFont" in ISO 32000-1:2008 spec.
1377//
1378// Regardless of the platform, the |buffer| is always in UTF-8 encoding.
1379// If |length| is less than the returned length, or |buffer| is NULL, |buffer|
1380// will not be modified.
1382 char* buffer,
1383 size_t length);
1384
1385// Experimental API.
1386// Get the family name of a font.
1387//
1388// font - the handle to the font object.
1389// buffer - the address of a buffer that receives the font name.
1390// length - the size, in bytes, of |buffer|.
1391//
1392// Returns the number of bytes in the family name (including the trailing NUL
1393// character) on success, 0 on error.
1394//
1395// Regardless of the platform, the |buffer| is always in UTF-8 encoding.
1396// If |length| is less than the returned length, or |buffer| is NULL, |buffer|
1397// will not be modified.
1399 char* buffer,
1400 size_t length);
1401
1402// Experimental API.
1403// Get the decoded data from the |font| object.
1404//
1405// font - The handle to the font object. (Required)
1406// buffer - The address of a buffer that receives the font data.
1407// buflen - Length of the buffer.
1408// out_buflen - Pointer to variable that will receive the minimum buffer size
1409// to contain the font data. Not filled if the return value is
1410// FALSE. (Required)
1411//
1412// Returns TRUE on success. In which case, |out_buflen| will be filled, and
1413// |buffer| will be filled if it is large enough. Returns FALSE if any of the
1414// required parameters are null.
1415//
1416// The decoded data is the uncompressed font data. i.e. the raw font data after
1417// having all stream filters applied, when the data is embedded.
1418//
1419// If the font is not embedded, then this API will instead return the data for
1420// the substitution font it is using.
1421FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetFontData(FPDF_FONT font,
1422 uint8_t* buffer,
1423 size_t buflen,
1424 size_t* out_buflen);
1425
1426// Experimental API.
1427// Get whether |font| is embedded or not.
1428//
1429// font - the handle to the font object.
1430//
1431// Returns 1 if the font is embedded, 0 if it not, and -1 on failure.
1433
1434// Experimental API.
1435// Get the descriptor flags of a font.
1436//
1437// font - the handle to the font object.
1438//
1439// Returns the bit flags specifying various characteristics of the font as
1440// defined in ISO 32000-1:2008, table 123, -1 on failure.
1441FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetFlags(FPDF_FONT font);
1442
1443// Experimental API.
1444// Get the font weight of a font.
1445//
1446// font - the handle to the font object.
1447//
1448// Returns the font weight, -1 on failure.
1449// Typical values are 400 (normal) and 700 (bold).
1450FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetWeight(FPDF_FONT font);
1451
1452// Experimental API.
1453// Get the italic angle of a font.
1454//
1455// font - the handle to the font object.
1456// angle - pointer where the italic angle will be stored
1457//
1458// The italic angle of a |font| is defined as degrees counterclockwise
1459// from vertical. For a font that slopes to the right, this will be negative.
1460//
1461// Returns TRUE on success; |angle| unmodified on failure.
1462FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetItalicAngle(FPDF_FONT font,
1463 int* angle);
1464
1465// Experimental API.
1466// Get ascent distance of a font.
1467//
1468// font - the handle to the font object.
1469// font_size - the size of the |font|.
1470// ascent - pointer where the font ascent will be stored
1471//
1472// Ascent is the maximum distance in points above the baseline reached by the
1473// glyphs of the |font|. One point is 1/72 inch (around 0.3528 mm).
1474//
1475// Returns TRUE on success; |ascent| unmodified on failure.
1476FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetAscent(FPDF_FONT font,
1477 float font_size,
1478 float* ascent);
1479
1480// Experimental API.
1481// Get descent distance of a font.
1482//
1483// font - the handle to the font object.
1484// font_size - the size of the |font|.
1485// descent - pointer where the font descent will be stored
1486//
1487// Descent is the maximum distance in points below the baseline reached by the
1488// glyphs of the |font|. One point is 1/72 inch (around 0.3528 mm).
1489//
1490// Returns TRUE on success; |descent| unmodified on failure.
1491FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetDescent(FPDF_FONT font,
1492 float font_size,
1493 float* descent);
1494
1495// Experimental API.
1496// Get the width of a glyph in a font.
1497//
1498// font - the handle to the font object.
1499// glyph - the glyph.
1500// font_size - the size of the font.
1501// width - pointer where the glyph width will be stored
1502//
1503// Glyph width is the distance from the end of the prior glyph to the next
1504// glyph. This will be the vertical distance for vertical writing.
1505//
1506// Returns TRUE on success; |width| unmodified on failure.
1507FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetGlyphWidth(FPDF_FONT font,
1508 uint32_t glyph,
1509 float font_size,
1510 float* width);
1511
1512// Experimental API.
1513// Get the glyphpath describing how to draw a font glyph.
1514//
1515// font - the handle to the font object.
1516// glyph - the glyph being drawn.
1517// font_size - the size of the font.
1518//
1519// Returns the handle to the segment, or NULL on faiure.
1520FPDF_EXPORT FPDF_GLYPHPATH FPDF_CALLCONV FPDFFont_GetGlyphPath(FPDF_FONT font,
1521 uint32_t glyph,
1522 float font_size);
1523
1524// Experimental API.
1525// Get number of segments inside glyphpath.
1526//
1527// glyphpath - handle to a glyph path.
1528//
1529// Returns the number of objects in |glyphpath| or -1 on failure.
1531FPDFGlyphPath_CountGlyphSegments(FPDF_GLYPHPATH glyphpath);
1532
1533// Experimental API.
1534// Get segment in glyphpath at index.
1535//
1536// glyphpath - handle to a glyph path.
1537// index - the index of a segment.
1538//
1539// Returns the handle to the segment, or NULL on faiure.
1540FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV
1541FPDFGlyphPath_GetGlyphPathSegment(FPDF_GLYPHPATH glyphpath, int index);
1542
1543// Get number of page objects inside |form_object|.
1544//
1545// form_object - handle to a form object.
1546//
1547// Returns the number of objects in |form_object| on success, -1 on error.
1549FPDFFormObj_CountObjects(FPDF_PAGEOBJECT form_object);
1550
1551// Get page object in |form_object| at |index|.
1552//
1553// form_object - handle to a form object.
1554// index - the 0-based index of a page object.
1555//
1556// Returns the handle to the page object, or NULL on error.
1557FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1558FPDFFormObj_GetObject(FPDF_PAGEOBJECT form_object, unsigned long index);
1559
1560#ifdef __cplusplus
1561} // extern "C"
1562#endif // __cplusplus
1563
1564#endif // PUBLIC_FPDF_EDIT_H_
FX_DOWNLOADHINTS * GetDownloadHints() const
FX_FILEAVAIL * GetFileAvail() const
FPDF_FILEACCESS * GetFileAccess() const
TEST_F(CPDF_CreatorEmbedderTest, SavedDocsAreEqualAfterParse)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormControlCount(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, float *value)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetRect(FPDF_ANNOTATION annot, const FS_RECTF *rect)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_RemoveAnnot(FPDF_PAGE page, int index)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFocusableSubtypes(FPDF_FORMHANDLE hHandle, const FPDF_ANNOTATION_SUBTYPE *subtypes, size_t count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetBorder(FPDF_ANNOTATION annot, float *horizontal_radius, float *vertical_radius, float *border_width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot, size_t quad_index, FS_QUADPOINTSF *quad_points)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFocusableSubtypesCount(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_AddInkStroke(FPDF_ANNOTATION annot, const FS_POINTF *points, size_t point_count)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetOptionCount(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetVertices(FPDF_ANNOTATION annot, FS_POINTF *buffer, unsigned long length)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFAnnot_GetObject(FPDF_ANNOTATION annot, int index)
FPDF_EXPORT size_t FPDF_CALLCONV FPDFAnnot_CountAttachmentPoints(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFlags(FPDF_ANNOTATION annot, int flags)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldName(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasKey(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFAnnot_GetLinkedAnnot(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV FPDFAnnot_AddFileAttachment(FPDF_ANNOTATION annot, FPDF_WIDESTRING name)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, int index)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetAnnotCount(FPDF_PAGE page)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_CreateAnnot(FPDF_PAGE page, FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsChecked(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldAlternateName(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_LINK FPDF_CALLCONV FPDFAnnot_GetLink(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetAP(FPDF_ANNOTATION annot, FPDF_ANNOT_APPEARANCEMODE appearanceMode, FPDF_WIDESTRING value)
FPDF_EXPORT FPDF_ANNOTATION_SUBTYPE FPDF_CALLCONV FPDFAnnot_GetSubtype(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_AppendAttachmentPoints(FPDF_ANNOTATION annot, const FS_QUADPOINTSF *quad_points)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, unsigned int *R, unsigned int *G, unsigned int *B)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetColor(FPDF_ANNOTATION annot, FPDFANNOT_COLORTYPE type, unsigned int *R, unsigned int *G, unsigned int *B, unsigned int *A)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormFieldFlags(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, FPDF_WIDESTRING value)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetOptionLabel(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, int index, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetInkListPath(FPDF_ANNOTATION annot, unsigned long path_index, FS_POINTF *buffer, unsigned long length)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsOptionSelected(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot, int index)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_GetAnnot(FPDF_PAGE page, int index)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldExportValue(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFlags(FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormControlIndex(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_CloseAnnot(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetNumberValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, float *value)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormFieldType(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetURI(FPDF_ANNOTATION annot, const char *uri)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldValue(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFocusableSubtypes(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION_SUBTYPE *subtypes, size_t count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetRect(FPDF_ANNOTATION annot, FS_RECTF *rect)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetAP(FPDF_ANNOTATION annot, FPDF_ANNOT_APPEARANCEMODE appearanceMode, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsObjectSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetLine(FPDF_ANNOTATION annot, FS_POINTF *start, FS_POINTF *end)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetAnnotIndex(FPDF_PAGE page, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFAnnot_GetFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, const FS_POINTF *point)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetInkListCount(FPDF_ANNOTATION annot)
FPDFANNOT_COLORTYPE
Definition fpdf_annot.h:95
@ FPDFANNOT_COLORTYPE_InteriorColor
Definition fpdf_annot.h:97
@ FPDFANNOT_COLORTYPE_Color
Definition fpdf_annot.h:96
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetBorder(FPDF_ANNOTATION annot, float horizontal_radius, float vertical_radius, float border_width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetColor(FPDF_ANNOTATION annot, FPDFANNOT_COLORTYPE type, unsigned int R, unsigned int G, unsigned int B, unsigned int A)
FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV FPDFAnnot_GetFileAttachment(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_RemoveInkList(FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormAdditionalActionJavaScript(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, int event, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot, size_t quad_index, const FS_QUADPOINTSF *quad_points)
#define PDF_DATA_AVAIL
FPDF_EXPORT int FPDF_CALLCONV FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS *hints)
FPDF_EXPORT void FPDF_CALLCONV FPDFAvail_Destroy(FPDF_AVAIL avail)
FPDF_EXPORT int FPDF_CALLCONV FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX_DOWNLOADHINTS *hints)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDFAvail_GetDocument(FPDF_AVAIL avail, FPDF_BYTESTRING password)
FPDF_EXPORT int FPDF_CALLCONV FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS *hints)
FPDF_EXPORT int FPDF_CALLCONV FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc)
FPDF_EXPORT int FPDF_CALLCONV FPDFAvail_IsLinearized(FPDF_AVAIL avail)
FPDF_EXPORT FPDF_AVAIL FPDF_CALLCONV FPDFAvail_Create(FX_FILEAVAIL *file_avail, FPDF_FILEACCESS *file)
FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV FPDFPath_GetPathSegment(FPDF_PAGEOBJECT path, int index)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFTextObj_GetText(FPDF_PAGEOBJECT text_object, FPDF_TEXTPAGE text_page, FPDF_WCHAR *buffer, unsigned long length)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetGlyphWidth(FPDF_FONT font, uint32_t glyph, float font_size, float *width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_SetBitmap(FPDF_PAGE *pages, int count, FPDF_PAGEOBJECT image_object, FPDF_BITMAP bitmap)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetRotation(FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetWeight(FPDF_FONT font)
FPDF_EXPORT int FPDF_CALLCONV FPDFFormObj_CountObjects(FPDF_PAGEOBJECT form_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetStrokeColor(FPDF_PAGEOBJECT page_object, unsigned int R, unsigned int G, unsigned int B, unsigned int A)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetLineCap(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetIsEmbedded(FPDF_FONT font)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_LoadJpegFile(FPDF_PAGE *pages, int count, FPDF_PAGEOBJECT image_object, FPDF_FILEACCESS *file_access)
FPDF_EXPORT int FPDF_CALLCONV FPDFPathSegment_GetType(FPDF_PATHSEGMENT segment)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_MovePages(FPDF_DOCUMENT document, const int *page_indices, unsigned long page_indices_len, int dest_page_index)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateNewPath(float x, float y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path, int fillmode, FPDF_BOOL stroke)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetDashArray(FPDF_PAGEOBJECT page_object, const float *dash_array, size_t dash_count, float phase)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_GetParamKey(FPDF_PAGEOBJECTMARK mark, unsigned long index, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetDashCount(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDFPage_New(FPDF_DOCUMENT document, int page_index, double width, double height)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_GetImageMetadata(FPDF_PAGEOBJECT image_object, FPDF_PAGE page, FPDF_IMAGEOBJ_METADATA *metadata)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_InsertObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPathSegment_GetPoint(FPDF_PATHSEGMENT segment, float *x, float *y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetDescent(FPDF_FONT font, float font_size, float *descent)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetFontData(FPDF_FONT font, uint8_t *buffer, size_t buflen, size_t *out_buflen)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetRotation(FPDF_PAGE page, int rotate)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_CreateNewDocument()
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFImageObj_GetRenderedBitmap(FPDF_DOCUMENT document, FPDF_PAGE page, FPDF_PAGEOBJECT image_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_Close(FPDF_PAGEOBJECT path)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetFillColor(FPDF_PAGEOBJECT page_object, unsigned int R, unsigned int G, unsigned int B, unsigned int A)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetDashPhase(FPDF_PAGEOBJECT page_object, float *phase)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_SetTextRenderMode(FPDF_PAGEOBJECT text, FPDF_TEXT_RENDERMODE render_mode)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path, int *fillmode, FPDF_BOOL *stroke)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_HasTransparency(FPDF_PAGE page)
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont(FPDF_DOCUMENT document, const uint8_t *data, uint32_t size, int font_type, FPDF_BOOL cid)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetItalicAngle(FPDF_FONT font, int *angle)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFImageObj_GetImageDataRaw(FPDF_PAGEOBJECT image_object, void *buffer, unsigned long buflen)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFImageObj_GetImageFilter(FPDF_PAGEOBJECT image_object, int index, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetRotatedBounds(FPDF_PAGEOBJECT page_object, FS_QUADPOINTSF *quad_points)
FPDF_EXPORT size_t FPDF_CALLCONV FPDFFont_GetBaseFontName(FPDF_FONT font, char *buffer, size_t length)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetFillColor(FPDF_PAGEOBJECT page_object, unsigned int *R, unsigned int *G, unsigned int *B, unsigned int *A)
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFImageObj_GetBitmap(FPDF_PAGEOBJECT image_object)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObjMark_CountParams(FPDF_PAGEOBJECTMARK mark)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_RemoveMark(FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark)
FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetFlags(FPDF_FONT font)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_SetIntParam(FPDF_DOCUMENT document, FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, int value)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_GetParamStringValue(FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_CountMarks(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT size_t FPDF_CALLCONV FPDFFont_GetFamilyName(FPDF_FONT font, char *buffer, size_t length)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateNewRect(float x, float y, float w, float h)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_SetMatrix(FPDF_PAGEOBJECT image_object, double a, double b, double c, double d, double e, double f)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_LoadJpegFileInline(FPDF_PAGE *pages, int count, FPDF_PAGEOBJECT image_object, FPDF_FILEACCESS *file_access)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_NewImageObj(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_TransformAnnots(FPDF_PAGE page, double a, double b, double c, double d, double e, double f)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_RemoveObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_LineTo(FPDF_PAGEOBJECT path, float x, float y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_GetParamBlobValue(FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_NewTextObj(FPDF_DOCUMENT document, FPDF_BYTESTRING font, float font_size)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetLineJoin(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT int FPDF_CALLCONV FPDFImageObj_GetImageFilterCount(FPDF_PAGEOBJECT image_object)
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadStandardFont(FPDF_DOCUMENT document, FPDF_BYTESTRING font)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateTextObj(FPDF_DOCUMENT document, FPDF_FONT font, float font_size)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetCharcodes(FPDF_PAGEOBJECT text_object, const uint32_t *charcodes, size_t count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_RemoveParam(FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPage_GetObject(FPDF_PAGE page, int index)
FPDF_EXPORT FPDF_TEXT_RENDERMODE FPDF_CALLCONV FPDFTextObj_GetTextRenderMode(FPDF_PAGEOBJECT text)
FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV FPDFPageObjMark_GetParamValueType(FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_GetParamIntValue(FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, int *out_value)
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFTextObj_GetFont(FPDF_PAGEOBJECT text)
FPDF_EXPORT FPDF_GLYPHPATH FPDF_CALLCONV FPDFFont_GetGlyphPath(FPDF_FONT font, uint32_t glyph, float font_size)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetLineJoin(FPDF_PAGEOBJECT page_object, int line_join)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetLineCap(FPDF_PAGEOBJECT page_object, int line_cap)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_BezierTo(FPDF_PAGEOBJECT path, float x1, float y1, float x2, float y2, float x3, float y3)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetText(FPDF_PAGEOBJECT text_object, FPDF_WIDESTRING text)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT int FPDF_CALLCONV FPDFPath_CountSegments(FPDF_PAGEOBJECT path)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetDashArray(FPDF_PAGEOBJECT page_object, float *dash_array, size_t dash_count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_SetStringParam(FPDF_DOCUMENT document, FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, FPDF_BYTESTRING value)
FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_SetBlobParam(FPDF_DOCUMENT document, FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark, FPDF_BYTESTRING key, void *value, unsigned long value_len)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_MoveTo(FPDF_PAGEOBJECT path, float x, float y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetBounds(FPDF_PAGEOBJECT page_object, float *left, float *bottom, float *right, float *top)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_GetFontSize(FPDF_PAGEOBJECT text, float *size)
FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV FPDFPageObj_GetMark(FPDF_PAGEOBJECT page_object, unsigned long index)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_Delete(FPDF_DOCUMENT document, int page_index)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetStrokeWidth(FPDF_PAGEOBJECT page_object, float *width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetMatrix(FPDF_PAGEOBJECT page_object, const FS_MATRIX *matrix)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetDashPhase(FPDF_PAGEOBJECT page_object, float phase)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_SetStrokeWidth(FPDF_PAGEOBJECT page_object, float width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFImageObj_GetImagePixelSize(FPDF_PAGEOBJECT image_object, unsigned int *width, unsigned int *height)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetAscent(FPDF_FONT font, float font_size, float *ascent)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFImageObj_GetImageDataDecoded(FPDF_PAGEOBJECT image_object, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetMarkedContentID(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadCidType2Font(FPDF_DOCUMENT document, const uint8_t *font_data, uint32_t font_data_size, FPDF_BYTESTRING to_unicode_cmap, const uint8_t *cid_to_gid_map_data, uint32_t cid_to_gid_map_data_size)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GenerateContent(FPDF_PAGE page)
FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV FPDFGlyphPath_GetGlyphPathSegment(FPDF_GLYPHPATH glyphpath, int index)
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFTextObj_GetRenderedBitmap(FPDF_DOCUMENT document, FPDF_PAGE page, FPDF_PAGEOBJECT text_object, float scale)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_CountObjects(FPDF_PAGE page)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFFormObj_GetObject(FPDF_PAGEOBJECT form_object, unsigned long index)
FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV FPDFPageObj_AddMark(FPDF_PAGEOBJECT page_object, FPDF_BYTESTRING name)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObjMark_GetName(FPDF_PAGEOBJECTMARK mark, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetMatrix(FPDF_PAGEOBJECT page_object, FS_MATRIX *matrix)
FPDF_EXPORT int FPDF_CALLCONV FPDFGlyphPath_CountGlyphSegments(FPDF_GLYPHPATH glyphpath)
FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_SetBlendMode(FPDF_PAGEOBJECT page_object, FPDF_BYTESTRING blend_mode)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_TransformF(FPDF_PAGEOBJECT page_object, const FS_MATRIX *matrix)
FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object, double a, double b, double c, double d, double e, double f)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPageObj_GetStrokeColor(FPDF_PAGEOBJECT page_object, unsigned int *R, unsigned int *G, unsigned int *B, unsigned int *A)
FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Destroy(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPathSegment_GetClose(FPDF_PATHSEGMENT segment)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseMove(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_OnAfterLoadPage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SetIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index, FPDF_BOOL selected)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle, unsigned char alpha)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnFocus(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
#define JSPLATFORM_ALERT_ICON_ERROR
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseWheel(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, const FS_POINTF *page_coord, int delta_x, int delta_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceAndKeepSelection(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, FPDF_WIDESTRING wsText)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nKeyCode, int modifier)
FPDF_EXPORT void FPDF_CALLCONV FORM_OnBeforeClosePage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDoubleClick(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceSelection(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, FPDF_WIDESTRING wsText)
void(* TimerCallback)(int idEvent)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoPageAAction(FPDF_PAGE page, FPDF_FORMHANDLE hHandle, int aaType)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanRedo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SetFocusedAnnot(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_GetFocusedAnnot(FPDF_FORMHANDLE handle, int *page_index, FPDF_ANNOTATION *annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle)
#define JSPLATFORM_ALERT_BUTTON_OK
FPDF_EXPORT unsigned long FPDF_CALLCONV FORM_GetSelectedText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle, int aaType)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle, int fieldType, unsigned long color)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Redo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnChar(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nChar, int modifier)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_IsIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index)
FPDF_EXPORT FPDF_FORMHANDLE FPDF_CALLCONV FPDFDOC_InitFormFillEnvironment(FPDF_DOCUMENT document, FPDF_FORMFILLINFO *formInfo)
FPDF_EXPORT unsigned long FPDF_CALLCONV FORM_GetFocusedText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanUndo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nKeyCode, int modifier)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT void FPDF_CALLCONV FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SelectAllText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Undo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int flags)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetFormType(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_LoadXFA(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDFDoc_CloseJavaScriptAction(FPDF_JAVASCRIPT_ACTION javascript)
FPDF_EXPORT void FPDF_CALLCONV FPDF_StructTree_Close(FPDF_STRUCTTREE struct_tree)
FPDF_EXPORT void FPDF_CALLCONV FPDFLink_CloseWebLinks(FPDF_PAGELINK link_page)
FPDF_EXPORT void FPDF_CALLCONV FPDFText_FindClose(FPDF_SCHHANDLE handle)
FPDF_EXPORT void FPDF_CALLCONV FPDFText_ClosePage(FPDF_TEXTPAGE text_page)
Definition fpdf_text.cpp:56
FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyClipPath(FPDF_CLIPPATH clipPath)
FPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDF_LoadPage(FPDF_DOCUMENT document, int page_index)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetPageCount(FPDF_DOCUMENT document)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetLastError()
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFBitmap_CreateEx(int width, int height, int format, void *first_scan, int stride)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetSandBoxPolicy(FPDF_DWORD policy, FPDF_BOOL enable)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_VIEWERREF_GetPrintScaling(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_DeviceToPage(FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int device_x, int device_y, double *page_x, double *page_y)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadCustomDocument(FPDF_FILEACCESS *pFileAccess, FPDF_BYTESTRING password)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_PageToDevice(FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, double page_x, double page_y, int *device_x, int *device_y)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadDocument(FPDF_STRING file_path, FPDF_BYTESTRING password)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetHeight(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_DocumentHasValidCrossReferenceTable(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDFBitmap_Destroy(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DUPLEXTYPE FPDF_CALLCONV FPDF_VIEWERREF_GetDuplex(FPDF_DOCUMENT document)
FPDF_EXPORT float FPDF_CALLCONV FPDF_GetPageHeightF(FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary()
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetXFAPacketCount(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFBitmap_Create(int width, int height, int alpha)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetStride(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_PAGERANGE FPDF_CALLCONV FPDF_VIEWERREF_GetPrintPageRange(FPDF_DOCUMENT document)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetPageSizeByIndex(FPDF_DOCUMENT document, int page_index, double *width, double *height)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetDocUserPermissions(FPDF_DOCUMENT document)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageWidth(FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, FPDF_DWORD color)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetDocPermissions(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDF_InitLibrary()
FPDF_EXPORT FPDF_DEST FPDF_CALLCONV FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void *buffer, long *buflen)
FPDF_EXPORT FPDF_DEST FPDF_CALLCONV FPDF_GetNamedDestByName(FPDF_DOCUMENT document, FPDF_BYTESTRING name)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int flags)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetFileVersion(FPDF_DOCUMENT doc, int *fileVersion)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPageBitmapWithMatrix(FPDF_BITMAP bitmap, FPDF_PAGE page, const FS_MATRIX *matrix, const FS_RECTF *clipping, int flags)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetPageBoundingBox(FPDF_PAGE page, FS_RECTF *rect)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetFormat(FPDF_BITMAP bitmap)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_VIEWERREF_GetName(FPDF_DOCUMENT document, FPDF_BYTESTRING key, char *buffer, unsigned long length)
FPDF_EXPORT void FPDF_CALLCONV FPDF_InitLibraryWithConfig(const FPDF_LIBRARY_CONFIG *config)
FPDF_EXPORT void *FPDF_CALLCONV FPDFBitmap_GetBuffer(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DWORD FPDF_CALLCONV FPDF_CountNamedDests(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseDocument(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetPageSizeByIndexF(FPDF_DOCUMENT document, int page_index, FS_SIZEF *size)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetXFAPacketContent(FPDF_DOCUMENT document, int index, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDF_VIEWERREF_GetNumCopies(FPDF_DOCUMENT document)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetXFAPacketName(FPDF_DOCUMENT document, int index, void *buffer, unsigned long buflen)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageHeight(FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetWidth(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadMemDocument(const void *data_buf, int size, FPDF_BYTESTRING password)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetTrailerEnds(FPDF_DOCUMENT document, unsigned int *buffer, unsigned long length)
FPDF_EXPORT float FPDF_CALLCONV FPDF_GetPageWidthF(FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetSecurityHandlerRevision(FPDF_DOCUMENT document)
#define FPDF_CALLCONV
Definition fpdfview.h:229
#define FPDF_EXPORT
Definition fpdfview.h:223
#define FPDF_ANNOT
Definition fpdfview.h:790
void operator()(FPDF_ANNOTATION annot)
void operator()(FPDF_AVAIL avail)
void operator()(FPDF_BITMAP bitmap)
void operator()(FPDF_CLIPPATH clip_path)
void operator()(FPDF_DOCUMENT doc)
void operator()(FPDF_FONT font)
void operator()(FPDF_FORMHANDLE form)
void operator()(FPDF_JAVASCRIPT_ACTION javascript)
void operator()(FPDF_PAGE page)
void operator()(FPDF_PAGELINK pagelink)
void operator()(FPDF_PAGEOBJECT object)
void operator()(FPDF_STRUCTTREE tree)
void operator()(FPDF_SCHHANDLE handle)
void operator()(FPDF_TEXTPAGE text)
unsigned int bits_per_pixel
Definition fpdf_edit.h:87
unsigned int height
Definition fpdf_edit.h:81
unsigned int width
Definition fpdf_edit.h:79
void(* FFI_GotoURL)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document, FPDF_WIDESTRING wsURL)
int(* FFI_SetTimer)(struct _FPDF_FORMFILLINFO *pThis, int uElapse, TimerCallback lpTimerFunc)
int(* FFI_GetLanguage)(struct _FPDF_FORMFILLINFO *pThis, void *language, int length)
void(* FFI_UploadTo)(struct _FPDF_FORMFILLINFO *pThis, FPDF_FILEHANDLER *fileHandler, int fileFlag, FPDF_WIDESTRING uploadTo)
void(* FFI_Invalidate)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double left, double top, double right, double bottom)
void(* FFI_DisplayCaret)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, FPDF_BOOL bVisible, double left, double top, double right, double bottom)
void(* FFI_KillTimer)(struct _FPDF_FORMFILLINFO *pThis, int nTimerID)
void(* FFI_GetPageViewRect)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double *left, double *top, double *right, double *bottom)
int(* FFI_GetPlatform)(struct _FPDF_FORMFILLINFO *pThis, void *platform, int length)
void(* FFI_SetCurrentPage)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document, int iCurPage)
void(* FFI_SetCursor)(struct _FPDF_FORMFILLINFO *pThis, int nCursorType)
void(* FFI_DoGoToAction)(struct _FPDF_FORMFILLINFO *pThis, int nPageIndex, int zoomMode, float *fPosArray, int sizeofArray)
void(* FFI_DoURIAction)(struct _FPDF_FORMFILLINFO *pThis, FPDF_BYTESTRING bsURI)
void(* FFI_OnFocusChange)(struct _FPDF_FORMFILLINFO *param, FPDF_ANNOTATION annot, int page_index)
int(* FFI_GetCurrentPageIndex)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document)
void(* FFI_EmailTo)(struct _FPDF_FORMFILLINFO *pThis, FPDF_FILEHANDLER *fileHandler, FPDF_WIDESTRING pTo, FPDF_WIDESTRING pSubject, FPDF_WIDESTRING pCC, FPDF_WIDESTRING pBcc, FPDF_WIDESTRING pMsg)
IPDF_JSPLATFORM * m_pJsPlatform
void(* FFI_SetTextFieldFocus)(struct _FPDF_FORMFILLINFO *pThis, FPDF_WIDESTRING value, FPDF_DWORD valueLen, FPDF_BOOL is_focus)
void(* FFI_OutputSelectedRect)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double left, double top, double right, double bottom)
int(* FFI_GetRotation)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page)
void(* FFI_DoURIActionWithKeyboardModifier)(struct _FPDF_FORMFILLINFO *param, FPDF_BYTESTRING uri, int modifiers)
void(* FFI_ExecuteNamedAction)(struct _FPDF_FORMFILLINFO *pThis, FPDF_BYTESTRING namedAction)
void(* FFI_OnChange)(struct _FPDF_FORMFILLINFO *pThis)
void(* Release)(struct _FPDF_FORMFILLINFO *pThis)
void(* FFI_PageEvent)(struct _FPDF_FORMFILLINFO *pThis, int page_count, FPDF_DWORD event_type)
unsigned short wHour
unsigned short wMinute
unsigned short wMonth
unsigned short wDay
unsigned short wYear
unsigned short wMilliseconds
unsigned short wDayOfWeek
unsigned short wSecond
void(* AddSegment)(struct _FX_DOWNLOADHINTS *pThis, size_t offset, size_t size)
void(* Doc_submitForm)(struct _IPDF_JsPlatform *pThis, void *formData, int length, FPDF_WIDESTRING URL)
unsigned int m_v8EmbedderSlot
int(* Doc_getFilePath)(struct _IPDF_JsPlatform *pThis, void *filePath, int length)
void(* Doc_gotoPage)(struct _IPDF_JsPlatform *pThis, int nPageNum)
void(* Doc_print)(struct _IPDF_JsPlatform *pThis, FPDF_BOOL bUI, int nStart, int nEnd, FPDF_BOOL bSilent, FPDF_BOOL bShrinkToFit, FPDF_BOOL bPrintAsImage, FPDF_BOOL bReverse, FPDF_BOOL bAnnotations)
void(* Doc_mail)(struct _IPDF_JsPlatform *pThis, void *mailData, int length, FPDF_BOOL bUI, FPDF_WIDESTRING To, FPDF_WIDESTRING Subject, FPDF_WIDESTRING CC, FPDF_WIDESTRING BCC, FPDF_WIDESTRING Msg)
int(* app_response)(struct _IPDF_JsPlatform *pThis, FPDF_WIDESTRING Question, FPDF_WIDESTRING Title, FPDF_WIDESTRING Default, FPDF_WIDESTRING cLabel, FPDF_BOOL bPassword, void *response, int length)
int(* app_alert)(struct _IPDF_JsPlatform *pThis, FPDF_WIDESTRING Msg, FPDF_WIDESTRING Title, int Type, int Icon)
void(* app_beep)(struct _IPDF_JsPlatform *pThis, int nType)
int(* Field_browse)(struct _IPDF_JsPlatform *pThis, void *filePath, int length)