fpdf_form_r.h
Go to the documentation of this file.
1 
26 #ifndef _FSPDF_FORM_R_H_
27 #define _FSPDF_FORM_R_H_
28 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
82 /*******************************************************************************/
83 /* Definitions for PDF form */
84 /*******************************************************************************/
85 #ifndef _FSPDF_DEF_HANDLE_FORM_
86 #define _FSPDF_DEF_HANDLE_FORM_
87 
89 FSCRT_DEFINEHANDLE(FSPDF_FORM);
90 
91 #endif /* _FSPDF_DEF_HANDLE_FORM_ */
92 
93 #ifndef _FSPDF_DEF_HANDLE_FORMCONTROL_
94 #define _FSPDF_DEF_HANDLE_FORMCONTROL_
95 
97 FSCRT_DEFINEHANDLE(FSPDF_FORMCONTROL);
98 
99 #endif /* _FSPDF_DEF_HANDLE_FORMCONTROL_ */
100 
101 #ifndef _FSPDF_DEF_MACRO_FORMFIELDTYPE_
102 #define _FSPDF_DEF_MACRO_FORMFIELDTYPE_
103 
108 #define FSPDF_FORMFIELDTYPE_UNKNOWN 0
109 #define FSPDF_FORMFIELDTYPE_PUSHBUTTON 1
110 #define FSPDF_FORMFIELDTYPE_CHECKBOX 2
111 #define FSPDF_FORMFIELDTYPE_RADIOBUTTON 3
112 #define FSPDF_FORMFIELDTYPE_COMBOBOX 4
113 #define FSPDF_FORMFIELDTYPE_LISTBOX 5
114 #define FSPDF_FORMFIELDTYPE_TEXTFIELD 6
115 #define FSPDF_FORMFIELDTYPE_UNSPECIFIED FSPDF_FORMFIELDTYPE_UNKNOWN
118 #endif /* _FSPDF_DEF_MACRO_FORMFIELDTYPE_ */
119 
120 #ifndef _FSPDF_DEF_MACRO_FORMFIELDFLAG_
121 #define _FSPDF_DEF_MACRO_FORMFIELDFLAG_
122 
127 #define FSPDF_FORMFIELDFLAG_READONLY 0x001
128 #define FSPDF_FORMFIELDFLAG_REQUIRED 0x002
129 #define FSPDF_FORMFIELDFLAG_NOEXPORT 0x004
145 #define FSPDF_FORMFIELDFLAG_BUTTON_NOTOGGLETOOF 0x100
146 
153 #define FSPDF_FORMFIELDFLAG_BUTTON_RADIOSINUNISON 0x200
154 
163 #define FSPDF_FORMFIELDFLAG_TEXT_MULTILINE 0x100
164 
165 #define FSPDF_FORMFIELDFLAG_TEXT_PASSWORD 0x200
166 
172 #define FSPDF_FORMFIELDFLAG_TEXT_DONOTSCROLL 0x400
173 
179 #define FSPDF_FORMFIELDFLAG_TEXT_COMB 0x800
180 
193 #define FSPDF_FORMFIELDFLAG_COMBO_EDIT 0x100
194 
203 #define FSPDF_FORMFIELDFLAG_CHOICE_MULTISELECT 0x100
204 
206 #endif /* _FSPDF_DEF_MACRO_FORMFIELDFLAG_ */
207 
208 /*******************************************************************************/
209 /* Form */
210 /*******************************************************************************/
232 FS_RESULT FSPDF_Doc_HasForm(FSCRT_DOCUMENT document, FS_BOOL* hasForm);
233 
261 FS_RESULT FSPDF_Form_Load(FSCRT_DOCUMENT pdfDoc, FSPDF_FORM* form);
262 
282 FS_RESULT FSPDF_Form_Release(FSPDF_FORM form);
283 
304 FS_RESULT FSPDF_Form_GetDocument(FSPDF_FORM form, FSCRT_DOCUMENT* document);
305 
329 FS_RESULT FSPDF_Form_CountFields(FSPDF_FORM form, const FSCRT_BSTR* filter, FS_INT32* count);
330 
360 FS_RESULT FSPDF_Form_GetField(FSPDF_FORM form, const FSCRT_BSTR* filter, FS_INT32 index, FSCRT_BSTR* fieldName, FS_INT32* fieldType);
361 
394 FS_RESULT FSPDF_Form_GetControlAtPos(FSPDF_FORM form, FSCRT_PAGE page, FS_FLOAT x, FS_FLOAT y, FS_FLOAT tolerance,
395  FS_INT32 typeFilter, FSPDF_FORMCONTROL* formControl);
396 
430 FS_RESULT FSPDF_Form_GetControlAtDevicePos(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_MATRIX* matrix,
431  FS_INT32 x, FS_INT32 y, FS_FLOAT tolerance,
432  FS_INT32 typeFilter, FSPDF_FORMCONTROL* formControl);
433 
455 FS_RESULT FSPDF_Form_GetDefaultAppearance(FSPDF_FORM form, FSPDF_DEFAULTAPPEARANCE* defAppearance);
456 
482 FS_RESULT FSPDF_Form_GetAlignment(FSPDF_FORM form, FS_INT32* alignment);
483 
504 FS_RESULT FSPDF_Form_NeedConstructAppearances(FSPDF_FORM form, FS_BOOL* needConstruct);
505 
529 FS_RESULT FSPDF_Form_ValidateFieldName(FSPDF_FORM form, const FSCRT_BSTR* newFieldName, FS_INT32 fieldType, FS_BOOL* validate);
530 
560 FS_RESULT FSPDF_Form_GetFieldsInCalculationOrder(FSPDF_FORM form, FSCRT_BSTR* fieldNames, FS_DWORD* count);
561 
562 /*******************************************************************************/
563 /* Form field trigger actions */
564 /*******************************************************************************/
594 FS_RESULT FSPDF_FormField_CountActions(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32 trigger, FS_INT32* count);
595 
627 FS_RESULT FSPDF_FormField_GetAction(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32 trigger, FS_INT32 index, FSPDF_ACTIONDATA* actionData);
628 
629 /*******************************************************************************/
630 /* Form field */
631 /*******************************************************************************/
632 #ifndef _FSPDF_DEF_STRUCTURE_CHOICEOPTION_
633 #define _FSPDF_DEF_STRUCTURE_CHOICEOPTION_
634 
638 typedef struct _FSPDF_CHOICEOPTION
639 {
657 
658 #endif /* _FSPDF_DEF_STRUCTURE_CHOICEOPTION_ */
659 
684 
708 
736 FS_RESULT FSPDF_FormField_GetAlignment(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32* alignment);
737 
761 FS_RESULT FSPDF_FormField_GetFlags(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_DWORD* flags);
762 
786 FS_RESULT FSPDF_FormField_GetType(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32* fieldType);
787 
813 FS_RESULT FSPDF_FormField_GetDefaultValue(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSCRT_BSTR* value);
814 
840 FS_RESULT FSPDF_FormField_GetValue(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSCRT_BSTR* value);
841 
870 FS_RESULT FSPDF_FormField_CountControls(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_BSTR* fieldName, FS_INT32* count);
871 
901 FS_RESULT FSPDF_FormField_GetControl(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_BSTR* fieldName, FS_INT32 index, FSPDF_FORMCONTROL* formControl);
902 
925 FS_RESULT FSPDF_FormField_GetControlIndex(FSPDF_FORM form, const FSPDF_FORMCONTROL formControl, FS_INT32* index);
926 
949 FS_RESULT FSPDF_FormField_GetDefaultAppearance(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSPDF_DEFAULTAPPEARANCE* defAppearance);
950 
974 FS_RESULT FSPDF_FormField_GetAlternateName(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSCRT_BSTR* alternateName);
975 
999 FS_RESULT FSPDF_FormField_GetMappingName(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSCRT_BSTR* mappingName);
1000 
1025 FS_RESULT FSPDF_FormField_GetMaxLen(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32* maxLen);
1026 
1060 FS_RESULT FSPDF_FormField_GetOptions(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FSPDF_CHOICEOPTION* options, FS_INT32* count);
1061 
1087 FS_RESULT FSPDF_FormField_GetTopVisibleIndex(FSPDF_FORM form, const FSCRT_BSTR* fieldName, FS_INT32* index);
1088 
1089 /*******************************************************************************/
1090 /* Form control */
1091 /*******************************************************************************/
1112 FS_RESULT FSPDF_FormControl_GetWidgetAnnot(FSPDF_FORMCONTROL formControl, FSCRT_ANNOT* widgetAnnot);
1113 
1135 FS_RESULT FSPDF_FormControl_GetFieldName(FSPDF_FORMCONTROL formControl, FSCRT_BSTR* fieldName);
1136 
1162 FS_RESULT FSPDF_FormControl_GetExportValue(FSPDF_FORMCONTROL formControl, FSCRT_BSTR* exportValue);
1163 
1187 FS_RESULT FSPDF_FormControl_IsChecked(FSPDF_FORMCONTROL formControl, FS_BOOL* checked);
1188 
1212 FS_RESULT FSPDF_FormControl_IsDefaultChecked(FSPDF_FORMCONTROL formControl, FS_BOOL* checked);
1213 
1248 FS_RESULT FSPDF_RenderContext_StartFormControls(FSPDF_RENDERCONTEXT pdfRenderContext, FSCRT_RENDERER renderer, const FSPDF_FORMCONTROL* formControls, FS_INT32 count, FSCRT_PROGRESS* renderProgress);
1249 
1283 FS_RESULT FSPDF_RenderContext_StartPageFormControls(FSPDF_RENDERCONTEXT pdfRenderContext, FSCRT_RENDERER renderer,
1284  FSCRT_PAGE page, FSCRT_PROGRESS* renderProgress);
1285 
1286 #ifdef __cplusplus
1287 };
1288 #endif
1289  /* group FPDFFORM */
1291 
1292 #endif /* _FSPDF_FORM_R_H_ */
FS_RESULT FSPDF_FormField_GetOptions(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSPDF_CHOICEOPTION *options, FS_INT32 *count)
Get list box or combo box options.
FS_RESULT FSPDF_Form_GetControlAtDevicePos(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_MATRIX *matrix, FS_INT32 x, FS_INT32 y, FS_FLOAT tolerance, FS_INT32 typeFilter, FSPDF_FORMCONTROL *formControl)
Search for form control which locates at a specific device position in a form.
FS_RESULT FSPDF_FormField_GetType(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 *fieldType)
Get field type.
FS_RESULT FSPDF_FormField_GetDefaultValue(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSCRT_BSTR *value)
Get default value of a field.
FS_RESULT FSPDF_Form_CountFields(FSPDF_FORM form, const FSCRT_BSTR *filter, FS_INT32 *count)
Get count of fields satisfying a name filter in a form.
FS_RESULT FSPDF_Form_Load(FSCRT_DOCUMENT pdfDoc, FSPDF_FORM *form)
Retrieve a form handle for a specific document.
FS_RESULT FSPDF_FormField_GetMappingName(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSCRT_BSTR *mappingName)
Get mapping name to be used when exporting interactive form field data from the document.
FS_RESULT FSPDF_FormField_GetValue(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSCRT_BSTR *value)
Get value of a field.
FS_RESULT FSPDF_Form_GetField(FSPDF_FORM form, const FSCRT_BSTR *filter, FS_INT32 index, FSCRT_BSTR *fieldName, FS_INT32 *fieldType)
Search and retrieve the name and type of a field satisfying a name filter in a form.
float FS_FLOAT
32-bit floating-point number, single precision.
Definition: fs_base_r.h:148
Structure for list box and combo box option only.
Definition: fpdf_form_r.h:638
FS_RESULT FSPDF_FormField_GetMaxLen(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 *maxLen)
Get maximum length of the field's text, in characters.
FS_RESULT FSPDF_FormControl_IsChecked(FSPDF_FORMCONTROL formControl, FS_BOOL *checked)
Get check box or radio button's state.
FS_RESULT FSPDF_RenderContext_StartPageFormControls(FSPDF_RENDERCONTEXT pdfRenderContext, FSCRT_RENDERER renderer, FSCRT_PAGE page, FSCRT_PROGRESS *renderProgress)
Start rendering a page's form controls in a renderer with a PDF rendering context.
FS_RESULT FSPDF_FormField_GetDefaultAppearance(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSPDF_DEFAULTAPPEARANCE *defAppearance)
Get default appearance of specified fields.
unsigned int FS_DWORD
32-bit unsigned integer.
Definition: fs_base_r.h:142
FS_RESULT FSPDF_Form_GetDefaultAppearance(FSPDF_FORM form, FSPDF_DEFAULTAPPEARANCE *defAppearance)
Retrieve a default appearance of form.
FS_RESULT FSPDF_FormField_CountControls(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_BSTR *fieldName, FS_INT32 *count)
Get count of controls in a PDF page which belongs to specified fields.
FS_RESULT FSPDF_Form_GetAlignment(FSPDF_FORM form, FS_INT32 *alignment)
Retrieve alignment property of a form.
FS_RESULT FSPDF_FormControl_GetWidgetAnnot(FSPDF_FORMCONTROL formControl, FSCRT_ANNOT *widgetAnnot)
Get widget annotation from form control handle.
FS_RESULT FSPDF_FormField_GetAction(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 trigger, FS_INT32 index, FSPDF_ACTIONDATA *actionData)
Retrieve action associated with a field and a trigger type at a specified index in a form...
FS_RESULT FSPDF_Form_GetFieldsInCalculationOrder(FSPDF_FORM form, FSCRT_BSTR *fieldNames, FS_DWORD *count)
Get fields in a form in calculation order.
FS_RESULT FSPDF_FormField_GetAlternateName(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FSCRT_BSTR *alternateName)
Get alternate name to be used in place of actual field name.
FS_BOOL selected
True if the item is selected.
Definition: fpdf_form_r.h:651
int FS_INT32
32-bit signed integer.
Definition: fs_base_r.h:175
FS_RESULT FSPDF_Form_NeedConstructAppearances(FSPDF_FORM form, FS_BOOL *needConstruct)
Retrieve a boolean value whether or not to construct appearance property of a form.
FS_RESULT FSPDF_Form_Release(FSPDF_FORM form)
Release a PDF interactive form object.
FS_RESULT FSPDF_FormControl_IsDefaultChecked(FSPDF_FORMCONTROL formControl, FS_BOOL *checked)
Get check box or radio button's default state.
Structure for default appearance.
Definition: fpdf_base_r.h:278
FS_RESULT FSPDF_FormField_GetTopVisibleIndex(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 *index)
Get top index for scrollable list boxes.
FS_RESULT FSPDF_FormField_CountActions(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 trigger, FS_INT32 *count)
Retrieve count of actions associated with a field and a trigger type in a form.
FS_RESULT FSPDF_ChoiceOption_Init(FSPDF_CHOICEOPTION *options)
Helper function to initialize options.
Structure for an action data.
Definition: fpdf_base_r.h:841
FS_BOOL defaultSelected
Default selection flag.
Definition: fpdf_form_r.h:655
int FS_BOOL
Boolean type (This should be TRUE or FALSE).
Definition: fs_base_r.h:133
FS_RESULT FSPDF_FormControl_GetExportValue(FSPDF_FORMCONTROL formControl, FSCRT_BSTR *exportValue)
Get option's export value.
FS_RESULT FSPDF_RenderContext_StartFormControls(FSPDF_RENDERCONTEXT pdfRenderContext, FSCRT_RENDERER renderer, const FSPDF_FORMCONTROL *formControls, FS_INT32 count, FSCRT_PROGRESS *renderProgress)
Start rendering a PDF form control in a renderer with a PDF rendering context.
FS_RESULT FSPDF_FormControl_GetFieldName(FSPDF_FORMCONTROL formControl, FSCRT_BSTR *fieldName)
Get field name from form control handle.
FSCRT_BSTR optionValue
List box or Combo box option value.
Definition: fpdf_form_r.h:643
FS_RESULT FSPDF_FormField_GetControlIndex(FSPDF_FORM form, const FSPDF_FORMCONTROL formControl, FS_INT32 *index)
Get index of the form control which belongs to the specified fields.
Structure for 2D matrix.
Definition: fs_base_r.h:2130
Structure for byte string.
Definition: fs_base_r.h:611
FS_RESULT FSPDF_Form_GetControlAtPos(FSPDF_FORM form, FSCRT_PAGE page, FS_FLOAT x, FS_FLOAT y, FS_FLOAT tolerance, FS_INT32 typeFilter, FSPDF_FORMCONTROL *formControl)
Search for form control at a specific position in a form.
FS_RESULT FSPDF_Form_GetDocument(FSPDF_FORM form, FSCRT_DOCUMENT *document)
Retrieve a PDF document which owns the form.
FS_RESULT FSPDF_ChoiceOption_Clear(FSPDF_CHOICEOPTION *options)
Helper function to clear options.
FS_RESULT FSPDF_FormField_GetControl(FSPDF_FORM form, FSCRT_PAGE page, const FSCRT_BSTR *fieldName, FS_INT32 index, FSPDF_FORMCONTROL *formControl)
Get a form control which belongs to the specified fields.
FSCRT_BSTR optionLabel
List box or Combo box option Label.
Definition: fpdf_form_r.h:647
FS_RESULT FSPDF_FormField_GetFlags(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_DWORD *flags)
Get flags specifying various characteristics of the field.
FS_RESULT FSPDF_Doc_HasForm(FSCRT_DOCUMENT document, FS_BOOL *hasForm)
Check if the document has a Acro form.
FS_RESULT FSPDF_FormField_GetAlignment(FSPDF_FORM form, const FSCRT_BSTR *fieldName, FS_INT32 *alignment)
Get alignment type of a field's text.
FS_RESULT FSPDF_Form_ValidateFieldName(FSPDF_FORM form, const FSCRT_BSTR *newFieldName, FS_INT32 fieldType, FS_BOOL *validate)
Check if a name is valid for specified type of field in a form.
int FS_RESULT
Result code for functions in Foxit PDF SDK.
Definition: fs_base_r.h:160

Foxit Corporation