PopplerAnnot: Poppler Reference Manual

## PopplerAnnot PopplerAnnot — Annotations |

## Functions

PopplerAnnotType | poppler_annot_get_annot_type ()
PopplerAnnotCalloutLine * | poppler_annot_callout_line_copy ()
void | poppler_annot_callout_line_free ()
PopplerAnnotCalloutLine * | poppler_annot_callout_line_new ()
PopplerColor * | poppler_annot_circle_get_interior_color ()
PopplerAnnot * | poppler_annot_circle_new ()
void | poppler_annot_circle_set_interior_color ()
PopplerAttachment * | poppler_annot_file_attachment_get_attachment ()
gchar * | poppler_annot_file_attachment_get_name ()
PopplerAnnotCalloutLine * | poppler_annot_free_text_get_callout_line ()
PopplerColor * | poppler_annot_free_text_get_font_color ()
PopplerFontDescription * | poppler_annot_free_text_get_font_desc ()
PopplerAnnotFreeTextQuadding | poppler_annot_free_text_get_quadding ()
PopplerAnnot * | poppler_annot_free_text_new ()
void | poppler_annot_free_text_set_font_desc ()
void | poppler_annot_free_text_set_font_color ()
PopplerColor * | poppler_annot_get_color ()
gchar * | poppler_annot_get_contents ()
PopplerAnnotFlag | poppler_annot_get_flags ()
gchar * | poppler_annot_get_modified ()
gchar * | poppler_annot_get_name ()
gint | poppler_annot_get_page_index ()
void | poppler_annot_get_rectangle ()
gboolean | poppler_annot_get_border_width ()
PopplerAnnot * | poppler_annot_line_new ()
void | poppler_annot_line_set_vertices ()
GDate * | poppler_annot_markup_get_date ()
PopplerAnnotExternalDataType | poppler_annot_markup_get_external_data ()
gchar * | poppler_annot_markup_get_label ()
gdouble | poppler_annot_markup_get_opacity ()
gboolean | poppler_annot_markup_get_popup_is_open ()
gboolean | poppler_annot_markup_get_popup_rectangle ()
PopplerAnnotMarkupReplyType | poppler_annot_markup_get_reply_to ()
gchar * | poppler_annot_markup_get_subject ()
gboolean | poppler_annot_markup_has_popup ()
void | poppler_annot_markup_set_label ()
void | poppler_annot_markup_set_opacity ()
void | poppler_annot_markup_set_popup ()
void | poppler_annot_markup_set_popup_is_open ()
void | poppler_annot_markup_set_popup_rectangle ()
PopplerMovie * | poppler_annot_movie_get_movie ()
gchar * | poppler_annot_movie_get_title ()
PopplerAction * | poppler_annot_screen_get_action ()
void | poppler_annot_set_color ()
void | poppler_annot_set_contents ()
void | poppler_annot_set_flags ()
void | poppler_annot_set_rectangle ()
void | poppler_annot_set_border_width ()
PopplerColor * | poppler_annot_square_get_interior_color ()
PopplerAnnot * | poppler_annot_square_new ()
void | poppler_annot_square_set_interior_color ()
PopplerAnnotStampIcon | poppler_annot_stamp_get_icon ()
PopplerAnnot * | poppler_annot_stamp_new ()
gboolean | poppler_annot_stamp_set_custom_image ()
void | poppler_annot_stamp_set_icon ()
gchar * | poppler_annot_text_get_icon ()
gboolean | poppler_annot_text_get_is_open ()
PopplerAnnotTextState | poppler_annot_text_get_state ()
GArray * | poppler_annot_text_markup_get_quadrilaterals ()
PopplerAnnot * | poppler_annot_text_markup_new_highlight ()
PopplerAnnot * | poppler_annot_text_markup_new_squiggly ()
PopplerAnnot * | poppler_annot_text_markup_new_strikeout ()
PopplerAnnot * | poppler_annot_text_markup_new_underline ()
void | poppler_annot_text_markup_set_quadrilaterals ()
PopplerAnnot * | poppler_annot_text_new ()
void | poppler_annot_text_set_icon ()
void | poppler_annot_text_set_is_open ()
PopplerFontDescription * | poppler_font_description_copy ()
void | poppler_font_description_free ()
PopplerFontDescription * | poppler_font_description_new ()

## Types and Values

| PopplerAnnotCalloutLine
| PopplerAnnot
| PopplerAnnotCircle
| PopplerAnnotFileAttachment
| PopplerAnnotFreeText
| PopplerAnnotLine
| PopplerAnnotMarkup
| PopplerAnnotMovie
| PopplerAnnotScreen
| PopplerAnnotSquare
| PopplerAnnotStamp
| PopplerAnnotText
| PopplerAnnotTextMarkup
enum | PopplerAnnotExternalDataType
enum | PopplerAnnotFlag
enum | PopplerAnnotFreeTextQuadding
enum | PopplerAnnotMarkupReplyType
enum | PopplerAnnotTextState
enum | PopplerAnnotStampIcon
enum | PopplerAnnotType
| PopplerFontDescription
#define | POPPLER_ANNOT_TEXT_ICON_CIRCLE
#define | POPPLER_ANNOT_TEXT_ICON_COMMENT
#define | POPPLER_ANNOT_TEXT_ICON_CROSS
#define | POPPLER_ANNOT_TEXT_ICON_HELP
#define | POPPLER_ANNOT_TEXT_ICON_INSERT
#define | POPPLER_ANNOT_TEXT_ICON_KEY
#define | POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH
#define | POPPLER_ANNOT_TEXT_ICON_NOTE
#define | POPPLER_ANNOT_TEXT_ICON_PARAGRAPH

