## PopplerFormField

PopplerFormField — Form Field

## Functions

GDateTime * | poppler_certificate_info_get_expiration_time ()
GDateTime * | poppler_certificate_info_get_issuance_time ()
const char * | poppler_certificate_info_get_issuer_common_name ()
const char * | poppler_certificate_info_get_issuer_email ()
const char * | poppler_certificate_info_get_issuer_organization ()
const char * | poppler_certificate_info_get_subject_common_name ()
const char * | poppler_certificate_info_get_subject_email ()
const char * | poppler_certificate_info_get_subject_organization ()
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 ()
PopplerCertificateInfo * | poppler_signature_info_get_certificate_info ()
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 ()
PopplerSigningData * | poppler_signing_data_new ()
PopplerSigningData * | poppler_signing_data_copy ()
void | poppler_signing_data_free ()
void | poppler_signing_data_set_destination_filename ()
void | poppler_signing_data_set_certificate_info ()
void | poppler_signing_data_set_page ()
void | poppler_signing_data_set_signature_text ()
void | poppler_signing_data_set_signature_text_left ()
void | poppler_signing_data_set_signature_rectangle ()
void | poppler_signing_data_set_font_color ()
void | poppler_signing_data_set_font_size ()
void | poppler_signing_data_set_left_font_size ()
void | poppler_signing_data_set_border_color ()
void | poppler_signing_data_set_border_width ()
void | poppler_signing_data_set_background_color ()
void | poppler_signing_data_set_field_partial_name ()
void | poppler_signing_data_set_reason ()
void | poppler_signing_data_set_location ()
void | poppler_signing_data_set_image_path ()
void | poppler_signing_data_set_password ()
void | poppler_signing_data_set_document_owner_password ()
void | poppler_signing_data_set_document_user_password ()
const gchar * | poppler_signing_data_get_destination_filename ()
const PopplerCertificateInfo * | poppler_signing_data_get_certificate_info ()
int | poppler_signing_data_get_page ()
const gchar * | poppler_signing_data_get_signature_text ()
const gchar * | poppler_signing_data_get_signature_text_left ()
const PopplerRectangle * | poppler_signing_data_get_signature_rectangle ()
const PopplerColor * | poppler_signing_data_get_font_color ()
gdouble | poppler_signing_data_get_font_size ()
gdouble | poppler_signing_data_get_left_font_size ()
const PopplerColor * | poppler_signing_data_get_border_color ()
gdouble | poppler_signing_data_get_border_width ()
const PopplerColor * | poppler_signing_data_get_background_color ()
const gchar * | poppler_signing_data_get_field_partial_name ()
const gchar * | poppler_signing_data_get_reason ()
const gchar * | poppler_signing_data_get_location ()
const gchar * | poppler_signing_data_get_image_path ()
const gchar * | poppler_signing_data_get_password ()
const gchar * | poppler_signing_data_get_document_owner_password ()
const gchar * | poppler_signing_data_get_document_user_password ()
PopplerCertificateInfo * | poppler_certificate_info_new ()
PopplerCertificateInfo * | poppler_certificate_info_copy ()
void | poppler_set_nss_dir ()
char * | poppler_get_nss_dir ()
void | poppler_set_nss_password_callback ()
GList * | poppler_get_available_signing_certificates ()
void | poppler_certificate_info_free ()

## Types and Values

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

## Object Hierarchy

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

## Includes

    #include <poppler.h>

## Description

## Functions

### poppler_certificate_info_get_expiration_time ()

    GDateTime *
    poppler_certificate_info_get_expiration_time
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate expiration time

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate expiration time.

[transfer none]

Since: 23.08.0

### poppler_certificate_info_get_issuance_time ()

    GDateTime *
    poppler_certificate_info_get_issuance_time
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate issuance time

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate issuance time.

[transfer none]

Since: 23.08.0

### poppler_certificate_info_get_issuer_common_name ()

    const char *
    poppler_certificate_info_get_issuer_common_name
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate issuer common name

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate issuer common name

Since: 23.08.0

### poppler_certificate_info_get_issuer_email ()

    const char *
    poppler_certificate_info_get_issuer_email
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate issuer email

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate issuer email

Since: 23.08.0

### poppler_certificate_info_get_issuer_organization ()

    const char *
    poppler_certificate_info_get_issuer_organization
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate issuer organization

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate issuer organization

