## PopplerFormField

PopplerFormField — Form Field

## Functions

PopplerFormButtonType | poppler_form_field_button_get_button_type ()
gboolean | poppler_form_field_button_get_state ()
void | poppler_form_field_button_set_state ()
gboolean | poppler_form_field_choice_can_select_multiple ()
gboolean | poppler_form_field_choice_commit_on_change ()
gboolean | poppler_form_field_choice_do_spell_check ()
PopplerFormChoiceType | poppler_form_field_choice_get_choice_type ()
gchar * | poppler_form_field_choice_get_item ()
gint | poppler_form_field_choice_get_n_items ()
gchar * | poppler_form_field_choice_get_text ()
gboolean | poppler_form_field_choice_is_editable ()
gboolean | poppler_form_field_choice_is_item_selected ()
void | poppler_form_field_choice_select_item ()
void | poppler_form_field_choice_set_text ()
void | poppler_form_field_choice_toggle_item ()
void | poppler_form_field_choice_unselect_all ()
PopplerAction * | poppler_form_field_get_action ()
PopplerAction * | poppler_form_field_get_additional_action ()
gchar * | poppler_form_field_get_alternate_ui_name ()
PopplerFormFieldType | poppler_form_field_get_field_type ()
gdouble | poppler_form_field_get_font_size ()
gint | poppler_form_field_get_id ()
gchar * | poppler_form_field_get_mapping_name ()
gchar * | poppler_form_field_get_name ()
gchar * | poppler_form_field_get_partial_name ()
gboolean | poppler_form_field_is_read_only ()
void | poppler_form_field_signature_validate_async ()
PopplerSignatureInfo * | poppler_form_field_signature_validate_finish ()
PopplerSignatureInfo * | poppler_form_field_signature_validate_sync ()
gboolean | poppler_form_field_text_do_scroll ()
gboolean | poppler_form_field_text_do_spell_check ()
gint | poppler_form_field_text_get_max_len ()
gchar * | poppler_form_field_text_get_text ()
PopplerFormTextType | poppler_form_field_text_get_text_type ()
gboolean | poppler_form_field_text_is_password ()
gboolean | poppler_form_field_text_is_rich_text ()
void | poppler_form_field_text_set_text ()
PopplerSignatureInfo * | poppler_signature_info_copy ()
void | poppler_signature_info_free ()
PopplerCertificateStatus | poppler_signature_info_get_certificate_status ()
PopplerSignatureStatus | poppler_signature_info_get_signature_status ()
const gchar * | poppler_signature_info_get_signer_name ()
GDateTime * | poppler_signature_info_get_local_signing_time ()

## Types and Values

| PopplerFormField
enum | PopplerAdditionalActionType
enum | PopplerCertificateStatus
enum | PopplerFormFieldType
enum | PopplerFormButtonType
enum | PopplerFormChoiceType
enum | PopplerFormTextType
| PopplerSignatureInfo
enum | PopplerSignatureStatus
enum | PopplerSignatureValidationFlags

## Object Hierarchy

        GBoxed
        ╰── PopplerSignatureInfo
        GEnum
        ├── PopplerAdditionalActionType
        ├── PopplerCertificateStatus
        ├── PopplerFormButtonType
        ├── PopplerFormChoiceType
        ├── PopplerFormFieldType
        ├── PopplerFormTextType
        ╰── PopplerSignatureStatus
        GFlags
        ╰── PopplerSignatureValidationFlags
        GObject
        ╰── PopplerFormField

## Includes

    #include <poppler.h>

## Description

## Functions

### poppler_form_field_button_get_button_type ()

    PopplerFormButtonType
    poppler_form_field_button_get_button_type
                                   (PopplerFormField *field);

Gets the button type of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

PopplerFormButtonType of `field`

### poppler_form_field_button_get_state ()

    gboolean
    poppler_form_field_button_get_state (PopplerFormField *field);

Queries a PopplerFormField and returns its current state. Returns `TRUE` if `field` is pressed in and `FALSE` if it is raised.

#### Parameters

field | a PopplerFormField |