## Object Hierarchy

        GBoxed
        ├── PopplerAnnotCalloutLine
        ╰── PopplerFontDescription
        GEnum
        ├── PopplerAnnotExternalDataType
        ├── PopplerAnnotFreeTextQuadding
        ├── PopplerAnnotMarkupReplyType
        ├── PopplerAnnotStampIcon
        ├── PopplerAnnotTextState
        ╰── PopplerAnnotType
        GFlags
        ╰── PopplerAnnotFlag
        GObject
        ╰── PopplerAnnot
            ├── PopplerAnnotMarkup
            │   ├── PopplerAnnotCircle
            │   ├── PopplerAnnotFileAttachment
            │   ├── PopplerAnnotFreeText
            │   ├── PopplerAnnotLine
            │   ├── PopplerAnnotSquare
            │   ├── PopplerAnnotStamp
            │   ├── PopplerAnnotText
            │   ├── PopplerAnnotTextMarkup
            │   ├── PopplerAnnotCircle
            │   ├── PopplerAnnotFileAttachment
            │   ├── PopplerAnnotFreeText
            │   ╰── PopplerAnnotLine
            ├── PopplerAnnotMovie
            ╰── PopplerAnnotScreen

## Includes

    #include <poppler.h>

## Description

## Functions

### poppler_annot_get_annot_type ()

    PopplerAnnotType
    poppler_annot_get_annot_type (PopplerAnnot *poppler_annot);

Gets the type of `poppler_annot`

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

PopplerAnnotType of `poppler_annot` .

### poppler_annot_callout_line_copy ()

    PopplerAnnotCalloutLine *
    poppler_annot_callout_line_copy (PopplerAnnotCalloutLine *callout);

It does copy `callout` to a new PopplerAnnotCalloutLine.

#### Parameters

callout | the PopplerAnnotCalloutLine to be copied. |

#### Returns

a new allocated PopplerAnnotCalloutLine as exact copy of `callout` , `NULL` in other case. It must be freed when done.

### poppler_annot_callout_line_free ()

    void
    poppler_annot_callout_line_free (PopplerAnnotCalloutLine *callout);

Frees the memory used by PopplerAnnotCalloutLine.

#### Parameters

callout | a PopplerAnnotCalloutLine |

### poppler_annot_callout_line_new ()

    PopplerAnnotCalloutLine *
    poppler_annot_callout_line_new (void);

Creates a new empty PopplerAnnotCalloutLine.

#### Returns

a new allocated PopplerAnnotCalloutLine, `NULL` in other case. It must be freed when done.

### poppler_annot_circle_get_interior_color ()

    PopplerColor *
    poppler_annot_circle_get_interior_color
                                   (PopplerAnnotCircle *poppler_annot);

Retrieves the interior color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotCircle |

#### Returns

a new allocated PopplerColor with the color values of `poppler_annot` , or `NULL`. It must be freed with `g_free()` when done.

Since: 0.26

### poppler_annot_circle_new ()

    PopplerAnnot *
    poppler_annot_circle_new (PopplerDocument *doc,
                              PopplerRectangle *rect);

Creates a new Circle annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |

#### Returns

a newly created PopplerAnnotCircle annotation

Since: 0.26

### poppler_annot_circle_set_interior_color ()

    void
    poppler_annot_circle_set_interior_color
                                   (PopplerAnnotCircle *poppler_annot,
                                    PopplerColor *poppler_color);

Sets the interior color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotCircle |
poppler_color | a PopplerColor, or `NULL`. | [allow-none]

Since: 0.26

### poppler_annot_file_attachment_get_attachment ()

    PopplerAttachment *
    poppler_annot_file_attachment_get_attachment
                                   (PopplerAnnotFileAttachment *poppler_annot);

Creates a PopplerAttachment for the file of the file attachment annotation `annot` . The PopplerAttachment must be unrefed with g_object_unref by the caller.

#### Parameters

poppler_annot | a PopplerAnnotFileAttachment |

#### Returns

`PopplerAttachment` .

[transfer full]

Since: 0.14

### poppler_annot_file_attachment_get_name ()

    gchar *
    poppler_annot_file_attachment_get_name
                                   (PopplerAnnotFileAttachment *poppler_annot);

Retrieves the name of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotFileAttachment |

#### Returns

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

Since: 0.14

### poppler_annot_free_text_get_callout_line ()

    PopplerAnnotCalloutLine *
    poppler_annot_free_text_get_callout_line
                                   (PopplerAnnotFreeText *poppler_annot);