Since: 23.08.0

### poppler_certificate_info_get_subject_common_name ()

    const char *
    poppler_certificate_info_get_subject_common_name
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate subject common name

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate subject common name

Since: 23.07.0

### poppler_certificate_info_get_subject_email ()

    const char *
    poppler_certificate_info_get_subject_email
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate subject email

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate subject email

Since: 23.08.0

### poppler_certificate_info_get_subject_organization ()

    const char *
    poppler_certificate_info_get_subject_organization
                                   (const PopplerCertificateInfo *certificate_info);

Get certificate subject organization

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

certificate subject organization

Since: 23.08.0

### 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_info ()

    PopplerCertificateInfo *
    poppler_signature_info_get_certificate_info
                                   (const PopplerSignatureInfo *siginfo);

Returns PopplerCertificateInfo for given PopplerSignatureInfo.

#### Parameters

siginfo | a PopplerSignatureInfo |

#### Returns

certificate info of the signature.

[transfer none]

Since: 23.08.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

### poppler_signing_data_new ()

    PopplerSigningData *
    poppler_signing_data_new (void);

Creates a new PopplerSigningData with default content.

#### Returns

a new PopplerSigningData. It must be freed with `poppler_signing_data_free()` when done.

Since: 23.07.0

### poppler_signing_data_copy ()

    PopplerSigningData *
    poppler_signing_data_copy (const PopplerSigningData *signing_data);

Copies `signing_data` , creating an identical PopplerSigningData.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a new PopplerSigningData structure identical to `signing_data` .

[transfer full]

Since: 23.07.0

### poppler_signing_data_free ()

    void
    poppler_signing_data_free (PopplerSigningData *signing_data);

Frees `signing_data`

#### Parameters

signing_data | a PopplerSigningData structure containing signing data. | [nullable]

Since: 23.07.0

### poppler_signing_data_set_destination_filename ()

    void
    poppler_signing_data_set_destination_filename
                                   (PopplerSigningData *signing_data,
                                    const gchar *filename);

Set destination file name.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
filename | destination filename |

Since: 23.07.0

### poppler_signing_data_set_certificate_info ()

    void
    poppler_signing_data_set_certificate_info
                                   (PopplerSigningData *signing_data,
                                    const PopplerCertificateInfo *certificate_info);

Set certification information.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
certificate_info | a PopplerCertificateInfo |

Since: 23.07.0

### poppler_signing_data_set_page ()

    void
    poppler_signing_data_set_page (PopplerSigningData *signing_data,
                                   int page);

Set page (>=0).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
page | a page number |

Since: 23.07.0

### poppler_signing_data_set_signature_text ()

    void
    poppler_signing_data_set_signature_text
                                   (PopplerSigningData *signing_data,
                                    const gchar *signature_text);

Set signature text.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
signature_text | text to show as main signature |

Since: 23.07.0

### poppler_signing_data_set_signature_text_left ()

    void
    poppler_signing_data_set_signature_text_left
                                   (PopplerSigningData *signing_data,
                                    const gchar *signature_text_left);

Set small signature text on the left hand.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
signature_text_left | text to show as small left signature |

Since: 23.07.0

### poppler_signing_data_set_signature_rectangle ()

    void
    poppler_signing_data_set_signature_rectangle
                                   (PopplerSigningData *signing_data,
                                    const PopplerRectangle *signature_rect);

Set signature rectangle.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
signature_rect | a PopplerRectangle where signature should be shown |

Since: 23.07.0

### poppler_signing_data_set_font_color ()

    void
    poppler_signing_data_set_font_color (PopplerSigningData *signing_data,
                                         const PopplerColor *font_color);

Set signature font color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
font_color | a PopplerColor to be used as signature font color |

Since: 23.07.0

### poppler_signing_data_set_font_size ()

    void
    poppler_signing_data_set_font_size (PopplerSigningData *signing_data,
                                        gdouble font_size);

Set signature font size (>0).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
font_size | signature font size |

Since: 23.07.0

### poppler_signing_data_set_left_font_size ()

    void
    poppler_signing_data_set_left_font_size
                                   (PopplerSigningData *signing_data,
                                    gdouble font_size);

Set signature left font size (> 0).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
font_size | signature font size |

Since: 23.07.0