#### Returns

current state of `field`

### poppler_form_field_button_set_state ()

    void
    poppler_form_field_button_set_state (PopplerFormField *field,
                                         gboolean state);

Sets the status of `field` . Set to `TRUE` if you want the PopplerFormField to be 'pressed in', and `FALSE` to raise it.

#### Parameters

field | a PopplerFormField |
state | `TRUE` or `FALSE` |

### poppler_form_field_choice_can_select_multiple ()

    gboolean
    poppler_form_field_choice_can_select_multiple
                                   (PopplerFormField *field);

Checks whether `field` allows multiple choices to be selected

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if `field` allows multiple choices to be selected

### poppler_form_field_choice_commit_on_change ()

    gboolean
    poppler_form_field_choice_commit_on_change
                                   (PopplerFormField *field);

### poppler_form_field_choice_do_spell_check ()

    gboolean
    poppler_form_field_choice_do_spell_check
                                   (PopplerFormField *field);

Checks whether spell checking should be done for the contents of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if spell checking should be done for `field`

### poppler_form_field_choice_get_choice_type ()

    PopplerFormChoiceType
    poppler_form_field_choice_get_choice_type
                                   (PopplerFormField *field);

Gets the choice type of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

PopplerFormChoiceType of `field`

### poppler_form_field_choice_get_item ()

    gchar *
    poppler_form_field_choice_get_item (PopplerFormField *field,
                                        gint index);

Returns the contents of the item on `field` at the given index

#### Parameters

field | a PopplerFormField |
index | the index of the item |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

### poppler_form_field_choice_get_n_items ()

    gint
    poppler_form_field_choice_get_n_items (PopplerFormField *field);

Returns the number of items on `field`

#### Parameters

field | a PopplerFormField |

#### Returns

the number of items on `field`

### poppler_form_field_choice_get_text ()

    gchar *
    poppler_form_field_choice_get_text (PopplerFormField *field);

Retrieves the contents of `field` .

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

### poppler_form_field_choice_is_editable ()

    gboolean
    poppler_form_field_choice_is_editable (PopplerFormField *field);

Checks whether `field` is editable

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if `field` is editable

### poppler_form_field_choice_is_item_selected ()

    gboolean
    poppler_form_field_choice_is_item_selected
                                   (PopplerFormField *field,
                                    gint index);

Checks whether the item at the given index on `field` is currently selected

#### Parameters

field | a PopplerFormField |
index | the index of the item |

#### Returns

`TRUE` if item at `index` is currently selected

### poppler_form_field_choice_select_item ()

    void
    poppler_form_field_choice_select_item (PopplerFormField *field,
                                           gint index);

Selects the item at the given index on `field`

#### Parameters

field | a PopplerFormField |
index | the index of the item |

### poppler_form_field_choice_set_text ()

    void
    poppler_form_field_choice_set_text (PopplerFormField *field,
                                        const gchar *text);

Sets the text in `field` to the given value, replacing the current contents

#### Parameters

field | a PopplerFormField |
text | the new text |

### poppler_form_field_choice_toggle_item ()

    void
    poppler_form_field_choice_toggle_item (PopplerFormField *field,
                                           gint index);

Changes the state of the item at the given index

#### Parameters

field | a PopplerFormField |
index | the index of the item |

### poppler_form_field_choice_unselect_all ()

    void
    poppler_form_field_choice_unselect_all
                                   (PopplerFormField *field);

Unselects all the items on `field`

#### Parameters

field | a PopplerFormField |

### poppler_form_field_get_action ()

    PopplerAction *
    poppler_form_field_get_action (PopplerFormField *field);

Retrieves the action (PopplerAction) that shall be performed when `field` is activated, or `NULL`

#### Parameters

field | a PopplerFormField |

#### Returns

the action to perform. The returned object is owned by `field` and should not be freed.

[transfer none]

Since: 0.18

### poppler_form_field_get_additional_action ()

    PopplerAction *
    poppler_form_field_get_additional_action
                                   (PopplerFormField *field,
                                    PopplerAdditionalActionType type);