Retrieves a PopplerAnnotCalloutLine of four or six numbers specifying a callout line attached to the `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotFreeText |

#### Returns

a new allocated PopplerAnnotCalloutLine if the annot has a callout line, `NULL` in other case. It must be freed with `g_free()` when done.

### poppler_annot_free_text_get_font_color ()

    PopplerColor *
    poppler_annot_free_text_get_font_color
                                   (PopplerAnnotFreeText *poppler_annot);

Gets the font color.

#### Parameters

poppler_annot | a PopplerAnnotFreeText |

#### Returns

a copy of the font's PopplerColor.

[transfer full]

Since: 24.12.0

### poppler_annot_free_text_get_font_desc ()

    PopplerFontDescription *
    poppler_annot_free_text_get_font_desc (PopplerAnnotFreeText *poppler_annot);

Gets the font description (i.e. font family name, style, weight, stretch and size).

#### Parameters

poppler_annot | a PopplerAnnotFreeText |

#### Returns

a copy of the annotation font description, or NULL if there is no font description set.

[nullable][transfer full]

Since: 24.12.0

### poppler_annot_free_text_get_quadding ()

    PopplerAnnotFreeTextQuadding
    poppler_annot_free_text_get_quadding (PopplerAnnotFreeText *poppler_annot);

Retrieves the justification of the text of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotFreeText |

#### Returns

PopplerAnnotFreeTextQuadding of `poppler_annot` .

### poppler_annot_free_text_new ()

    PopplerAnnot *
    poppler_annot_free_text_new (PopplerDocument *doc,
                                 PopplerRectangle *rect);

Creates a new Free Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`. It initially has no content. Font family, size and color are initially undefined and must be set, see `poppler_annot_free_text_set_font_desc()` and `poppler_annot_free_text_set_font_color()`.

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |

#### Returns

A newly created PopplerAnnotFreeText annotation.

[transfer full]

### poppler_annot_free_text_set_font_desc ()

    void
    poppler_annot_free_text_set_font_desc (PopplerAnnotFreeText *poppler_annot,
                                           PopplerFontDescription *font_desc);

Sets the font description (i.e. font family name, style, weight, stretch and size).

#### Parameters

poppler_annot | a PopplerAnnotFreeText |
font_desc | a PopplerFontDescription |

Since: 24.12.0

### poppler_annot_free_text_set_font_color ()

    void
    poppler_annot_free_text_set_font_color
                                   (PopplerAnnotFreeText *poppler_annot,
                                    PopplerColor *color);

Sets the font color.

#### Parameters

poppler_annot | a PopplerAnnotFreeText |
color | a PopplerColor |

Since: 24.12.0

### poppler_annot_get_color ()

    PopplerColor *
    poppler_annot_get_color (PopplerAnnot *poppler_annot);

Retrieves the color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

a new allocated PopplerColor with the color values of `poppler_annot` , or `NULL`. It must be freed with `g_free()` when done.

### poppler_annot_get_contents ()

    gchar *
    poppler_annot_get_contents (PopplerAnnot *poppler_annot);

Retrieves the contents of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

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

### poppler_annot_get_flags ()

    PopplerAnnotFlag
    poppler_annot_get_flags (PopplerAnnot *poppler_annot);

Retrieves the flag field specifying various characteristics of the `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

the flag field of `poppler_annot` .

### poppler_annot_get_modified ()

    gchar *
    poppler_annot_get_modified (PopplerAnnot *poppler_annot);

Retrieves the last modification data of `poppler_annot` . The returned string will be either a PDF format date or a text string. See also `poppler_date_parse()`

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

a new allocated string with the last modification data of `poppler_annot` . It must be freed with `g_free()` when done.

### poppler_annot_get_name ()

    gchar *
    poppler_annot_get_name (PopplerAnnot *poppler_annot);

Retrieves the name of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

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

### poppler_annot_get_page_index ()

    gint
    poppler_annot_get_page_index (PopplerAnnot *poppler_annot);

Returns the page index to which `poppler_annot` is associated, or -1 if unknown

#### Parameters

poppler_annot | a PopplerAnnot |

#### Returns

page index or -1

Since: 0.14

### poppler_annot_get_rectangle ()

    void
    poppler_annot_get_rectangle (PopplerAnnot *poppler_annot,
                                 PopplerRectangle *poppler_rect);

Retrieves the rectangle representing the page coordinates where the annotation `poppler_annot` is placed.

#### Parameters

poppler_annot | a PopplerAnnot |
poppler_rect | a PopplerRectangle to store the annotation's coordinates. | [out]

Since: 0.26

### poppler_annot_get_border_width ()

    gboolean
    poppler_annot_get_border_width (PopplerAnnot *poppler_annot,
                                    double *width);

Returns the border width of the annotation. Some PDF editors set a border width even if the border is not actually drawn.

#### Parameters

poppler_annot | a PopplerAnnot |
width | a valid pointer to a double |

#### Returns

true and sets `border_width` to the actual border width if a border is defined, otherwise returns false and sets `border_width` to 0.

Since: 24.12.0

### poppler_annot_line_new ()

    PopplerAnnot *
    poppler_annot_line_new (PopplerDocument *doc,
                            PopplerRectangle *rect,
                            PopplerPoint *start,
                            PopplerPoint *end);

Creates a new Line annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |
start | a PopplerPoint of the starting vertice |
end | a PopplerPoint of the ending vertice |

#### Returns

A newly created PopplerAnnotLine annotation

Since: 0.26

### poppler_annot_line_set_vertices ()

    void
    poppler_annot_line_set_vertices (PopplerAnnotLine *poppler_annot,
                                     PopplerPoint *start,
                                     PopplerPoint *end);

Set the coordinate points where the `poppler_annot` starts and ends.

#### Parameters

poppler_annot | a PopplerAnnotLine |
start | a PopplerPoint of the starting vertice |
end | a PopplerPoint of the ending vertice |

Since: 0.26

### poppler_annot_markup_get_date ()

    GDate *
    poppler_annot_markup_get_date (PopplerAnnotMarkup *poppler_annot);

Returns the date and time when the annotation was created

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

a GDate representing the date and time when the annotation was created, or `NULL`.

[transfer full]

### poppler_annot_markup_get_external_data ()

    PopplerAnnotExternalDataType
    poppler_annot_markup_get_external_data
                                   (PopplerAnnotMarkup *poppler_annot);

Gets the external data type of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

PopplerAnnotExternalDataType of `poppler_annot` .

### poppler_annot_markup_get_label ()

    gchar *
    poppler_annot_markup_get_label (PopplerAnnotMarkup *poppler_annot);

Retrieves the label text of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

the label text of `poppler_annot` .

### poppler_annot_markup_get_opacity ()

    gdouble
    poppler_annot_markup_get_opacity (PopplerAnnotMarkup *poppler_annot);

Retrieves the opacity value of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

the opacity value of `poppler_annot` , between 0 (transparent) and 1 (opaque)

### poppler_annot_markup_get_popup_is_open ()

    gboolean
    poppler_annot_markup_get_popup_is_open
                                   (PopplerAnnotMarkup *poppler_annot);

Retrieves the state of the popup window related to `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

