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.
201FPDFPage_RemoveObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object);
202
203// Get number of page objects inside |page|.
204//
205// page - handle to a page.
206//
207// Returns the number of objects in |page|.
209
210// Get object in |page| at |index|.
211//
212// page - handle to a page.
213// index - the index of a page object.
214//
215// Returns the handle to the page object, or NULL on failed.
216FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPage_GetObject(FPDF_PAGE page,
217 int index);
218
219// Checks if |page| contains transparency.
220//
221// page - handle to a page.
222//
223// Returns TRUE if |page| contains transparency.
224FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_HasTransparency(FPDF_PAGE page);
225
226// Generate the content of |page|.
227//
228// page - handle to a page.
229//
230// Returns TRUE on success.
231//
232// Before you save the page to a file, or reload the page, you must call
233// |FPDFPage_GenerateContent| or any changes to |page| will be lost.
234FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GenerateContent(FPDF_PAGE page);
235
236// Destroy |page_object| by releasing its resources. |page_object| must have
237// been created by FPDFPageObj_CreateNew{Path|Rect}() or
238// FPDFPageObj_New{Text|Image}Obj(). This function must be called on
239// newly-created objects if they are not added to a page through
240// FPDFPage_InsertObject() or to an annotation through FPDFAnnot_AppendObject().
241//
242// page_object - handle to a page object.
243FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Destroy(FPDF_PAGEOBJECT page_object);
244
245// Checks if |page_object| contains transparency.
246//
247// page_object - handle to a page object.
248//
249// Returns TRUE if |page_object| contains transparency.
251FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object);
252
253// Get type of |page_object|.
254//
255// page_object - handle to a page object.
256//
257// Returns one of the FPDF_PAGEOBJ_* values on success, FPDF_PAGEOBJ_UNKNOWN on
258// error.
259FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object);
260
261// Transform |page_object| by the given matrix.
262//
263// page_object - handle to a page object.
264// a - matrix value.
265// b - matrix value.
266// c - matrix value.
267// d - matrix value.
268// e - matrix value.
269// f - matrix value.
270//
271// The matrix is composed as:
272// |a c e|
273// |b d f|
274// and can be used to scale, rotate, shear and translate the |page_object|.
276FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
277 double a,
278 double b,
279 double c,
280 double d,
281 double e,
282 double f);
283
284// Experimental API.
285// Get the transform matrix of a page object.
286//
287// page_object - handle to a page object.
288// matrix - pointer to struct to receive the matrix value.
289//
290// The matrix is composed as:
291// |a c e|
292// |b d f|
293// and used to scale, rotate, shear and translate the page object.
294//
295// Returns TRUE on success.
297FPDFPageObj_GetMatrix(FPDF_PAGEOBJECT page_object, FS_MATRIX* matrix);
298
299// Experimental API.
300// Set the transform matrix of a page object.
301//
302// page_object - handle to a page object.
303// matrix - pointer to struct with the matrix value.
304//
305// The matrix is composed as:
306// |a c e|
307// |b d f|
308// and can be used to scale, rotate, shear and translate the page object.
309//
310// Returns TRUE on success.
312FPDFPageObj_SetMatrix(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
313
314// Transform all annotations in |page|.
315//
316// page - handle to a page.
317// a - matrix value.
318// b - matrix value.
319// c - matrix value.
320// d - matrix value.
321// e - matrix value.
322// f - matrix value.
323//
324// The matrix is composed as:
325// |a c e|
326// |b d f|
327// and can be used to scale, rotate, shear and translate the |page| annotations.
329 double a,
330 double b,
331 double c,
332 double d,
333 double e,
334 double f);
335
336// Create a new image object.
337//
338// document - handle to a document.
339//
340// Returns a handle to a new image object.
341FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
342FPDFPageObj_NewImageObj(FPDF_DOCUMENT document);
343
344// Experimental API.
345// Get number of content marks in |page_object|.
346//
347// page_object - handle to a page object.
348//
349// Returns the number of content marks in |page_object|, or -1 in case of
350// failure.
352FPDFPageObj_CountMarks(FPDF_PAGEOBJECT page_object);
353
354// Experimental API.
355// Get content mark in |page_object| at |index|.
356//
357// page_object - handle to a page object.
358// index - the index of a page object.
359//
360// Returns the handle to the content mark, or NULL on failure. The handle is
361// still owned by the library, and it should not be freed directly. It becomes
362// invalid if the page object is destroyed, either directly or indirectly by
363// unloading the page.
364FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV
365FPDFPageObj_GetMark(FPDF_PAGEOBJECT page_object, unsigned long index);
366
367// Experimental API.
368// Add a new content mark to a |page_object|.
369//
370// page_object - handle to a page object.
371// name - the name (tag) of the mark.
372//
373// Returns the handle to the content mark, or NULL on failure. The handle is
374// still owned by the library, and it should not be freed directly. It becomes
375// invalid if the page object is destroyed, either directly or indirectly by
376// unloading the page.
377FPDF_EXPORT FPDF_PAGEOBJECTMARK FPDF_CALLCONV
378FPDFPageObj_AddMark(FPDF_PAGEOBJECT page_object, FPDF_BYTESTRING name);
379
380// Experimental API.
381// Removes a content |mark| from a |page_object|.
382// The mark handle will be invalid after the removal.
383//
384// page_object - handle to a page object.
385// mark - handle to a content mark in that object to remove.
386//
387// Returns TRUE if the operation succeeded, FALSE if it failed.
389FPDFPageObj_RemoveMark(FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark);
390
391// Experimental API.
392// Get the name of a content mark.
393//
394// mark - handle to a content mark.
395// buffer - buffer for holding the returned name in UTF-16LE. This is only
396// modified if |buflen| is longer than the length of the name.
397// Optional, pass null to just retrieve the size of the buffer
398// needed.
399// buflen - length of the buffer.
400// out_buflen - pointer to variable that will receive the minimum buffer size
401// to contain the name. Not filled if FALSE is returned.
402//
403// Returns TRUE if the operation succeeded, FALSE if it failed.
405FPDFPageObjMark_GetName(FPDF_PAGEOBJECTMARK mark,
406 void* buffer,
407 unsigned long buflen,
408 unsigned long* out_buflen);
409
410// Experimental API.
411// Get the number of key/value pair parameters in |mark|.
412//
413// mark - handle to a content mark.
414//
415// Returns the number of key/value pair parameters |mark|, or -1 in case of
416// failure.
418FPDFPageObjMark_CountParams(FPDF_PAGEOBJECTMARK mark);
419
420// Experimental API.
421// Get the key of a property in a content mark.
422//
423// mark - handle to a content mark.
424// index - index of the property.
425// buffer - buffer for holding the returned key in UTF-16LE. This is only
426// modified if |buflen| is longer than the length of the key.
427// Optional, pass null to just retrieve the size of the buffer
428// needed.
429// buflen - length of the buffer.
430// out_buflen - pointer to variable that will receive the minimum buffer size
431// to contain the key. Not filled if FALSE is returned.
432//
433// Returns TRUE if the operation was successful, FALSE otherwise.
435FPDFPageObjMark_GetParamKey(FPDF_PAGEOBJECTMARK mark,
436 unsigned long index,
437 void* buffer,
438 unsigned long buflen,
439 unsigned long* out_buflen);
440
441// Experimental API.
442// Get the type of the value of a property in a content mark by key.
443//
444// mark - handle to a content mark.
445// key - string key of the property.
446//
447// Returns the type of the value, or FPDF_OBJECT_UNKNOWN in case of failure.
448FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV
449FPDFPageObjMark_GetParamValueType(FPDF_PAGEOBJECTMARK mark,
450 FPDF_BYTESTRING key);
451
452// Experimental API.
453// Get the value of a number property in a content mark by key as int.
454// FPDFPageObjMark_GetParamValueType() should have returned FPDF_OBJECT_NUMBER
455// for this property.
456//
457// mark - handle to a content mark.
458// key - string key of the property.
459// out_value - pointer to variable that will receive the value. Not filled if
460// false is returned.
461//
462// Returns TRUE if the key maps to a number value, FALSE otherwise.
464FPDFPageObjMark_GetParamIntValue(FPDF_PAGEOBJECTMARK mark,
465 FPDF_BYTESTRING key,
466 int* out_value);
467
468// Experimental API.
469// Get the value of a string property in a content mark by key.
470//
471// mark - handle to a content mark.
472// key - string key of the property.
473// buffer - buffer for holding the returned value in UTF-16LE. This is
474// only modified if |buflen| is longer than the length of the
475// value.
476// Optional, pass null to just retrieve the size of the buffer
477// needed.
478// buflen - length of the buffer.
479// out_buflen - pointer to variable that will receive the minimum buffer size
480// to contain the value. Not filled if FALSE is returned.
481//
482// Returns TRUE if the key maps to a string/blob value, FALSE otherwise.
484FPDFPageObjMark_GetParamStringValue(FPDF_PAGEOBJECTMARK mark,
485 FPDF_BYTESTRING key,
486 void* buffer,
487 unsigned long buflen,
488 unsigned long* out_buflen);
489
490// Experimental API.
491// Get the value of a blob property in a content mark by key.
492//
493// mark - handle to a content mark.
494// key - string key of the property.
495// buffer - buffer for holding the returned value. This is only modified
496// if |buflen| is at least as long as the length of the value.
497// Optional, pass null to just retrieve the size of the buffer
498// needed.
499// buflen - length of the buffer.
500// out_buflen - pointer to variable that will receive the minimum buffer size
501// to contain the value. Not filled if FALSE is returned.
502//
503// Returns TRUE if the key maps to a string/blob value, FALSE otherwise.
505FPDFPageObjMark_GetParamBlobValue(FPDF_PAGEOBJECTMARK mark,
506 FPDF_BYTESTRING key,
507 void* buffer,
508 unsigned long buflen,
509 unsigned long* out_buflen);
510
511// Experimental API.
512// Set the value of an int property in a content mark by key. If a parameter
513// with key |key| exists, its value is set to |value|. Otherwise, it is added as
514// a new parameter.
515//
516// document - handle to the document.
517// page_object - handle to the page object with the mark.
518// mark - handle to a content mark.
519// key - string key of the property.
520// value - int value to set.
521//
522// Returns TRUE if the operation succeeded, FALSE otherwise.
524FPDFPageObjMark_SetIntParam(FPDF_DOCUMENT document,
525 FPDF_PAGEOBJECT page_object,
526 FPDF_PAGEOBJECTMARK mark,
527 FPDF_BYTESTRING key,
528 int value);
529
530// Experimental API.
531// Set the value of a string property in a content mark by key. If a parameter
532// with key |key| exists, its value is set to |value|. Otherwise, it is added as
533// a new parameter.
534//
535// document - handle to the document.
536// page_object - handle to the page object with the mark.
537// mark - handle to a content mark.
538// key - string key of the property.
539// value - string value to set.
540//
541// Returns TRUE if the operation succeeded, FALSE otherwise.
543FPDFPageObjMark_SetStringParam(FPDF_DOCUMENT document,
544 FPDF_PAGEOBJECT page_object,
545 FPDF_PAGEOBJECTMARK mark,
546 FPDF_BYTESTRING key,
547 FPDF_BYTESTRING value);
548
549// Experimental API.
550// Set the value of a blob property in a content mark by key. If a parameter
551// with key |key| exists, its value is set to |value|. Otherwise, it is added as
552// a new parameter.
553//
554// document - handle to the document.
555// page_object - handle to the page object with the mark.
556// mark - handle to a content mark.
557// key - string key of the property.
558// value - pointer to blob value to set.
559// value_len - size in bytes of |value|.
560//
561// Returns TRUE if the operation succeeded, FALSE otherwise.
563FPDFPageObjMark_SetBlobParam(FPDF_DOCUMENT document,
564 FPDF_PAGEOBJECT page_object,
565 FPDF_PAGEOBJECTMARK mark,
566 FPDF_BYTESTRING key,
567 void* value,
568 unsigned long value_len);
569
570// Experimental API.
571// Removes a property from a content mark by key.
572//
573// page_object - handle to the page object with the mark.
574// mark - handle to a content mark.
575// key - string key of the property.
576//
577// Returns TRUE if the operation succeeded, FALSE otherwise.
579FPDFPageObjMark_RemoveParam(FPDF_PAGEOBJECT page_object,
580 FPDF_PAGEOBJECTMARK mark,
581 FPDF_BYTESTRING key);
582
583// Load an image from a JPEG image file and then set it into |image_object|.
584//
585// pages - pointer to the start of all loaded pages, may be NULL.
586// count - number of |pages|, may be 0.
587// image_object - handle to an image object.
588// file_access - file access handler which specifies the JPEG image file.
589//
590// Returns TRUE on success.
591//
592// The image object might already have an associated image, which is shared and
593// cached by the loaded pages. In that case, we need to clear the cached image
594// for all the loaded pages. Pass |pages| and page count (|count|) to this API
595// to clear the image cache. If the image is not previously shared, or NULL is a
596// valid |pages| value.
598FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages,
599 int count,
600 FPDF_PAGEOBJECT image_object,
601 FPDF_FILEACCESS* file_access);
602
603// Load an image from a JPEG image file and then set it into |image_object|.
604//
605// pages - pointer to the start of all loaded pages, may be NULL.
606// count - number of |pages|, may be 0.
607// image_object - handle to an image object.
608// file_access - file access handler which specifies the JPEG image file.
609//
610// Returns TRUE on success.
611//
612// The image object might already have an associated image, which is shared and
613// cached by the loaded pages. In that case, we need to clear the cached image
614// for all the loaded pages. Pass |pages| and page count (|count|) to this API
615// to clear the image cache. If the image is not previously shared, or NULL is a
616// valid |pages| value. This function loads the JPEG image inline, so the image
617// content is copied to the file. This allows |file_access| and its associated
618// data to be deleted after this function returns.
620FPDFImageObj_LoadJpegFileInline(FPDF_PAGE* pages,
621 int count,
622 FPDF_PAGEOBJECT image_object,
623 FPDF_FILEACCESS* file_access);
624
625// TODO(thestig): Start deprecating this once FPDFPageObj_SetMatrix() is stable.
626//
627// Set the transform matrix of |image_object|.
628//
629// image_object - handle to an image object.
630// a - matrix value.
631// b - matrix value.
632// c - matrix value.
633// d - matrix value.
634// e - matrix value.
635// f - matrix value.
636//
637// The matrix is composed as:
638// |a c e|
639// |b d f|
640// and can be used to scale, rotate, shear and translate the |image_object|.
641//
642// Returns TRUE on success.
644FPDFImageObj_SetMatrix(FPDF_PAGEOBJECT image_object,
645 double a,
646 double b,
647 double c,
648 double d,
649 double e,
650 double f);
651
652// Set |bitmap| to |image_object|.
653//
654// pages - pointer to the start of all loaded pages, may be NULL.
655// count - number of |pages|, may be 0.
656// image_object - handle to an image object.
657// bitmap - handle of the bitmap.
658//
659// Returns TRUE on success.
661FPDFImageObj_SetBitmap(FPDF_PAGE* pages,
662 int count,
663 FPDF_PAGEOBJECT image_object,
664 FPDF_BITMAP bitmap);
665
666// Get a bitmap rasterization of |image_object|. FPDFImageObj_GetBitmap() only
667// operates on |image_object| and does not take the associated image mask into
668// account. It also ignores the matrix for |image_object|.
669// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
670// must be called on the returned bitmap when it is no longer needed.
671//
672// image_object - handle to an image object.
673//
674// Returns the bitmap.
675FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
676FPDFImageObj_GetBitmap(FPDF_PAGEOBJECT image_object);
677
678// Experimental API.
679// Get a bitmap rasterization of |image_object| that takes the image mask and
680// image matrix into account. To render correctly, the caller must provide the
681// |document| associated with |image_object|. If there is a |page| associated
682// with |image_object|, the caller should provide that as well.
683// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
684// must be called on the returned bitmap when it is no longer needed.
685//
686// document - handle to a document associated with |image_object|.
687// page - handle to an optional page associated with |image_object|.
688// image_object - handle to an image object.
689//
690// Returns the bitmap or NULL on failure.
691FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
692FPDFImageObj_GetRenderedBitmap(FPDF_DOCUMENT document,
693 FPDF_PAGE page,
694 FPDF_PAGEOBJECT image_object);
695
696// Get the decoded image data of |image_object|. The decoded data is the
697// uncompressed image data, i.e. the raw image data after having all filters
698// applied. |buffer| is only modified if |buflen| is longer than the length of
699// the decoded image data.
700//
701// image_object - handle to an image object.
702// buffer - buffer for holding the decoded image data.
703// buflen - length of the buffer in bytes.
704//
705// Returns the length of the decoded image data.
706FPDF_EXPORT unsigned long FPDF_CALLCONV
707FPDFImageObj_GetImageDataDecoded(FPDF_PAGEOBJECT image_object,
708 void* buffer,
709 unsigned long buflen);
710
711// Get the raw image data of |image_object|. The raw data is the image data as
712// stored in the PDF without applying any filters. |buffer| is only modified if
713// |buflen| is longer than the length of the raw image data.
714//
715// image_object - handle to an image object.
716// buffer - buffer for holding the raw image data.
717// buflen - length of the buffer in bytes.
718//
719// Returns the length of the raw image data.
720FPDF_EXPORT unsigned long FPDF_CALLCONV
721FPDFImageObj_GetImageDataRaw(FPDF_PAGEOBJECT image_object,
722 void* buffer,
723 unsigned long buflen);
724
725// Get the number of filters (i.e. decoders) of the image in |image_object|.
726//
727// image_object - handle to an image object.
728//
729// Returns the number of |image_object|'s filters.
731FPDFImageObj_GetImageFilterCount(FPDF_PAGEOBJECT image_object);
732
733// Get the filter at |index| of |image_object|'s list of filters. Note that the
734// filters need to be applied in order, i.e. the first filter should be applied
735// first, then the second, etc. |buffer| is only modified if |buflen| is longer
736// than the length of the filter string.
737//
738// image_object - handle to an image object.
739// index - the index of the filter requested.
740// buffer - buffer for holding filter string, encoded in UTF-8.
741// buflen - length of the buffer.
742//
743// Returns the length of the filter string.
744FPDF_EXPORT unsigned long FPDF_CALLCONV
745FPDFImageObj_GetImageFilter(FPDF_PAGEOBJECT image_object,
746 int index,
747 void* buffer,
748 unsigned long buflen);
749
750// Get the image metadata of |image_object|, including dimension, DPI, bits per
751// pixel, and colorspace. If the |image_object| is not an image object or if it
752// does not have an image, then the return value will be false. Otherwise,
753// failure to retrieve any specific parameter would result in its value being 0.
754//
755// image_object - handle to an image object.
756// page - handle to the page that |image_object| is on. Required for
757// retrieving the image's bits per pixel and colorspace.
758// metadata - receives the image metadata; must not be NULL.
759//
760// Returns true if successful.
762FPDFImageObj_GetImageMetadata(FPDF_PAGEOBJECT image_object,
763 FPDF_PAGE page,
764 FPDF_IMAGEOBJ_METADATA* metadata);
765
766// Experimental API.
767// Get the image size in pixels. Faster method to get only image size.
768//
769// image_object - handle to an image object.
770// width - receives the image width in pixels; must not be NULL.
771// height - receives the image height in pixels; must not be NULL.
772//
773// Returns true if successful.
775FPDFImageObj_GetImagePixelSize(FPDF_PAGEOBJECT image_object,
776 unsigned int* width,
777 unsigned int* height);
778
779// Create a new path object at an initial position.
780//
781// x - initial horizontal position.
782// y - initial vertical position.
783//
784// Returns a handle to a new path object.
786 float y);
787
788// Create a closed path consisting of a rectangle.
789//
790// x - horizontal position for the left boundary of the rectangle.
791// y - vertical position for the bottom boundary of the rectangle.
792// w - width of the rectangle.
793// h - height of the rectangle.
794//
795// Returns a handle to the new path object.
797 float y,
798 float w,
799 float h);
800
801// Get the bounding box of |page_object|.
802//
803// page_object - handle to a page object.
804// left - pointer where the left coordinate will be stored
805// bottom - pointer where the bottom coordinate will be stored
806// right - pointer where the right coordinate will be stored
807// top - pointer where the top coordinate will be stored
808//
809// On success, returns TRUE and fills in the 4 coordinates.
811FPDFPageObj_GetBounds(FPDF_PAGEOBJECT page_object,
812 float* left,
813 float* bottom,
814 float* right,
815 float* top);
816
817// Experimental API.
818// Get the quad points that bounds |page_object|.
819//
820// page_object - handle to a page object.
821// quad_points - pointer where the quadrilateral points will be stored.
822//
823// On success, returns TRUE and fills in |quad_points|.
824//
825// Similar to FPDFPageObj_GetBounds(), this returns the bounds of a page
826// object. When the object is rotated by a non-multiple of 90 degrees, this API
827// returns a tighter bound that cannot be represented with just the 4 sides of
828// a rectangle.
829//
830// Currently only works the following |page_object| types: FPDF_PAGEOBJ_TEXT and
831// FPDF_PAGEOBJ_IMAGE.
833FPDFPageObj_GetRotatedBounds(FPDF_PAGEOBJECT page_object,
834 FS_QUADPOINTSF* quad_points);
835
836// Set the blend mode of |page_object|.
837//
838// page_object - handle to a page object.
839// blend_mode - string containing the blend mode.
840//
841// Blend mode can be one of following: Color, ColorBurn, ColorDodge, Darken,
842// Difference, Exclusion, HardLight, Hue, Lighten, Luminosity, Multiply, Normal,
843// Overlay, Saturation, Screen, SoftLight
845FPDFPageObj_SetBlendMode(FPDF_PAGEOBJECT page_object,
846 FPDF_BYTESTRING blend_mode);
847
848// Set the stroke RGBA of a page object. Range of values: 0 - 255.
849//
850// page_object - the handle to the page object.
851// R - the red component for the object's stroke color.
852// G - the green component for the object's stroke color.
853// B - the blue component for the object's stroke color.
854// A - the stroke alpha for the object.
855//
856// Returns TRUE on success.
858FPDFPageObj_SetStrokeColor(FPDF_PAGEOBJECT page_object,
859 unsigned int R,
860 unsigned int G,
861 unsigned int B,
862 unsigned int A);
863
864// Get the stroke RGBA of a page object. Range of values: 0 - 255.
865//
866// page_object - the handle to the page object.
867// R - the red component of the path stroke color.
868// G - the green component of the object's stroke color.
869// B - the blue component of the object's stroke color.
870// A - the stroke alpha of the object.
871//
872// Returns TRUE on success.
874FPDFPageObj_GetStrokeColor(FPDF_PAGEOBJECT page_object,
875 unsigned int* R,
876 unsigned int* G,
877 unsigned int* B,
878 unsigned int* A);
879
880// Set the stroke width of a page object.
881//
882// path - the handle to the page object.
883// width - the width of the stroke.
884//
885// Returns TRUE on success
887FPDFPageObj_SetStrokeWidth(FPDF_PAGEOBJECT page_object, float width);
888
889// Get the stroke width of a page object.
890//
891// path - the handle to the page object.
892// width - the width of the stroke.
893//
894// Returns TRUE on success
896FPDFPageObj_GetStrokeWidth(FPDF_PAGEOBJECT page_object, float* width);
897
898// Get the line join of |page_object|.
899//
900// page_object - handle to a page object.
901//
902// Returns the line join, or -1 on failure.
903// Line join can be one of following: FPDF_LINEJOIN_MITER, FPDF_LINEJOIN_ROUND,
904// FPDF_LINEJOIN_BEVEL
906FPDFPageObj_GetLineJoin(FPDF_PAGEOBJECT page_object);
907
908// Set the line join of |page_object|.
909//
910// page_object - handle to a page object.
911// line_join - line join
912//
913// Line join can be one of following: FPDF_LINEJOIN_MITER, FPDF_LINEJOIN_ROUND,
914// FPDF_LINEJOIN_BEVEL
916FPDFPageObj_SetLineJoin(FPDF_PAGEOBJECT page_object, int line_join);
917
918// Get the line cap of |page_object|.
919//
920// page_object - handle to a page object.
921//
922// Returns the line cap, or -1 on failure.
923// Line cap can be one of following: FPDF_LINECAP_BUTT, FPDF_LINECAP_ROUND,
924// FPDF_LINECAP_PROJECTING_SQUARE
926FPDFPageObj_GetLineCap(FPDF_PAGEOBJECT page_object);
927
928// Set the line cap of |page_object|.
929//
930// page_object - handle to a page object.
931// line_cap - line cap
932//
933// Line cap can be one of following: FPDF_LINECAP_BUTT, FPDF_LINECAP_ROUND,
934// FPDF_LINECAP_PROJECTING_SQUARE
936FPDFPageObj_SetLineCap(FPDF_PAGEOBJECT page_object, int line_cap);
937
938// Set the fill RGBA of a page object. Range of values: 0 - 255.
939//
940// page_object - the handle to the page object.
941// R - the red component for the object's fill color.
942// G - the green component for the object's fill color.
943// B - the blue component for the object's fill color.
944// A - the fill alpha for the object.
945//
946// Returns TRUE on success.
948FPDFPageObj_SetFillColor(FPDF_PAGEOBJECT page_object,
949 unsigned int R,
950 unsigned int G,
951 unsigned int B,
952 unsigned int A);
953
954// Get the fill RGBA of a page object. Range of values: 0 - 255.
955//
956// page_object - the handle to the page object.
957// R - the red component of the object's fill color.
958// G - the green component of the object's fill color.
959// B - the blue component of the object's fill color.
960// A - the fill alpha of the object.
961//
962// Returns TRUE on success.
964FPDFPageObj_GetFillColor(FPDF_PAGEOBJECT page_object,
965 unsigned int* R,
966 unsigned int* G,
967 unsigned int* B,
968 unsigned int* A);
969
970// Experimental API.
971// Get the line dash |phase| of |page_object|.
972//
973// page_object - handle to a page object.
974// phase - pointer where the dashing phase will be stored.
975//
976// Returns TRUE on success.
978FPDFPageObj_GetDashPhase(FPDF_PAGEOBJECT page_object, float* phase);
979
980// Experimental API.
981// Set the line dash phase of |page_object|.
982//
983// page_object - handle to a page object.
984// phase - line dash phase.
985//
986// Returns TRUE on success.
988FPDFPageObj_SetDashPhase(FPDF_PAGEOBJECT page_object, float phase);
989
990// Experimental API.
991// Get the line dash array of |page_object|.
992//
993// page_object - handle to a page object.
994//
995// Returns the line dash array size or -1 on failure.
997FPDFPageObj_GetDashCount(FPDF_PAGEOBJECT page_object);
998
999// Experimental API.
1000// Get the line dash array of |page_object|.
1001//
1002// page_object - handle to a page object.
1003// dash_array - pointer where the dashing array will be stored.
1004// dash_count - number of elements in |dash_array|.
1005//
1006// Returns TRUE on success.
1007FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1008FPDFPageObj_GetDashArray(FPDF_PAGEOBJECT page_object,
1009 float* dash_array,
1010 size_t dash_count);
1011
1012// Experimental API.
1013// Set the line dash array of |page_object|.
1014//
1015// page_object - handle to a page object.
1016// dash_array - the dash array.
1017// dash_count - number of elements in |dash_array|.
1018// phase - the line dash phase.
1019//
1020// Returns TRUE on success.
1021FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1022FPDFPageObj_SetDashArray(FPDF_PAGEOBJECT page_object,
1023 const float* dash_array,
1024 size_t dash_count,
1025 float phase);
1026
1027// Get number of segments inside |path|.
1028//
1029// path - handle to a path.
1030//
1031// A segment is a command, created by e.g. FPDFPath_MoveTo(),
1032// FPDFPath_LineTo() or FPDFPath_BezierTo().
1033//
1034// Returns the number of objects in |path| or -1 on failure.
1035FPDF_EXPORT int FPDF_CALLCONV FPDFPath_CountSegments(FPDF_PAGEOBJECT path);
1036
1037// Get segment in |path| at |index|.
1038//
1039// path - handle to a path.
1040// index - the index of a segment.
1041//
1042// Returns the handle to the segment, or NULL on faiure.
1043FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV
1044FPDFPath_GetPathSegment(FPDF_PAGEOBJECT path, int index);
1045
1046// Get coordinates of |segment|.
1047//
1048// segment - handle to a segment.
1049// x - the horizontal position of the segment.
1050// y - the vertical position of the segment.
1051//
1052// Returns TRUE on success, otherwise |x| and |y| is not set.
1053FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1054FPDFPathSegment_GetPoint(FPDF_PATHSEGMENT segment, float* x, float* y);
1055
1056// Get type of |segment|.
1057//
1058// segment - handle to a segment.
1059//
1060// Returns one of the FPDF_SEGMENT_* values on success,
1061// FPDF_SEGMENT_UNKNOWN on error.
1062FPDF_EXPORT int FPDF_CALLCONV FPDFPathSegment_GetType(FPDF_PATHSEGMENT segment);
1063
1064// Gets if the |segment| closes the current subpath of a given path.
1065//
1066// segment - handle to a segment.
1067//
1068// Returns close flag for non-NULL segment, FALSE otherwise.
1069FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1070FPDFPathSegment_GetClose(FPDF_PATHSEGMENT segment);
1071
1072// Move a path's current point.
1073//
1074// path - the handle to the path object.
1075// x - the horizontal position of the new current point.
1076// y - the vertical position of the new current point.
1077//
1078// Note that no line will be created between the previous current point and the
1079// new one.
1080//
1081// Returns TRUE on success
1082FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_MoveTo(FPDF_PAGEOBJECT path,
1083 float x,
1084 float y);
1085
1086// Add a line between the current point and a new point in the path.
1087//
1088// path - the handle to the path object.
1089// x - the horizontal position of the new point.
1090// y - the vertical position of the new point.
1091//
1092// The path's current point is changed to (x, y).
1093//
1094// Returns TRUE on success
1095FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_LineTo(FPDF_PAGEOBJECT path,
1096 float x,
1097 float y);
1098
1099// Add a cubic Bezier curve to the given path, starting at the current point.
1100//
1101// path - the handle to the path object.
1102// x1 - the horizontal position of the first Bezier control point.
1103// y1 - the vertical position of the first Bezier control point.
1104// x2 - the horizontal position of the second Bezier control point.
1105// y2 - the vertical position of the second Bezier control point.
1106// x3 - the horizontal position of the ending point of the Bezier curve.
1107// y3 - the vertical position of the ending point of the Bezier curve.
1108//
1109// Returns TRUE on success
1110FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_BezierTo(FPDF_PAGEOBJECT path,
1111 float x1,
1112 float y1,
1113 float x2,
1114 float y2,
1115 float x3,
1116 float y3);
1117
1118// Close the current subpath of a given path.
1119//
1120// path - the handle to the path object.
1121//
1122// This will add a line between the current point and the initial point of the
1123// subpath, thus terminating the current subpath.
1124//
1125// Returns TRUE on success
1126FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_Close(FPDF_PAGEOBJECT path);
1127
1128// Set the drawing mode of a path.
1129//
1130// path - the handle to the path object.
1131// fillmode - the filling mode to be set: one of the FPDF_FILLMODE_* flags.
1132// stroke - a boolean specifying if the path should be stroked or not.
1133//
1134// Returns TRUE on success
1135FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path,
1136 int fillmode,
1137 FPDF_BOOL stroke);
1138
1139// Get the drawing mode of a path.
1140//
1141// path - the handle to the path object.
1142// fillmode - the filling mode of the path: one of the FPDF_FILLMODE_* flags.
1143// stroke - a boolean specifying if the path is stroked or not.
1144//
1145// Returns TRUE on success
1146FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
1147 int* fillmode,
1148 FPDF_BOOL* stroke);
1149
1150// Create a new text object using one of the standard PDF fonts.
1151//
1152// document - handle to the document.
1153// font - string containing the font name, without spaces.
1154// font_size - the font size for the new text object.
1155//
1156// Returns a handle to a new text object, or NULL on failure
1157FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1158FPDFPageObj_NewTextObj(FPDF_DOCUMENT document,
1159 FPDF_BYTESTRING font,
1160 float font_size);
1161
1162// Set the text for a text object. If it had text, it will be replaced.
1163//
1164// text_object - handle to the text object.
1165// text - the UTF-16LE encoded string containing the text to be added.
1166//
1167// Returns TRUE on success
1168FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1169FPDFText_SetText(FPDF_PAGEOBJECT text_object, FPDF_WIDESTRING text);
1170
1171// Experimental API.
1172// Set the text using charcodes for a text object. If it had text, it will be
1173// replaced.
1174//
1175// text_object - handle to the text object.
1176// charcodes - pointer to an array of charcodes to be added.
1177// count - number of elements in |charcodes|.
1178//
1179// Returns TRUE on success
1180FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1181FPDFText_SetCharcodes(FPDF_PAGEOBJECT text_object,
1182 const uint32_t* charcodes,
1183 size_t count);
1184
1185// Returns a font object loaded from a stream of data. The font is loaded
1186// into the document.
1187//
1188// document - handle to the document.
1189// data - the stream of data, which will be copied by the font object.
1190// size - size of the stream, in bytes.
1191// font_type - FPDF_FONT_TYPE1 or FPDF_FONT_TRUETYPE depending on the font
1192// type.
1193// cid - a boolean specifying if the font is a CID font or not.
1194//
1195// The loaded font can be closed using FPDFFont_Close.
1196//
1197// Returns NULL on failure
1198FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont(FPDF_DOCUMENT document,
1199 const uint8_t* data,
1200 uint32_t size,
1201 int font_type,
1202 FPDF_BOOL cid);
1203
1204// Experimental API.
1205// Loads one of the standard 14 fonts per PDF spec 1.7 page 416. The preferred
1206// way of using font style is using a dash to separate the name from the style,
1207// for example 'Helvetica-BoldItalic'.
1208//
1209// document - handle to the document.
1210// font - string containing the font name, without spaces.
1211//
1212// The loaded font can be closed using FPDFFont_Close.
1213//
1214// Returns NULL on failure.
1215FPDF_EXPORT FPDF_FONT FPDF_CALLCONV
1216FPDFText_LoadStandardFont(FPDF_DOCUMENT document, FPDF_BYTESTRING font);
1217
1218// Get the font size of a text object.
1219//
1220// text - handle to a text.
1221// size - pointer to the font size of the text object, measured in points
1222// (about 1/72 inch)
1223//
1224// Returns TRUE on success.
1225FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1226FPDFTextObj_GetFontSize(FPDF_PAGEOBJECT text, float* size);
1227
1228// Close a loaded PDF font.
1229//
1230// font - Handle to the loaded font.
1231FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font);
1232
1233// Create a new text object using a loaded font.
1234//
1235// document - handle to the document.
1236// font - handle to the font object.
1237// font_size - the font size for the new text object.
1238//
1239// Returns a handle to a new text object, or NULL on failure
1240FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1241FPDFPageObj_CreateTextObj(FPDF_DOCUMENT document,
1242 FPDF_FONT font,
1243 float font_size);
1244
1245// Get the text rendering mode of a text object.
1246//
1247// text - the handle to the text object.
1248//
1249// Returns one of the known FPDF_TEXT_RENDERMODE enum values on success,
1250// FPDF_TEXTRENDERMODE_UNKNOWN on error.
1251FPDF_EXPORT FPDF_TEXT_RENDERMODE FPDF_CALLCONV
1252FPDFTextObj_GetTextRenderMode(FPDF_PAGEOBJECT text);
1253
1254// Experimental API.
1255// Set the text rendering mode of a text object.
1256//
1257// text - the handle to the text object.
1258// render_mode - the FPDF_TEXT_RENDERMODE enum value to be set (cannot set to
1259// FPDF_TEXTRENDERMODE_UNKNOWN).
1260//
1261// Returns TRUE on success.
1262FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1263FPDFTextObj_SetTextRenderMode(FPDF_PAGEOBJECT text,
1264 FPDF_TEXT_RENDERMODE render_mode);
1265
1266// Get the text of a text object.
1267//
1268// text_object - the handle to the text object.
1269// text_page - the handle to the text page.
1270// buffer - the address of a buffer that receives the text.
1271// length - the size, in bytes, of |buffer|.
1272//
1273// Returns the number of bytes in the text (including the trailing NUL
1274// character) on success, 0 on error.
1275//
1276// Regardless of the platform, the |buffer| is always in UTF-16LE encoding.
1277// If |length| is less than the returned length, or |buffer| is NULL, |buffer|
1278// will not be modified.
1279FPDF_EXPORT unsigned long FPDF_CALLCONV
1280FPDFTextObj_GetText(FPDF_PAGEOBJECT text_object,
1281 FPDF_TEXTPAGE text_page,
1282 FPDF_WCHAR* buffer,
1283 unsigned long length);
1284
1285// Experimental API.
1286// Get a bitmap rasterization of |text_object|. To render correctly, the caller
1287// must provide the |document| associated with |text_object|. If there is a
1288// |page| associated with |text_object|, the caller should provide that as well.
1289// The returned bitmap will be owned by the caller, and FPDFBitmap_Destroy()
1290// must be called on the returned bitmap when it is no longer needed.
1291//
1292// document - handle to a document associated with |text_object|.
1293// page - handle to an optional page associated with |text_object|.
1294// text_object - handle to a text object.
1295// scale - the scaling factor, which must be greater than 0.
1296//
1297// Returns the bitmap or NULL on failure.
1298FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
1299FPDFTextObj_GetRenderedBitmap(FPDF_DOCUMENT document,
1300 FPDF_PAGE page,
1301 FPDF_PAGEOBJECT text_object,
1302 float scale);
1303
1304// Experimental API.
1305// Get the font of a text object.
1306//
1307// text - the handle to the text object.
1308//
1309// Returns a handle to the font object held by |text| which retains ownership.
1310FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFTextObj_GetFont(FPDF_PAGEOBJECT text);
1311
1312// Experimental API.
1313// Get the font name of a font.
1314//
1315// font - the handle to the font object.
1316// buffer - the address of a buffer that receives the font name.
1317// length - the size, in bytes, of |buffer|.
1318//
1319// Returns the number of bytes in the font name (including the trailing NUL
1320// character) on success, 0 on error.
1321//
1322// Regardless of the platform, the |buffer| is always in UTF-8 encoding.
1323// If |length| is less than the returned length, or |buffer| is NULL, |buffer|
1324// will not be modified.
1325FPDF_EXPORT unsigned long FPDF_CALLCONV
1326FPDFFont_GetFontName(FPDF_FONT font, char* buffer, unsigned long length);
1327
1328// Experimental API.
1329// Get the decoded data from the |font| object.
1330//
1331// font - The handle to the font object. (Required)
1332// buffer - The address of a buffer that receives the font data.
1333// buflen - Length of the buffer.
1334// out_buflen - Pointer to variable that will receive the minimum buffer size
1335// to contain the font data. Not filled if the return value is
1336// FALSE. (Required)
1337//
1338// Returns TRUE on success. In which case, |out_buflen| will be filled, and
1339// |buffer| will be filled if it is large enough. Returns FALSE if any of the
1340// required parameters are null.
1341//
1342// The decoded data is the uncompressed font data. i.e. the raw font data after
1343// having all stream filters applied, when the data is embedded.
1344//
1345// If the font is not embedded, then this API will instead return the data for
1346// the substitution font it is using.
1347FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetFontData(FPDF_FONT font,
1348 uint8_t* buffer,
1349 size_t buflen,
1350 size_t* out_buflen);
1351
1352// Experimental API.
1353// Get whether |font| is embedded or not.
1354//
1355// font - the handle to the font object.
1356//
1357// Returns 1 if the font is embedded, 0 if it not, and -1 on failure.
1359
1360// Experimental API.
1361// Get the descriptor flags of a font.
1362//
1363// font - the handle to the font object.
1364//
1365// Returns the bit flags specifying various characteristics of the font as
1366// defined in ISO 32000-1:2008, table 123, -1 on failure.
1367FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetFlags(FPDF_FONT font);
1368
1369// Experimental API.
1370// Get the font weight of a font.
1371//
1372// font - the handle to the font object.
1373//
1374// Returns the font weight, -1 on failure.
1375// Typical values are 400 (normal) and 700 (bold).
1376FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetWeight(FPDF_FONT font);
1377
1378// Experimental API.
1379// Get the italic angle of a font.
1380//
1381// font - the handle to the font object.
1382// angle - pointer where the italic angle will be stored
1383//
1384// The italic angle of a |font| is defined as degrees counterclockwise
1385// from vertical. For a font that slopes to the right, this will be negative.
1386//
1387// Returns TRUE on success; |angle| unmodified on failure.
1388FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetItalicAngle(FPDF_FONT font,
1389 int* angle);
1390
1391// Experimental API.
1392// Get ascent distance of a font.
1393//
1394// font - the handle to the font object.
1395// font_size - the size of the |font|.
1396// ascent - pointer where the font ascent will be stored
1397//
1398// Ascent is the maximum distance in points above the baseline reached by the
1399// glyphs of the |font|. One point is 1/72 inch (around 0.3528 mm).
1400//
1401// Returns TRUE on success; |ascent| unmodified on failure.
1402FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetAscent(FPDF_FONT font,
1403 float font_size,
1404 float* ascent);
1405
1406// Experimental API.
1407// Get descent distance of a font.
1408//
1409// font - the handle to the font object.
1410// font_size - the size of the |font|.
1411// descent - pointer where the font descent will be stored
1412//
1413// Descent is the maximum distance in points below the baseline reached by the
1414// glyphs of the |font|. One point is 1/72 inch (around 0.3528 mm).
1415//
1416// Returns TRUE on success; |descent| unmodified on failure.
1417FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetDescent(FPDF_FONT font,
1418 float font_size,
1419 float* descent);
1420
1421// Experimental API.
1422// Get the width of a glyph in a font.
1423//
1424// font - the handle to the font object.
1425// glyph - the glyph.
1426// font_size - the size of the font.
1427// width - pointer where the glyph width will be stored
1428//
1429// Glyph width is the distance from the end of the prior glyph to the next
1430// glyph. This will be the vertical distance for vertical writing.
1431//
1432// Returns TRUE on success; |width| unmodified on failure.
1433FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetGlyphWidth(FPDF_FONT font,
1434 uint32_t glyph,
1435 float font_size,
1436 float* width);
1437
1438// Experimental API.
1439// Get the glyphpath describing how to draw a font glyph.
1440//
1441// font - the handle to the font object.
1442// glyph - the glyph being drawn.
1443// font_size - the size of the font.
1444//
1445// Returns the handle to the segment, or NULL on faiure.
1446FPDF_EXPORT FPDF_GLYPHPATH FPDF_CALLCONV FPDFFont_GetGlyphPath(FPDF_FONT font,
1447 uint32_t glyph,
1448 float font_size);
1449
1450// Experimental API.
1451// Get number of segments inside glyphpath.
1452//
1453// glyphpath - handle to a glyph path.
1454//
1455// Returns the number of objects in |glyphpath| or -1 on failure.
1457FPDFGlyphPath_CountGlyphSegments(FPDF_GLYPHPATH glyphpath);
1458
1459// Experimental API.
1460// Get segment in glyphpath at index.
1461//
1462// glyphpath - handle to a glyph path.
1463// index - the index of a segment.
1464//
1465// Returns the handle to the segment, or NULL on faiure.
1466FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV
1467FPDFGlyphPath_GetGlyphPathSegment(FPDF_GLYPHPATH glyphpath, int index);
1468
1469// Get number of page objects inside |form_object|.
1470//
1471// form_object - handle to a form object.
1472//
1473// Returns the number of objects in |form_object| on success, -1 on error.
1475FPDFFormObj_CountObjects(FPDF_PAGEOBJECT form_object);
1476
1477// Get page object in |form_object| at |index|.
1478//
1479// form_object - handle to a form object.
1480// index - the 0-based index of a page object.
1481//
1482// Returns the handle to the page object, or NULL on error.
1483FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
1484FPDFFormObj_GetObject(FPDF_PAGEOBJECT form_object, unsigned long index);
1485
1486#ifdef __cplusplus
1487} // extern "C"
1488#endif // __cplusplus
1489
1490#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 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_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_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 unsigned long FPDF_CALLCONV FPDFFont_GetFontName(FPDF_FONT font, char *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 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 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 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 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:53
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 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 void 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_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:227
#define FPDF_EXPORT
Definition fpdfview.h:221
#define FPDF_ANNOT
Definition fpdfview.h:804
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)