Retrieves the action (PopplerAction) that shall be performed when an additional action is triggered on `field` , or `NULL`.

#### Parameters

field | a PopplerFormField |
type | the type of additional action |

#### Returns

the action to perform. The returned object is owned by `field` and should not be freed.

[transfer none]

Since: 0.72

### poppler_form_field_get_alternate_ui_name ()

    gchar *
    poppler_form_field_get_alternate_ui_name
                                   (PopplerFormField *field);

Gets the alternate ui name of `field` . This name is also commonly used by pdf producers/readers to show it as a tooltip when `field` area is hovered by a pointing device (eg. mouse).

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

Since: 0.88

### poppler_form_field_get_field_type ()

    PopplerFormFieldType
    poppler_form_field_get_field_type (PopplerFormField *field);

Gets the type of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

PopplerFormFieldType of `field`

### poppler_form_field_get_font_size ()

    gdouble
    poppler_form_field_get_font_size (PopplerFormField *field);

Gets the font size of `field`

WARNING: This function always returns 0. Contact the poppler mailing list if you're interested in implementing it properly

#### Parameters

field | a PopplerFormField |

#### Returns

the font size of `field`

### poppler_form_field_get_id ()

    gint
    poppler_form_field_get_id (PopplerFormField *field);

Gets the id of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

the id of `field`

### poppler_form_field_get_mapping_name ()

    gchar *
    poppler_form_field_get_mapping_name (PopplerFormField *field);

Gets the mapping name of `field` that is used when exporting interactive form field data from the document

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

Since: 0.16

### poppler_form_field_get_name ()

    gchar *
    poppler_form_field_get_name (PopplerFormField *field);

Gets the fully qualified name of `field` . It's constructed by concatenating the partial field names of the field and all of its ancestors.

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

Since: 0.16

### poppler_form_field_get_partial_name ()

    gchar *
    poppler_form_field_get_partial_name (PopplerFormField *field);

Gets the partial name of `field` .

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

Since: 0.16

### poppler_form_field_is_read_only ()

    gboolean
    poppler_form_field_is_read_only (PopplerFormField *field);

Checks whether `field` is read only

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if `field` is read only