the state of `poppler_annot` . `TRUE` if it's open, `FALSE` in other case.

### poppler_annot_markup_get_popup_rectangle ()

    gboolean
    poppler_annot_markup_get_popup_rectangle
                                   (PopplerAnnotMarkup *poppler_annot,
                                    PopplerRectangle *poppler_rect);

Retrieves the rectangle of the popup window related to `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
poppler_rect | a PopplerRectangle to store the popup rectangle. | [out]

#### Returns

`TRUE` if PopplerRectangle was correctly filled, `FALSE` otherwise

Since: 0.12

### poppler_annot_markup_get_reply_to ()

    PopplerAnnotMarkupReplyType
    poppler_annot_markup_get_reply_to (PopplerAnnotMarkup *poppler_annot);

Gets the reply type of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

PopplerAnnotMarkupReplyType of `poppler_annot` .

### poppler_annot_markup_get_subject ()

    gchar *
    poppler_annot_markup_get_subject (PopplerAnnotMarkup *poppler_annot);

Retrives the subject text of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

the subject text of `poppler_annot` .

### poppler_annot_markup_has_popup ()

    gboolean
    poppler_annot_markup_has_popup (PopplerAnnotMarkup *poppler_annot);

Return `TRUE` if the markup annotation has a popup window associated

#### Parameters

poppler_annot | a PopplerAnnotMarkup |

#### Returns

`TRUE`, if `poppler_annot` has popup, `FALSE` otherwise

Since: 0.12

### poppler_annot_markup_set_label ()

    void
    poppler_annot_markup_set_label (PopplerAnnotMarkup *poppler_annot,
                                    const gchar *label);

Sets the label text of `poppler_annot` , replacing the current one

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
label | a text string containing the new label, or `NULL`. | [allow-none]

Since: 0.16

### poppler_annot_markup_set_opacity ()

    void
    poppler_annot_markup_set_opacity (PopplerAnnotMarkup *poppler_annot,
                                      gdouble opacity);

Sets the opacity of `poppler_annot` . This value applies to all visible elements of `poppler_annot` in its closed state, but not to the pop-up window that appears when it's openened

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
opacity | a constant opacity value, between 0 (transparent) and 1 (opaque) |

Since: 0.16

### poppler_annot_markup_set_popup ()

    void
    poppler_annot_markup_set_popup (PopplerAnnotMarkup *poppler_annot,
                                    PopplerRectangle *popup_rect);

Associates a new popup window for editing contents of `poppler_annot` . Popup window shall be displayed by viewers at `popup_rect` on the page.

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
popup_rect | a PopplerRectangle |

Since: 0.16

### poppler_annot_markup_set_popup_is_open ()

    void
    poppler_annot_markup_set_popup_is_open
                                   (PopplerAnnotMarkup *poppler_annot,
                                    gboolean is_open);

Sets the state of the popup window related to `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
is_open | whether popup window should initially be displayed open |

Since: 0.16

### poppler_annot_markup_set_popup_rectangle ()

    void
    poppler_annot_markup_set_popup_rectangle
                                   (PopplerAnnotMarkup *poppler_annot,
                                    PopplerRectangle *poppler_rect);

Sets the rectangle of the popup window related to `poppler_annot` . This doesn't have any effect if `poppler_annot` doesn't have a popup associated, use `poppler_annot_markup_set_popup()` to associate a popup window to a PopplerAnnotMarkup.

#### Parameters

poppler_annot | a PopplerAnnotMarkup |
poppler_rect | a PopplerRectangle to set |

Since: 0.33

### poppler_annot_movie_get_movie ()

    PopplerMovie *
    poppler_annot_movie_get_movie (PopplerAnnotMovie *poppler_annot);