### poppler_signing_data_set_border_color ()

    void
    poppler_signing_data_set_border_color (PopplerSigningData *signing_data,
                                           const PopplerColor *border_color);

Set signature border color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
border_color | a PopplerColor to be used for signature border |

Since: 23.07.0

### poppler_signing_data_set_border_width ()

    void
    poppler_signing_data_set_border_width (PopplerSigningData *signing_data,
                                           gdouble border_width);

Set signature border width.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
border_width | border width |

Since: 23.07.0

### poppler_signing_data_set_background_color ()

    void
    poppler_signing_data_set_background_color
                                   (PopplerSigningData *signing_data,
                                    const PopplerColor *background_color);

Set signature background color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
background_color | a PopplerColor to be used for signature background |

Since: 23.07.0

### poppler_signing_data_set_field_partial_name ()

    void
    poppler_signing_data_set_field_partial_name
                                   (PopplerSigningData *signing_data,
                                    const gchar *field_partial_name);

Set field partial name (existing field id or a new one) where signature is placed.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
field_partial_name | a field partial name |

Since: 23.07.0

### poppler_signing_data_set_reason ()

    void
    poppler_signing_data_set_reason (PopplerSigningData *signing_data,
                                     const gchar *reason);

Set reason for signature (e.g. I'm approver).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
reason | a reason |

Since: 23.07.0

### poppler_signing_data_set_location ()

    void
    poppler_signing_data_set_location (PopplerSigningData *signing_data,
                                       const gchar *location);

Set signature location (e.g. "At my desk").

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
location | a location |

Since: 23.07.0

### poppler_signing_data_set_image_path ()

    void
    poppler_signing_data_set_image_path (PopplerSigningData *signing_data,
                                         const gchar *image_path);

Set signature background (watermark) image path.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
image_path | signature image path |

Since: 23.07.0

### poppler_signing_data_set_password ()

    void
    poppler_signing_data_set_password (PopplerSigningData *signing_data,
                                       const gchar *password);

Set password for the signing key.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
password | a password |

Since: 23.07.0

### poppler_signing_data_set_document_owner_password ()

    void
    poppler_signing_data_set_document_owner_password
                                   (PopplerSigningData *signing_data,
                                    const gchar *document_owner_password);

Set document owner password (for encrypted files).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
document_owner_password | document owner password |

Since: 23.07.0

### poppler_signing_data_set_document_user_password ()

    void
    poppler_signing_data_set_document_user_password
                                   (PopplerSigningData *signing_data,
                                    const gchar *document_user_password);

Set document user password (for encrypted files).

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |
document_user_password | document user password |

Since: 23.07.0

### poppler_signing_data_get_destination_filename ()

    const gchar *
    poppler_signing_data_get_destination_filename
                                   (const PopplerSigningData *signing_data);

Get destination file name.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

destination filename

Since: 23.07.0

### poppler_signing_data_get_certificate_info ()

    const PopplerCertificateInfo *
    poppler_signing_data_get_certificate_info
                                   (const PopplerSigningData *signing_data);

Get certification information.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a PopplerCertificateInfo

Since: 23.07.0

### poppler_signing_data_get_page ()

    int
    poppler_signing_data_get_page (const PopplerSigningData *signing_data);

Get page.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

page number

Since: 23.07.0

### poppler_signing_data_get_signature_text ()

    const gchar *
    poppler_signing_data_get_signature_text
                                   (const PopplerSigningData *signing_data);

Get signature text.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

signature text

Since: 23.07.0

### poppler_signing_data_get_signature_text_left ()

    const gchar *
    poppler_signing_data_get_signature_text_left
                                   (const PopplerSigningData *signing_data);

Get signature text left.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

signature text left

Since: 23.07.0

### poppler_signing_data_get_signature_rectangle ()

    const PopplerRectangle *
    poppler_signing_data_get_signature_rectangle
                                   (const PopplerSigningData *signing_data);

Get signature rectangle.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a PopplerRectangle

Since: 23.07.0

### poppler_signing_data_get_font_color ()

    const PopplerColor *
    poppler_signing_data_get_font_color (const PopplerSigningData *signing_data);

Get signature font color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a PopplerColor

Since: 23.07.0

### poppler_signing_data_get_font_size ()

    gdouble
    poppler_signing_data_get_font_size (const PopplerSigningData *signing_data);

Get signature font size.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

font size

Since: 23.07.0

### poppler_signing_data_get_left_font_size ()

    gdouble
    poppler_signing_data_get_left_font_size
                                   (const PopplerSigningData *signing_data);

Get signature left font size.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

left font size

Since: 23.07.0

### poppler_signing_data_get_border_color ()

    const PopplerColor *
    poppler_signing_data_get_border_color (const PopplerSigningData *signing_data);

Get signature border color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a PopplerColor

Since: 23.07.0

### poppler_signing_data_get_border_width ()

    gdouble
    poppler_signing_data_get_border_width (const PopplerSigningData *signing_data);

Get signature border width.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

border width

Since: 23.07.0

### poppler_signing_data_get_background_color ()

    const PopplerColor *
    poppler_signing_data_get_background_color
                                   (const PopplerSigningData *signing_data);

Get signature background color.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

a PopplerColor

Since: 23.07.0

### poppler_signing_data_get_field_partial_name ()

    const gchar *
    poppler_signing_data_get_field_partial_name
                                   (const PopplerSigningData *signing_data);

Get field partial name.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

field partial name

Since: 23.07.0

### poppler_signing_data_get_reason ()

    const gchar *
    poppler_signing_data_get_reason (const PopplerSigningData *signing_data);

Get reason.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

reason

Since: 23.07.0

### poppler_signing_data_get_location ()

    const gchar *
    poppler_signing_data_get_location (const PopplerSigningData *signing_data);

Get location.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

location

Since: 23.07.0

### poppler_signing_data_get_image_path ()

    const gchar *
    poppler_signing_data_get_image_path (const PopplerSigningData *signing_data);

Get image path.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

image path

Since: 23.07.0

### poppler_signing_data_get_password ()

    const gchar *
    poppler_signing_data_get_password (const PopplerSigningData *signing_data);

Get signing key password.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

password

Since: 23.07.0

### poppler_signing_data_get_document_owner_password ()

    const gchar *
    poppler_signing_data_get_document_owner_password
                                   (const PopplerSigningData *signing_data);

Get document owner password.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

document owner password (for encrypted files)

Since: 23.07.0

### poppler_signing_data_get_document_user_password ()

    const gchar *
    poppler_signing_data_get_document_user_password
                                   (const PopplerSigningData *signing_data);

Get document user password.

#### Parameters

signing_data | a PopplerSigningData structure containing signing data |

#### Returns

document user password (for encrypted files)

Since: 23.07.0

### poppler_certificate_info_new ()

    PopplerCertificateInfo *
    poppler_certificate_info_new (void);

Creates a new PopplerCertificateInfo

#### Returns

a new PopplerCertificateInfo. It must be freed with `poppler_certificate_info_free()` when done.

Since: 23.07.0

### poppler_certificate_info_copy ()

    PopplerCertificateInfo *
    poppler_certificate_info_copy (const PopplerCertificateInfo *certificate_info);

Copies `certificate_info` , creating an identical PopplerCertificateInfo.

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

#### Returns

a new PopplerCertificateInfo structure identical to `certificate_info` .

[transfer full]

Since: 23.07.0

### poppler_set_nss_dir ()

    void
    poppler_set_nss_dir (const char *path);

Set NSS directory

Since: 23.07.0

### poppler_get_nss_dir ()

    char *
    poppler_get_nss_dir (void);

Get NSS directory

#### Returns

nss directroy.

[transfer full]

Since: 23.07.0

### poppler_set_nss_password_callback ()

    void
    poppler_set_nss_password_callback (PopplerNssPasswordFunc func);

A callback which asks for certificate password

#### Parameters

func | a PopplerNssPasswordFunc that represents a signature annotation. | [scope call]

Since: 23.07.0

### poppler_get_available_signing_certificates ()

    GList *
    poppler_get_available_signing_certificates
                                   (void);

Get all available signing certificate information

#### Returns

all available signing certificate information.

[transfer full][element-type PopplerCertificateInfo]

### poppler_certificate_info_free ()

    void
    poppler_certificate_info_free (PopplerCertificateInfo *certificate_info);

Frees `certificate_info`

#### Parameters

certificate_info | a PopplerCertificateInfo structure containing certificate information |

Since: 23.07.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

### PopplerCertificateInfo

    typedef struct _PopplerCertificateInfo PopplerCertificateInfo;

PopplerCertificateInfo contains detailed info about a signing certificate.

Since: 23.07.0

### 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