### poppler_form_field_signature_validate_async ()

    void
    poppler_form_field_signature_validate_async
                                   (PopplerFormField *field,
                                    PopplerSignatureValidationFlags flags,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously validates the cryptographic signature contained in `signature_field` .

#### Parameters

field | a PopplerFormField that represents a signature annotation |
flags | PopplerSignatureValidationFlags flags influencing process of validation of the field signature |
cancellable | optional GCancellable object. | [nullable]
callback | a GAsyncReadyCallback to call when the signature is validated. | [scope async]
user_data | the data to pass to callback function. | [closure]

Since: 21.12.0

### poppler_form_field_signature_validate_finish ()

    PopplerSignatureInfo *
    poppler_form_field_signature_validate_finish
                                   (PopplerFormField *field,
                                    GAsyncResult *result,
                                    GError **error);

Finishes validation of the cryptographic signature contained in `signature_field` . See `poppler_form_field_signature_validate_async()`.

#### Parameters

field | a PopplerFormField that represents a signature annotation |
result | a GAsyncResult |
error | a GError |

#### Returns

a PopplerSignatureInfo structure containing signature metadata and validation status Free the returned structure with `poppler_signature_info_free()`.

[transfer full]

Since: 21.12.0

### poppler_form_field_signature_validate_sync ()

    PopplerSignatureInfo *
    poppler_form_field_signature_validate_sync
                                   (PopplerFormField *field,
                                    PopplerSignatureValidationFlags flags,
                                    GCancellable *cancellable,
                                    GError **error);

Synchronously validates the cryptographic signature contained in `signature_field` .

#### Parameters

field | a PopplerFormField that represents a signature annotation |
flags | PopplerSignatureValidationFlags flags influencing process of validation of the field signature |
cancellable | optional GCancellable object. | [nullable]
error | a GError |

#### Returns

a PopplerSignatureInfo structure containing signature metadata and validation status Free the returned structure with `poppler_signature_info_free()`.

[transfer full]

Since: 21.12.0

### poppler_form_field_text_do_scroll ()

    gboolean
    poppler_form_field_text_do_scroll (PopplerFormField *field);

### poppler_form_field_text_do_spell_check ()

    gboolean
    poppler_form_field_text_do_spell_check
                                   (PopplerFormField *field);

Checks whether spell checking should be done for the contents of `field`

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if spell checking should be done for `field`

### poppler_form_field_text_get_max_len ()

    gint
    poppler_form_field_text_get_max_len (PopplerFormField *field);

Retrieves the maximum allowed length of the text in `field`

#### Parameters

field | a PopplerFormField |

#### Returns

the maximum allowed number of characters in `field` , or -1 if there is no maximum.

### poppler_form_field_text_get_text ()

    gchar *
    poppler_form_field_text_get_text (PopplerFormField *field);

Retrieves the contents of `field` .

#### Parameters

field | a PopplerFormField |

#### Returns

a new allocated string. It must be freed with `g_free()` when done.

### poppler_form_field_text_get_text_type ()

    PopplerFormTextType
    poppler_form_field_text_get_text_type (PopplerFormField *field);

Gets the text type of `field` .

#### Parameters

field | a PopplerFormField |

#### Returns

PopplerFormTextType of `field`

### poppler_form_field_text_is_password ()

    gboolean
    poppler_form_field_text_is_password (PopplerFormField *field);

Checks whether content of `field` is a password and it must be hidden

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if the content of `field` is a password

### poppler_form_field_text_is_rich_text ()

    gboolean
    poppler_form_field_text_is_rich_text (PopplerFormField *field);

Checks whether the contents of `field` are rich text

#### Parameters

field | a PopplerFormField |

#### Returns

`TRUE` if the contents of `field` are rich text

### poppler_form_field_text_set_text ()

    void
    poppler_form_field_text_set_text (PopplerFormField *field,
                                      const gchar *text);

Sets the text in `field` to the given value, replacing the current contents.

#### Parameters

field | a PopplerFormField |
text | the new text |

### poppler_signature_info_copy ()

    PopplerSignatureInfo *
    poppler_signature_info_copy (const PopplerSignatureInfo *siginfo);

Copies `siginfo` , creating an identical PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo structure containing signature metadata and validation status |

#### Returns

a new PopplerSignatureInfo structure identical to `siginfo` .

[transfer full]

Since: 21.12.0

### poppler_signature_info_free ()

    void
    poppler_signature_info_free (PopplerSignatureInfo *siginfo);

Frees `siginfo`

#### Parameters

siginfo | a PopplerSignatureInfo structure containing signature metadata and validation status |

Since: 21.12.0

### poppler_signature_info_get_certificate_status ()

    PopplerCertificateStatus
    poppler_signature_info_get_certificate_status
                                   (const PopplerSignatureInfo *siginfo);

Returns status of the certificate for given PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo |

#### Returns

certificate status of the signature

Since: 21.12.0

### poppler_signature_info_get_signature_status ()

    PopplerSignatureStatus
    poppler_signature_info_get_signature_status
                                   (const PopplerSignatureInfo *siginfo);

Returns status of the signature for given PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo |

#### Returns

signature status of the signature

Since: 21.12.0

### poppler_signature_info_get_signer_name ()

    const gchar *
    poppler_signature_info_get_signer_name
                                   (const PopplerSignatureInfo *siginfo);

Returns name of signer for given PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo |

#### Returns

A string.

[transfer none]

Since: 21.12.0

### poppler_signature_info_get_local_signing_time ()

    GDateTime *
    poppler_signature_info_get_local_signing_time
                                   (const PopplerSignatureInfo *siginfo);

Returns local time of signing as GDateTime. This does not contain information about time zone since it has not been preserved during conversion. Do not modify returned value since it is internal to PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo |

#### Returns

GDateTime.

[transfer none]

Since: 21.12.0

## Types and Values

### PopplerFormField

    typedef struct _PopplerFormField PopplerFormField;

### enum PopplerAdditionalActionType

Form field additional action types to be passed to `poppler_form_field_get_additional_action`

#### Members

POPPLER_ADDITIONAL_ACTION_FIELD_MODIFIED | The action to be performed when the user modifies the field. |
POPPLER_ADDITIONAL_ACTION_FORMAT_FIELD | The action to be performed before the field is formatted to display its value. |
POPPLER_ADDITIONAL_ACTION_VALIDATE_FIELD | The action to be performed when the field value changes. |
POPPLER_ADDITIONAL_ACTION_CALCULATE_FIELD | The action to be performed when the field needs to be recalculated. |

Since: 0.72

### enum PopplerCertificateStatus

Signature certificate verification results

#### Members

POPPLER_CERTIFICATE_TRUSTED | certificate is considered trusted |
POPPLER_CERTIFICATE_UNTRUSTED_ISSUER | the issuer of this certificate has been marked as untrusted by the user |
POPPLER_CERTIFICATE_UNKNOWN_ISSUER | this certificate trust chain has not finished in a trusted root certificate |
POPPLER_CERTIFICATE_REVOKED | certificate was revoked by the issuing certificate authority |
POPPLER_CERTIFICATE_EXPIRED | signing time is outside the validity bounds of this certificate |
POPPLER_CERTIFICATE_GENERIC_ERROR | failed to verify certificate |
POPPLER_CERTIFICATE_NOT_VERIFIED | certificate not yet verified |

Since: 21.12.0

### enum PopplerFormFieldType

#### Members

POPPLER_FORM_FIELD_UNKNOWN |  |
POPPLER_FORM_FIELD_BUTTON |  |
POPPLER_FORM_FIELD_TEXT |  |
POPPLER_FORM_FIELD_CHOICE |  |
POPPLER_FORM_FIELD_SIGNATURE |  |

### enum PopplerFormButtonType

#### Members

POPPLER_FORM_BUTTON_PUSH |  |
POPPLER_FORM_BUTTON_CHECK |  |
POPPLER_FORM_BUTTON_RADIO |  |

### enum PopplerFormChoiceType

#### Members

POPPLER_FORM_CHOICE_COMBO |  |
POPPLER_FORM_CHOICE_LIST |  |

### enum PopplerFormTextType

#### Members

POPPLER_FORM_TEXT_NORMAL |  |
POPPLER_FORM_TEXT_MULTILINE |  |
POPPLER_FORM_TEXT_FILE_SELECT |  |

### PopplerSignatureInfo

    typedef struct _PopplerSignatureInfo PopplerSignatureInfo;

PopplerSignatureInfo contains detailed info about a signature contained in a form field.

Since: 21.12.0

### enum PopplerSignatureStatus

Signature verification results

#### Members

POPPLER_SIGNATURE_VALID | signature is cryptographically valid |
POPPLER_SIGNATURE_INVALID | signature is cryptographically invalid |
POPPLER_SIGNATURE_DIGEST_MISMATCH | document content was changed after the signature was applied |
POPPLER_SIGNATURE_DECODING_ERROR | signature CMS/PKCS7 structure is malformed |
POPPLER_SIGNATURE_GENERIC_ERROR | failed to verify signature |
POPPLER_SIGNATURE_NOT_FOUND | requested signature is not present in the document |
POPPLER_SIGNATURE_NOT_VERIFIED | signature not yet verified |

Since: 21.12.0

### enum PopplerSignatureValidationFlags

Signature validation flags

#### Members

POPPLER_SIGNATURE_VALIDATION_FLAG_VALIDATE_CERTIFICATE | Whether to validate also the certificate of the signature |
POPPLER_SIGNATURE_VALIDATION_FLAG_WITHOUT_OCSP_REVOCATION_CHECK | Whether to not do OCSP (Online Certificate Status Protocol) revocation check |
POPPLER_SIGNATURE_VALIDATION_FLAG_USE_AIA_CERTIFICATE_FETCH | Whether to use AIA (Authority Information Access) extension for certificate fetching |

Since: 21.12.0