Retrieves the movie object (PopplerMovie) stored in the `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMovie |

#### Returns

the movie object stored in the `poppler_annot` . The returned object is owned by PopplerAnnotMovie and should not be freed.

[transfer none]

Since: 0.14

### poppler_annot_movie_get_title ()

    gchar *
    poppler_annot_movie_get_title (PopplerAnnotMovie *poppler_annot);

Retrieves the movie title of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotMovie |

#### Returns

the title text of `poppler_annot` .

Since: 0.14

### poppler_annot_screen_get_action ()

    PopplerAction *
    poppler_annot_screen_get_action (PopplerAnnotScreen *poppler_annot);

Retrieves the action (PopplerAction) that shall be performed when `poppler_annot` is activated

#### Parameters

poppler_annot | a PopplerAnnotScreen |

#### Returns

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

[transfer none]

Since: 0.14

### poppler_annot_set_color ()

    void
    poppler_annot_set_color (PopplerAnnot *poppler_annot,
                             PopplerColor *poppler_color);

Sets the color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |
poppler_color | a PopplerColor, or `NULL`. | [allow-none]

Since: 0.16

### poppler_annot_set_contents ()

    void
    poppler_annot_set_contents (PopplerAnnot *poppler_annot,
                                const gchar *contents);

Sets the contents of `poppler_annot` to the given value, replacing the current contents.

#### Parameters

poppler_annot | a PopplerAnnot |
contents | a text string containing the new contents |

Since: 0.12

### poppler_annot_set_flags ()

    void
    poppler_annot_set_flags (PopplerAnnot *poppler_annot,
                             PopplerAnnotFlag flags);

Sets the flag field specifying various characteristics of the `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnot |
flags | a PopplerAnnotFlag |

Since: 0.22

### poppler_annot_set_rectangle ()

    void
    poppler_annot_set_rectangle (PopplerAnnot *poppler_annot,
                                 PopplerRectangle *poppler_rect);

Move the annotation to the rectangle representing the page coordinates where the annotation `poppler_annot` should be placed.

#### Parameters

poppler_annot | a PopplerAnnot |
poppler_rect | a PopplerRectangle with the new annotation's coordinates |

Since: 0.26

### poppler_annot_set_border_width ()

    void
    poppler_annot_set_border_width (PopplerAnnot *poppler_annot,
                                    double width);

Sets the border width of the annotation. Since there is currently no mechanism in the GLib binding to control the appearance of the border width, this should generally only be used to disable the border, although the API might be completed in the future.

#### Parameters

poppler_annot | a PopplerAnnot |
width | the new border width |

Since: 24.12.0

### poppler_annot_square_get_interior_color ()

    PopplerColor *
    poppler_annot_square_get_interior_color
                                   (PopplerAnnotSquare *poppler_annot);

Retrieves the interior color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotSquare |

#### Returns

a new allocated PopplerColor with the color values of `poppler_annot` , or `NULL`. It must be freed with `g_free()` when done.

Since: 0.26

### poppler_annot_square_new ()

    PopplerAnnot *
    poppler_annot_square_new (PopplerDocument *doc,
                              PopplerRectangle *rect);

Creates a new Square annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |

#### Returns

a newly created PopplerAnnotSquare annotation

Since: 0.26

### poppler_annot_square_set_interior_color ()

    void
    poppler_annot_square_set_interior_color
                                   (PopplerAnnotSquare *poppler_annot,
                                    PopplerColor *poppler_color);

Sets the interior color of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotSquare |
poppler_color | a PopplerColor, or `NULL`. | [allow-none]

Since: 0.26

### poppler_annot_stamp_get_icon ()

    PopplerAnnotStampIcon
    poppler_annot_stamp_get_icon (PopplerAnnotStamp *poppler_annot);

#### Parameters

poppler_annot | a PopplerAnnotStamp |

#### Returns

the corresponding PopplerAnnotStampIcon of the icon

Since: 22.07.0

### poppler_annot_stamp_new ()

    PopplerAnnot *
    poppler_annot_stamp_new (PopplerDocument *doc,
                             PopplerRectangle *rect);

Creates a new Stamp annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |

#### Returns

a newly created PopplerAnnotStamp annotation

Since: 22.07.0

### poppler_annot_stamp_set_custom_image ()

    gboolean
    poppler_annot_stamp_set_custom_image (PopplerAnnotStamp *poppler_annot,
                                          cairo_surface_t *image,
                                          GError **error);

Sets the custom image of `poppler_annot` to be `image`

#### Parameters

poppler_annot | a PopplerAnnotStamp |
image | an image cairo surface |
error | return location for error, or `NULL`. | [nullable]

#### Returns

`TRUE` on success, `FALSE` otherwise.

Since: 22.07.0

### poppler_annot_stamp_set_icon ()

    void
    poppler_annot_stamp_set_icon (PopplerAnnotStamp *poppler_annot,
                                  PopplerAnnotStampIcon icon);

Sets the icon of `poppler_annot` to be one of the predefined values in PopplerAnnotStampIcon

#### Parameters

poppler_annot | a PopplerAnnotStamp |
icon | the PopplerAnnotStampIcon type of the icon |

Since: 22.07.0

### poppler_annot_text_get_icon ()

    gchar *
    poppler_annot_text_get_icon (PopplerAnnotText *poppler_annot);

Gets name of the icon of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotText |

#### Returns

a new allocated string containing the icon name

### poppler_annot_text_get_is_open ()

    gboolean
    poppler_annot_text_get_is_open (PopplerAnnotText *poppler_annot);

Retrieves the state of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotText |

#### Returns

the state of `poppler_annot` . `TRUE` if it's open, `FALSE` in other case.

### poppler_annot_text_get_state ()

    PopplerAnnotTextState
    poppler_annot_text_get_state (PopplerAnnotText *poppler_annot);

Retrieves the state of `poppler_annot` .

#### Parameters

poppler_annot | a PopplerAnnotText |

#### Returns

PopplerAnnotTextState of `poppler_annot` .

### poppler_annot_text_markup_get_quadrilaterals ()

    GArray *
    poppler_annot_text_markup_get_quadrilaterals
                                   (PopplerAnnotTextMarkup *poppler_annot);

Returns a GArray of PopplerQuadrilateral items that map from a location on `page` to a PopplerAnnotTextMarkup. This array must be freed when done.

#### Parameters

poppler_annot | A PopplerAnnotTextMarkup |

#### Returns

A GArray of PopplerQuadrilateral.

[element-type PopplerQuadrilateral][transfer full]

Since: 0.26

### poppler_annot_text_markup_new_highlight ()

    PopplerAnnot *
    poppler_annot_text_markup_new_highlight
                                   (PopplerDocument *doc,
                                    PopplerRectangle *rect,
                                    GArray *quadrilaterals);

Creates a new Highlight Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |
quadrilaterals | A GArray of PopplerQuadrilaterals. | [element-type PopplerQuadrilateral]

#### Returns

A newly created PopplerAnnotTextMarkup annotation.

[transfer full]

Since: 0.26

### poppler_annot_text_markup_new_squiggly ()

    PopplerAnnot *
    poppler_annot_text_markup_new_squiggly
                                   (PopplerDocument *doc,
                                    PopplerRectangle *rect,
                                    GArray *quadrilaterals);

Creates a new Squiggly Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |
quadrilaterals | A GArray of PopplerQuadrilaterals. | [element-type PopplerQuadrilateral]

#### Returns

A newly created PopplerAnnotTextMarkup annotation.

[transfer full]

Since: 0.26

### poppler_annot_text_markup_new_strikeout ()

    PopplerAnnot *
    poppler_annot_text_markup_new_strikeout
                                   (PopplerDocument *doc,
                                    PopplerRectangle *rect,
                                    GArray *quadrilaterals);

Creates a new Strike Out Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |
quadrilaterals | A GArray of PopplerQuadrilaterals. | [element-type PopplerQuadrilateral]

#### Returns

A newly created PopplerAnnotTextMarkup annotation.

[transfer full]

Since: 0.26

### poppler_annot_text_markup_new_underline ()

    PopplerAnnot *
    poppler_annot_text_markup_new_underline
                                   (PopplerDocument *doc,
                                    PopplerRectangle *rect,
                                    GArray *quadrilaterals);

Creates a new Underline Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |
quadrilaterals | A GArray of PopplerQuadrilaterals. | [element-type PopplerQuadrilateral]

#### Returns

A newly created PopplerAnnotTextMarkup annotation.

[transfer full]

Since: 0.26

### poppler_annot_text_markup_set_quadrilaterals ()

    void
    poppler_annot_text_markup_set_quadrilaterals
                                   (PopplerAnnotTextMarkup *poppler_annot,
                                    GArray *quadrilaterals);

Set the regions (Quadrilaterals) to apply the text markup in `poppler_annot` .

#### Parameters

poppler_annot | A PopplerAnnotTextMarkup |
quadrilaterals | A GArray of PopplerQuadrilaterals. | [element-type PopplerQuadrilateral]

Since: 0.26

### poppler_annot_text_new ()

    PopplerAnnot *
    poppler_annot_text_new (PopplerDocument *doc,
                            PopplerRectangle *rect);

Creates a new Text annotation that will be located on `rect` when added to a page. See `poppler_page_add_annot()`

#### Parameters

doc | a PopplerDocument |
rect | a PopplerRectangle |

#### Returns

A newly created PopplerAnnotText annotation

Since: 0.16

### poppler_annot_text_set_icon ()

    void
    poppler_annot_text_set_icon (PopplerAnnotText *poppler_annot,
                                 const gchar *icon);

Sets the icon of `poppler_annot` . The following predefined icons are currently supported:

POPPLER_ANNOT_TEXT_ICON_NOTE |
POPPLER_ANNOT_TEXT_ICON_COMMENT |
POPPLER_ANNOT_TEXT_ICON_KEY |
POPPLER_ANNOT_TEXT_ICON_HELP |
POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH |
POPPLER_ANNOT_TEXT_ICON_PARAGRAPH |
POPPLER_ANNOT_TEXT_ICON_INSERT |
POPPLER_ANNOT_TEXT_ICON_CROSS |
POPPLER_ANNOT_TEXT_ICON_CIRCLE |

Since 26.1.0, Poppler also knows how to render the following icons, which are somewhat standard and other PDF renderers may also support:

POPPLER_ANNOT_TEXT_ICON_CHECK |
POPPLER_ANNOT_TEXT_ICON_STAR |
POPPLER_ANNOT_TEXT_ICON_RIGHT_ARROW |
POPPLER_ANNOT_TEXT_ICON_RIGHT_POINTER |
POPPLER_ANNOT_TEXT_ICON_UP_ARROW |
POPPLER_ANNOT_TEXT_ICON_UP_LEFT_ARROW |
POPPLER_ANNOT_TEXT_ICON_CROSS_HAIRS |

#### Parameters

poppler_annot | a PopplerAnnotText |
icon | the name of an icon |

Since: 0.16

### poppler_annot_text_set_is_open ()

    void
    poppler_annot_text_set_is_open (PopplerAnnotText *poppler_annot,
                                    gboolean is_open);

Sets whether `poppler_annot` should initially be displayed open

#### Parameters

poppler_annot | a PopplerAnnotText |
is_open | whether annotation should initially be displayed open |

Since: 0.16

### poppler_font_description_copy ()

    PopplerFontDescription *
    poppler_font_description_copy (PopplerFontDescription *font_desc);

Creates a copy of `font_desc`

#### Parameters

font_desc | a PopplerFontDescription to copy |

#### Returns

a new allocated copy of `font_desc`

### poppler_font_description_free ()

    void
    poppler_font_description_free (PopplerFontDescription *font_desc);

Frees the given PopplerFontDescription

#### Parameters

font_desc | a PopplerFontDescription |

### poppler_font_description_new ()

    PopplerFontDescription *
    poppler_font_description_new (const char *font_name);

Creates a new PopplerFontDescriptions

#### Parameters

font_name | the family name of the font |

#### Returns

a new PopplerFontDescription, use `poppler_font_description_free()` to free it

## Types and Values

### PopplerAnnotCalloutLine

    typedef struct {
        gboolean multiline;
        gdouble x1;
        gdouble y1;
        gdouble x2;
        gdouble y2;
        gdouble x3;
        gdouble y3;
    } PopplerAnnotCalloutLine;

An annotation for callout line.

Since 25.06 this type supports g_autoptr

### PopplerAnnot

    typedef struct _PopplerAnnot PopplerAnnot;

### PopplerAnnotCircle

    typedef struct _PopplerAnnotCircle PopplerAnnotCircle;

An annotation for circle.

Since 25.06 this type supports g_autoptr

### PopplerAnnotFileAttachment

    typedef struct _PopplerAnnotFileAttachment PopplerAnnotFileAttachment;

An annotation for file attachment.

Since 25.06 this type supports g_autoptr

### PopplerAnnotFreeText

    typedef struct _PopplerAnnotFreeText PopplerAnnotFreeText;

An annotation for free text.

Since 25.06 this type supports g_autoptr

### PopplerAnnotLine

    typedef struct _PopplerAnnotLine PopplerAnnotLine;

An annotation for line.

Since 25.06 this type supports g_autoptr

### PopplerAnnotMarkup

    typedef struct _PopplerAnnotMarkup PopplerAnnotMarkup;

An annotation for markup.

Since 25.06 this type supports g_autoptr

### PopplerAnnotMovie

    typedef struct _PopplerAnnotMovie PopplerAnnotMovie;

An annotation for movie.

Since 25.06 this type supports g_autoptr

### PopplerAnnotScreen

    typedef struct _PopplerAnnotScreen PopplerAnnotScreen;

An annotation for screen.

Since 25.06 this type supports g_autoptr

### PopplerAnnotSquare

    typedef struct _PopplerAnnotSquare PopplerAnnotSquare;

An annotation for square.

Since 25.06 this type supports g_autoptr

### PopplerAnnotStamp

    typedef struct _PopplerAnnotStamp PopplerAnnotStamp;

An annotation for stamp.

Since 25.06 this type supports g_autoptr

### PopplerAnnotText

    typedef struct _PopplerAnnotText PopplerAnnotText;

An annotation for text.

Since 25.06 this type supports g_autoptr

### PopplerAnnotTextMarkup

    typedef struct _PopplerAnnotTextMarkup PopplerAnnotTextMarkup;

An annotation for text markup.

Since 25.06 this type supports g_autoptr

### enum PopplerAnnotExternalDataType

#### Members

POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D |  |
POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN |  |

### enum PopplerAnnotFlag

#### Members

POPPLER_ANNOT_FLAG_UNKNOWN |  |
POPPLER_ANNOT_FLAG_INVISIBLE |  |
POPPLER_ANNOT_FLAG_HIDDEN |  |
POPPLER_ANNOT_FLAG_PRINT |  |
POPPLER_ANNOT_FLAG_NO_ZOOM |  |
POPPLER_ANNOT_FLAG_NO_ROTATE |  |
POPPLER_ANNOT_FLAG_NO_VIEW |  |
POPPLER_ANNOT_FLAG_READ_ONLY |  |
POPPLER_ANNOT_FLAG_LOCKED |  |
POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW |  |
POPPLER_ANNOT_FLAG_LOCKED_CONTENTS |  |

### enum PopplerAnnotFreeTextQuadding

#### Members

POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED |  |
POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED |  |
POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED |  |

### enum PopplerAnnotMarkupReplyType

#### Members

POPPLER_ANNOT_MARKUP_REPLY_TYPE_R |  |
POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP |  |

### enum PopplerAnnotTextState

#### Members

POPPLER_ANNOT_TEXT_STATE_MARKED |  |
POPPLER_ANNOT_TEXT_STATE_UNMARKED |  |
POPPLER_ANNOT_TEXT_STATE_ACCEPTED |  |
POPPLER_ANNOT_TEXT_STATE_REJECTED |  |
POPPLER_ANNOT_TEXT_STATE_CANCELLED |  |
POPPLER_ANNOT_TEXT_STATE_COMPLETED |  |
POPPLER_ANNOT_TEXT_STATE_NONE |  |
POPPLER_ANNOT_TEXT_STATE_UNKNOWN |  |

### enum PopplerAnnotStampIcon

#### Members

POPPLER_ANNOT_STAMP_ICON_UNKNOWN |  |
POPPLER_ANNOT_STAMP_ICON_APPROVED |  |
POPPLER_ANNOT_STAMP_ICON_AS_IS |  |
POPPLER_ANNOT_STAMP_ICON_CONFIDENTIAL |  |
POPPLER_ANNOT_STAMP_ICON_FINAL |  |
POPPLER_ANNOT_STAMP_ICON_EXPERIMENTAL |  |
POPPLER_ANNOT_STAMP_ICON_EXPIRED |  |
POPPLER_ANNOT_STAMP_ICON_NOT_APPROVED |  |
POPPLER_ANNOT_STAMP_ICON_NOT_FOR_PUBLIC_RELEASE |  |
POPPLER_ANNOT_STAMP_ICON_SOLD |  |
POPPLER_ANNOT_STAMP_ICON_DEPARTMENTAL |  |
POPPLER_ANNOT_STAMP_ICON_FOR_COMMENT |  |
POPPLER_ANNOT_STAMP_ICON_FOR_PUBLIC_RELEASE |  |
POPPLER_ANNOT_STAMP_ICON_TOP_SECRET |  |
POPPLER_ANNOT_STAMP_ICON_NONE |  |

### enum PopplerAnnotType

#### Members

POPPLER_ANNOT_UNKNOWN |  |
POPPLER_ANNOT_TEXT |  |
POPPLER_ANNOT_LINK |  |
POPPLER_ANNOT_FREE_TEXT |  |
POPPLER_ANNOT_LINE |  |
POPPLER_ANNOT_SQUARE |  |
POPPLER_ANNOT_CIRCLE |  |
POPPLER_ANNOT_POLYGON |  |
POPPLER_ANNOT_POLY_LINE |  |
POPPLER_ANNOT_HIGHLIGHT |  |
POPPLER_ANNOT_UNDERLINE |  |
POPPLER_ANNOT_SQUIGGLY |  |
POPPLER_ANNOT_STRIKE_OUT |  |
POPPLER_ANNOT_STAMP |  |
POPPLER_ANNOT_CARET |  |
POPPLER_ANNOT_INK |  |
POPPLER_ANNOT_POPUP |  |
POPPLER_ANNOT_FILE_ATTACHMENT |  |
POPPLER_ANNOT_SOUND |  |
POPPLER_ANNOT_MOVIE |  |
POPPLER_ANNOT_WIDGET |  |
POPPLER_ANNOT_SCREEN |  |
POPPLER_ANNOT_PRINTER_MARK |  |
POPPLER_ANNOT_TRAP_NET |  |
POPPLER_ANNOT_WATERMARK |  |
POPPLER_ANNOT_3D |  |

### PopplerFontDescription

    typedef struct {
        char *font_name;
        double size_pt;
        PopplerStretch stretch;
        PopplerWeight weight;
        PopplerStyle style;
    } PopplerFontDescription;

A PopplerFontDescription structure represents the description of a font. When used together with Pango, all the fields are value-compatible with pango equivalent, although Pango font descriptions may contain more information.

This type supports g_autoptr

#### Members

char *`font_name`; | name of font family |
double `size_pt`; | size of font in pt |
PopplerStretch `stretch`; | a PopplerStretch representing stretch of the font |
PopplerWeight `weight`; | a PopplerWeight representing weight of the font |
PopplerStyle `style`; | a PopplerStyle representing style of the font |

Since: 24.12.0

### POPPLER_ANNOT_TEXT_ICON_CIRCLE

    #define POPPLER_ANNOT_TEXT_ICON_CIRCLE "Circle"

### POPPLER_ANNOT_TEXT_ICON_COMMENT

    #define POPPLER_ANNOT_TEXT_ICON_COMMENT "Comment"

### POPPLER_ANNOT_TEXT_ICON_CROSS

    #define POPPLER_ANNOT_TEXT_ICON_CROSS "Cross"

### POPPLER_ANNOT_TEXT_ICON_HELP

    #define POPPLER_ANNOT_TEXT_ICON_HELP "Help"

### POPPLER_ANNOT_TEXT_ICON_INSERT

    #define POPPLER_ANNOT_TEXT_ICON_INSERT "Insert"

### POPPLER_ANNOT_TEXT_ICON_KEY

    #define POPPLER_ANNOT_TEXT_ICON_KEY "Key"

### POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH

    #define POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH "NewParagraph"

### POPPLER_ANNOT_TEXT_ICON_NOTE

    #define POPPLER_ANNOT_TEXT_ICON_NOTE "Note"

### POPPLER_ANNOT_TEXT_ICON_PARAGRAPH

    #define POPPLER_ANNOT_TEXT_ICON_PARAGRAPH "Paragraph"