PopplerPage: Poppler Reference Manual

## PopplerPage PopplerPage — Information about a page in a document |

## Functions

int | poppler_page_get_index ()
gchar * | poppler_page_get_label ()
void | poppler_page_get_size ()
void | poppler_page_get_crop_box ()
double | poppler_page_get_duration ()
PopplerPageTransition * | poppler_page_get_transition ()
gboolean | poppler_page_get_thumbnail_size ()
cairo_surface_t * | poppler_page_get_thumbnail ()
void | poppler_page_render ()
void | poppler_page_render_for_printing ()
void | poppler_page_render_for_printing_with_options ()
void | poppler_page_render_to_ps ()
void | poppler_page_render_selection ()
cairo_region_t * | poppler_page_get_selected_region ()
GList * | poppler_page_get_selection_region ()
void | poppler_page_selection_region_free ()
char * | poppler_page_get_selected_text ()
GList * | poppler_page_find_text ()
GList * | poppler_page_find_text_with_options ()
char * | poppler_page_get_text ()
char * | poppler_page_get_text_for_area ()
gboolean | poppler_page_get_text_layout ()
gboolean | poppler_page_get_text_layout_for_area ()
GList * | poppler_page_get_text_attributes ()
GList * | poppler_page_get_text_attributes_for_area ()
void | poppler_page_free_text_attributes ()
GList * | poppler_page_get_link_mapping ()
void | poppler_page_free_link_mapping ()
GList * | poppler_page_get_image_mapping ()
cairo_surface_t * | poppler_page_get_image ()
void | poppler_page_free_image_mapping ()
GList * | poppler_page_get_form_field_mapping ()
void | poppler_page_free_form_field_mapping ()
GList * | poppler_page_get_annot_mapping ()
void | poppler_page_free_annot_mapping ()
void | poppler_page_add_annot ()
void | poppler_page_remove_annot ()
PopplerRectangle * | poppler_rectangle_new ()
PopplerRectangle * | poppler_rectangle_copy ()
void | poppler_rectangle_free ()
PopplerPageTransition * | poppler_page_transition_new ()
PopplerPageTransition * | poppler_page_transition_copy ()
void | poppler_page_transition_free ()
PopplerLinkMapping * | poppler_link_mapping_new ()
PopplerLinkMapping * | poppler_link_mapping_copy ()
void | poppler_link_mapping_free ()
PopplerImageMapping * | poppler_image_mapping_new ()
PopplerImageMapping * | poppler_image_mapping_copy ()
void | poppler_image_mapping_free ()
PopplerFormFieldMapping * | poppler_form_field_mapping_new ()
PopplerFormFieldMapping * | poppler_form_field_mapping_copy ()
void | poppler_form_field_mapping_free ()
PopplerAnnotMapping * | poppler_annot_mapping_new ()
PopplerAnnotMapping * | poppler_annot_mapping_copy ()
void | poppler_annot_mapping_free ()
PopplerTextAttributes * | poppler_text_attributes_new ()
PopplerTextAttributes * | poppler_text_attributes_copy ()
void | poppler_text_attributes_free ()

## Properties

gchar * | label | Read

## Types and Values

| PopplerPage
| PopplerRectangle
| PopplerPageTransition
| PopplerLinkMapping
| PopplerImageMapping
| PopplerFormFieldMapping
| PopplerAnnotMapping
enum | PopplerPageTransitionType
enum | PopplerPageTransitionAlignment
enum | PopplerPageTransitionDirection
enum | PopplerSelectionStyle
| PopplerTextAttributes
enum | PopplerPrintFlags
enum | PopplerFindFlags

## Object Hierarchy

        GObject
        ╰── PopplerPage

## Includes

    #include <poppler.h>

## Description

## Functions

### poppler_page_get_index ()

    int
    poppler_page_get_index (PopplerPage *page);

Returns the index of `page`

#### Parameters

page | a PopplerPage |

#### Returns

index value of `page`

### poppler_page_get_label ()

    gchar *
    poppler_page_get_label (PopplerPage *page);

Returns the label of `page` . Note that page labels and page indices might not coincide.

#### Parameters

page | a PopplerPage |

#### Returns

a new allocated string containing the label of `page` , or `NULL` if `page` doesn't have a label

Since: 0.16

### poppler_page_get_size ()

    void
    poppler_page_get_size (PopplerPage *page,
                           double *width,
                           double *height);

Gets the size of `page` at the current scale and rotation.

#### Parameters

page | A PopplerPage |
width | return location for the width of `page` . | [out][allow-none]
height | return location for the height of `page` . | [out][allow-none]

### poppler_page_get_crop_box ()

    void
    poppler_page_get_crop_box (PopplerPage *page,
                               PopplerRectangle *rect);

Retrurns the crop box of `page`

#### Parameters

page | a PopplerPage |
rect | a PopplerRectangle to fill. | [out]

### poppler_page_get_duration ()

    double
    poppler_page_get_duration (PopplerPage *page);

Returns the duration of `page`

#### Parameters

page | a PopplerPage |

#### Returns

duration in seconds of `page` or -1.

### poppler_page_get_transition ()

    PopplerPageTransition *
    poppler_page_get_transition (PopplerPage *page);

Returns the transition effect of `page`

#### Parameters

page | a PopplerPage |

#### Returns

a PopplerPageTransition or `NULL`.

### poppler_page_get_thumbnail_size ()

    gboolean
    poppler_page_get_thumbnail_size (PopplerPage *page,
                                     int *width,
                                     int *height);

Returns `TRUE` if `page` has a thumbnail associated with it. It also fills in `width` and `height` with the width and height of the thumbnail. The values of width and height are not changed if no appropriate thumbnail exists.

#### Parameters

page | A PopplerPage |
width | return location for width. | [out]
height | return location for height. | [out]

#### Returns

`TRUE`, if `page` has a thumbnail associated with it.

### poppler_page_get_thumbnail ()

    cairo_surface_t *
    poppler_page_get_thumbnail (PopplerPage *page);

Get the embedded thumbnail for the specified page. If the document doesn't have an embedded thumbnail for the page, this function returns `NULL`.

#### Parameters

page | the PopplerPage to get the thumbnail for |

#### Returns

the tumbnail as a cairo_surface_t or `NULL` if the document doesn't have a thumbnail for this page.

### poppler_page_render ()

    void
    poppler_page_render (PopplerPage *page,
                         cairo_t *cairo);

Render the page to the given cairo context. This function is for rendering a page that will be displayed. If you want to render a page that will be printed use `poppler_page_render_for_printing()` instead

#### Parameters

page | the page to render from |
cairo | cairo context to render to |

### poppler_page_render_for_printing ()

    void
    poppler_page_render_for_printing (PopplerPage *page,
                                      cairo_t *cairo);

Render the page to the given cairo context for printing.

#### Parameters

page | the page to render from |
cairo | cairo context to render to |

### poppler_page_render_for_printing_with_options ()

    void
    poppler_page_render_for_printing_with_options
                                   (PopplerPage *page,
                                    cairo_t *cairo,
                                    PopplerPrintFlags options);

Render the page to the given cairo context for printing with the specified options

#### Parameters

page | the page to render from |
cairo | cairo context to render to |
options | print options |

Since: 0.16

### poppler_page_render_to_ps ()

    void
    poppler_page_render_to_ps (PopplerPage *page,
                               PopplerPSFile *ps_file);

Render the page on a postscript file

#### Parameters

page | a PopplerPage |
ps_file | the PopplerPSFile to render to |

### poppler_page_render_selection ()

    void
    poppler_page_render_selection (PopplerPage *page,
                                   cairo_t *cairo,
                                   PopplerRectangle *selection,
                                   PopplerRectangle *old_selection,
                                   PopplerSelectionStyle style,
                                   PopplerColor *glyph_color,
                                   PopplerColor *background_color);

Render the selection specified by `selection` for `page` to the given cairo context. The selection will be rendered, using `glyph_color` for the glyphs and `background_color` for the selection background.

If non-NULL, `old_selection` specifies the selection that is already rendered to `cairo` , in which case this function will (some day) only render the changed part of the selection.

#### Parameters

page | the PopplerPage for which to render selection |
cairo | cairo context to render to |
selection | start and end point of selection as a rectangle |
old_selection | previous selection |
style | a PopplerSelectionStyle |
glyph_color | color to use for drawing glyphs |
background_color | color to use for the selection background |

### poppler_page_get_selected_region ()

    cairo_region_t *
    poppler_page_get_selected_region (PopplerPage *page,
                                      gdouble scale,
                                      PopplerSelectionStyle style,
                                      PopplerRectangle *selection);

Returns a region containing the area that would be rendered by `poppler_page_render_selection()`. The returned region must be freed with `cairo_region_destroy()`

#### Parameters

page | a PopplerPage |
scale | scale specified as pixels per point |
style | a PopplerSelectionStyle |
selection | start and end point of selection as a rectangle |

#### Returns

a cairo_region_t.

[transfer full]

Since: 0.16

### poppler_page_get_selection_region ()

    GList *
    poppler_page_get_selection_region (PopplerPage *page,
                                       gdouble scale,
                                       PopplerSelectionStyle style,
                                       PopplerRectangle *selection);

`poppler_page_get_selection_region` has been deprecated since version 0.16 and should not be used in newly-written code.

Use `poppler_page_get_selected_region()` instead.

Returns a region containing the area that would be rendered by `poppler_page_render_selection()` as a GList of PopplerRectangle. The returned list must be freed with `poppler_page_selection_region_free()`.

#### Parameters

page | a PopplerPage |
scale | scale specified as pixels per point |
style | a PopplerSelectionStyle |
selection | start and end point of selection as a rectangle |

#### Returns

a GList of PopplerRectangle.

[element-type PopplerRectangle][transfer full]

### poppler_page_selection_region_free ()

    void
    poppler_page_selection_region_free (GList *region);

`poppler_page_selection_region_free` has been deprecated since version 0.16 and should not be used in newly-written code.

Frees `region`

#### Parameters

region | a GList of PopplerRectangle. | [element-type PopplerRectangle]

### poppler_page_get_selected_text ()

    char *
    poppler_page_get_selected_text (PopplerPage *page,
                                    PopplerSelectionStyle style,
                                    PopplerRectangle *selection);

Retrieves the contents of the specified `selection` as text.

#### Parameters

page | a PopplerPage |
style | a PopplerSelectionStyle |
selection | the PopplerRectangle including the text |

#### Returns

a pointer to the contents of the `selection` as a string

Since: 0.16

### poppler_page_find_text ()

    GList *
    poppler_page_find_text (PopplerPage *page,
                            const char *text);

Finds `text` in `page` with the default options (`POPPLER_FIND_DEFAULT`) and returns a GList of rectangles for each occurance of the text on the page. The coordinates are in PDF points.

#### Parameters

page | a PopplerPage |
text | the text to search for (UTF-8 encoded) |

#### Returns

a GList of PopplerRectangle,.

[element-type PopplerRectangle][transfer full]

### poppler_page_find_text_with_options ()

    GList *
    poppler_page_find_text_with_options (PopplerPage *page,
                                         const char *text,
                                         PopplerFindFlags options);

Finds `text` in `page` with the given PopplerFindFlags options and returns a GList of rectangles for each occurance of the text on the page. The coordinates are in PDF points.

#### Parameters

page | a PopplerPage |
text | the text to search for (UTF-8 encoded) |
options | find options |

#### Returns

a GList of PopplerRectangle,.

[element-type PopplerRectangle][transfer full]

Since: 0.22

### poppler_page_get_text ()

    char *
    poppler_page_get_text (PopplerPage *page);

Retrieves the text of `page` .

#### Parameters

page | a PopplerPage |

#### Returns

a pointer to the text of the `page` as a string

Since: 0.16

### poppler_page_get_text_for_area ()

    char *
    poppler_page_get_text_for_area (PopplerPage *page,
                                    PopplerRectangle *area);

Retrieves the text of `page` contained in `area` .

#### Parameters

page | a PopplerPage |
area | a PopplerRectangle |

#### Returns

a pointer to the text as a string

Since: 0.26

### poppler_page_get_text_layout ()

    gboolean
    poppler_page_get_text_layout (PopplerPage *page,
                                  PopplerRectangle **rectangles,
                                  guint *n_rectangles);

Obtains the layout of the text as a list of PopplerRectangle This array must be freed with `g_free()` when done.

The position in the array represents an offset in the text returned by `poppler_page_get_text()`

See also `poppler_page_get_text_layout_for_area()`.

#### Parameters

page | A PopplerPage |
rectangles | return location for an array of PopplerRectangle. | [out][array length=n_rectangles][transfer container]
n_rectangles | length of returned array. | [out]

#### Returns

`TRUE` if the page contains text, `FALSE` otherwise

Since: 0.16

### poppler_page_get_text_layout_for_area ()

    gboolean
    poppler_page_get_text_layout_for_area (PopplerPage *page,
                                           PopplerRectangle *area,
                                           PopplerRectangle **rectangles,
                                           guint *n_rectangles);

Obtains the layout of the text contained in `area` as a list of PopplerRectangle This array must be freed with `g_free()` when done.

The position in the array represents an offset in the text returned by `poppler_page_get_text_for_area()`

#### Parameters

page | A PopplerPage |
area | a PopplerRectangle |
rectangles | return location for an array of PopplerRectangle. | [out][array length=n_rectangles][transfer container]
n_rectangles | length of returned array. | [out]

#### Returns

`TRUE` if the page contains text, `FALSE` otherwise

Since: 0.26

### poppler_page_get_text_attributes ()

    GList *
    poppler_page_get_text_attributes (PopplerPage *page);

Obtains the attributes of the text as a GList of PopplerTextAttributes. This list must be freed with `poppler_page_free_text_attributes()` when done.

Each list element is a PopplerTextAttributes struct where start_index and end_index indicates the range of text (as returned by `poppler_page_get_text()`) to which text attributes apply.

See also `poppler_page_get_text_attributes_for_area()`

#### Parameters

page | A PopplerPage |

#### Returns

A GList of PopplerTextAttributes.

[element-type PopplerTextAttributes][transfer full]

Since: 0.18

### poppler_page_get_text_attributes_for_area ()

    GList *
    poppler_page_get_text_attributes_for_area
                                   (PopplerPage *page,
                                    PopplerRectangle *area);

Obtains the attributes of the text in `area` as a GList of PopplerTextAttributes. This list must be freed with `poppler_page_free_text_attributes()` when done.

Each list element is a PopplerTextAttributes struct where start_index and end_index indicates the range of text (as returned by `poppler_page_get_text_for_area()`) to which text attributes apply.

#### Parameters

page | A PopplerPage |
area | a PopplerRectangle |

#### Returns

A GList of PopplerTextAttributes.

[element-type PopplerTextAttributes][transfer full]

Since: 0.26

### poppler_page_free_text_attributes ()

    void
    poppler_page_free_text_attributes (GList *list);

Frees a list of PopplerTextAttributess allocated by `poppler_page_get_text_attributes()`.

#### Parameters

list | A list of PopplerTextAttributess. | [element-type PopplerTextAttributes]

Since: 0.18

### poppler_page_get_link_mapping ()

    GList *
    poppler_page_get_link_mapping (PopplerPage *page);

Returns a list of PopplerLinkMapping items that map from a location on `page` to a PopplerAction. This list must be freed with `poppler_page_free_link_mapping()` when done.

#### Parameters

page | A PopplerPage |

#### Returns

A GList of PopplerLinkMapping.

[element-type PopplerLinkMapping][transfer full]

### poppler_page_free_link_mapping ()

    void
    poppler_page_free_link_mapping (GList *list);

Frees a list of PopplerLinkMappings allocated by `poppler_page_get_link_mapping()`. It also frees the PopplerActions that each mapping contains, so if you want to keep them around, you need to copy them with `poppler_action_copy()`.

#### Parameters

list | A list of PopplerLinkMappings. | [element-type PopplerLinkMapping]

### poppler_page_get_image_mapping ()

    GList *
    poppler_page_get_image_mapping (PopplerPage *page);

Returns a list of PopplerImageMapping items that map from a location on `page` to an image of the page. This list must be freed with `poppler_page_free_image_mapping()` when done.

#### Parameters

page | A PopplerPage |

#### Returns

A GList of PopplerImageMapping.

[element-type PopplerImageMapping][transfer full]

### poppler_page_get_image ()

    cairo_surface_t *
    poppler_page_get_image (PopplerPage *page,
                            gint image_id);

Returns a cairo surface for the image of the `page`

#### Parameters

page | A PopplerPage |
image_id | The image identifier |

#### Returns

A cairo surface for the image

### poppler_page_free_image_mapping ()

    void
    poppler_page_free_image_mapping (GList *list);

Frees a list of PopplerImageMappings allocated by `poppler_page_get_image_mapping()`.

#### Parameters

list | A list of PopplerImageMappings. | [element-type PopplerImageMapping]

### poppler_page_get_form_field_mapping ()

    GList *
    poppler_page_get_form_field_mapping (PopplerPage *page);

Returns a list of PopplerFormFieldMapping items that map from a location on `page` to a form field. This list must be freed with `poppler_page_free_form_field_mapping()` when done.

#### Parameters

page | A PopplerPage |

#### Returns

A GList of PopplerFormFieldMapping.

[element-type PopplerFormFieldMapping][transfer full]

### poppler_page_free_form_field_mapping ()

    void
    poppler_page_free_form_field_mapping (GList *list);

Frees a list of PopplerFormFieldMappings allocated by `poppler_page_get_form_field_mapping()`.

#### Parameters

list | A list of PopplerFormFieldMappings. | [element-type PopplerFormFieldMapping]

### poppler_page_get_annot_mapping ()

    GList *
    poppler_page_get_annot_mapping (PopplerPage *page);

Returns a list of PopplerAnnotMapping items that map from a location on `page` to a PopplerAnnot. This list must be freed with `poppler_page_free_annot_mapping()` when done.

#### Parameters

page | A PopplerPage |

#### Returns

A GList of PopplerAnnotMapping.

[element-type PopplerAnnotMapping][transfer full]

### poppler_page_free_annot_mapping ()

    void
    poppler_page_free_annot_mapping (GList *list);

Frees a list of PopplerAnnotMappings allocated by `poppler_page_get_annot_mapping()`. It also unreferences the PopplerAnnots that each mapping contains, so if you want to keep them around, you need to reference them with `g_object_ref()`.

#### Parameters

list | A list of PopplerAnnotMappings. | [element-type PopplerAnnotMapping]

### poppler_page_add_annot ()

    void
    poppler_page_add_annot (PopplerPage *page,
                            PopplerAnnot *annot);

Adds annotation `annot` to `page` .

#### Parameters

page | a PopplerPage |
annot | a PopplerAnnot to add |

Since: 0.16

### poppler_page_remove_annot ()

    void
    poppler_page_remove_annot (PopplerPage *page,
                               PopplerAnnot *annot);

Removes annotation `annot` from `page`

#### Parameters

page | a PopplerPage |
annot | a PopplerAnnot to remove |

Since: 0.22

### poppler_rectangle_new ()

    PopplerRectangle *
    poppler_rectangle_new (void);

Creates a new PopplerRectangle

#### Returns

a new PopplerRectangle, use `poppler_rectangle_free()` to free it

### poppler_rectangle_copy ()

    PopplerRectangle *
    poppler_rectangle_copy (PopplerRectangle *rectangle);

Creates a copy of `rectangle`

#### Parameters

rectangle | a PopplerRectangle to copy |

#### Returns

a new allocated copy of `rectangle`

### poppler_rectangle_free ()

    void
    poppler_rectangle_free (PopplerRectangle *rectangle);

Frees the given PopplerRectangle

#### Parameters

rectangle | a PopplerRectangle |

### poppler_page_transition_new ()

    PopplerPageTransition *
    poppler_page_transition_new (void);

Creates a new PopplerPageTransition

#### Returns

a new PopplerPageTransition, use `poppler_page_transition_free()` to free it

### poppler_page_transition_copy ()

    PopplerPageTransition *
    poppler_page_transition_copy (PopplerPageTransition *transition);

Creates a copy of `transition`

#### Parameters

transition | a PopplerPageTransition to copy |

#### Returns

a new allocated copy of `transition`

### poppler_page_transition_free ()

    void
    poppler_page_transition_free (PopplerPageTransition *transition);

Frees the given PopplerPageTransition

#### Parameters

transition | a PopplerPageTransition |

### poppler_link_mapping_new ()

    PopplerLinkMapping *
    poppler_link_mapping_new (void);

Creates a new PopplerLinkMapping

#### Returns

a new PopplerLinkMapping, use `poppler_link_mapping_free()` to free it

### poppler_link_mapping_copy ()

    PopplerLinkMapping *
    poppler_link_mapping_copy (PopplerLinkMapping *mapping);

Creates a copy of `mapping`

#### Parameters

mapping | a PopplerLinkMapping to copy |

#### Returns

a new allocated copy of `mapping`

### poppler_link_mapping_free ()

    void
    poppler_link_mapping_free (PopplerLinkMapping *mapping);

Frees the given PopplerLinkMapping

#### Parameters

mapping | a PopplerLinkMapping |

### poppler_image_mapping_new ()

    PopplerImageMapping *
    poppler_image_mapping_new (void);

Creates a new PopplerImageMapping

#### Returns

a new PopplerImageMapping, use `poppler_image_mapping_free()` to free it

### poppler_image_mapping_copy ()

    PopplerImageMapping *
    poppler_image_mapping_copy (PopplerImageMapping *mapping);

Creates a copy of `mapping`

#### Parameters

mapping | a PopplerImageMapping to copy |

#### Returns

a new allocated copy of `mapping`

### poppler_image_mapping_free ()

    void
    poppler_image_mapping_free (PopplerImageMapping *mapping);

Frees the given PopplerImageMapping

#### Parameters

mapping | a PopplerImageMapping |

### poppler_form_field_mapping_new ()

    PopplerFormFieldMapping *
    poppler_form_field_mapping_new (void);

Creates a new PopplerFormFieldMapping

#### Returns

a new PopplerFormFieldMapping, use `poppler_form_field_mapping_free()` to free it

### poppler_form_field_mapping_copy ()

    PopplerFormFieldMapping *
    poppler_form_field_mapping_copy (PopplerFormFieldMapping *mapping);

Creates a copy of `mapping`

#### Parameters

mapping | a PopplerFormFieldMapping to copy |

#### Returns

a new allocated copy of `mapping`

### poppler_form_field_mapping_free ()

    void
    poppler_form_field_mapping_free (PopplerFormFieldMapping *mapping);

Frees the given PopplerFormFieldMapping

#### Parameters

mapping | a PopplerFormFieldMapping |

### poppler_annot_mapping_new ()

    PopplerAnnotMapping *
    poppler_annot_mapping_new (void);

Creates a new PopplerAnnotMapping

#### Returns

a new PopplerAnnotMapping, use `poppler_annot_mapping_free()` to free it

### poppler_annot_mapping_copy ()

    PopplerAnnotMapping *
    poppler_annot_mapping_copy (PopplerAnnotMapping *mapping);

Creates a copy of `mapping`

#### Parameters

mapping | a PopplerAnnotMapping to copy |

#### Returns

a new allocated copy of `mapping`

### poppler_annot_mapping_free ()

    void
    poppler_annot_mapping_free (PopplerAnnotMapping *mapping);

Frees the given PopplerAnnotMapping

#### Parameters

mapping | a PopplerAnnotMapping |

### poppler_text_attributes_new ()

    PopplerTextAttributes *
    poppler_text_attributes_new (void);

Creates a new PopplerTextAttributes

#### Returns

a new PopplerTextAttributes, use `poppler_text_attributes_free()` to free it

Since: 0.18

### poppler_text_attributes_copy ()

    PopplerTextAttributes *
    poppler_text_attributes_copy (PopplerTextAttributes *text_attrs);

Creates a copy of `text_attrs`

#### Parameters

text_attrs | a PopplerTextAttributes to copy |

#### Returns

a new allocated copy of `text_attrs`

Since: 0.18

### poppler_text_attributes_free ()

    void
    poppler_text_attributes_free (PopplerTextAttributes *text_attrs);

Frees the given PopplerTextAttributes

#### Parameters

text_attrs | a PopplerTextAttributes |

Since: 0.18

## Types and Values

### PopplerPage

    typedef struct _PopplerPage PopplerPage;

### PopplerRectangle

    typedef struct {
      gdouble x1;
      gdouble y1;
      gdouble x2;
      gdouble y2;
    } PopplerRectangle;

A PopplerRectangle is used to describe locations on a page and bounding boxes

#### Members

gdouble `x1`; | x coordinate of lower left corner |
gdouble `y1`; | y coordinate of lower left corner |
gdouble `x2`; | x coordinate of upper right corner |
gdouble `y2`; | y coordinate of upper right corner |

### PopplerPageTransition

    typedef struct {
      PopplerPageTransitionType type;
      PopplerPageTransitionAlignment alignment;
      PopplerPageTransitionDirection direction;
      gint duration;
      gint angle;
      gdouble scale;
      gboolean rectangular;
      gdouble duration_real;
    } PopplerPageTransition;

A PopplerPageTransition structures describes a visual transition to use when moving between pages during a presentation

#### Members

PopplerPageTransitionType `type`; | the type of transtition |
PopplerPageTransitionAlignment `alignment`; | the dimension in which the transition effect shall occur. Only for POPPLER_PAGE_TRANSITION_SPLIT and POPPLER_PAGE_TRANSITION_BLINDS transition types |
PopplerPageTransitionDirection `direction`; | the direccion of motion for the transition effect. Only for POPPLER_PAGE_TRANSITION_SPLIT, POPPLER_PAGE_TRANSITION_BOX and POPPLER_PAGE_TRANSITION_FLY transition types |
gint `duration`; | the duration of the transition effect |
gint `angle`; | the direction in which the specified transition effect shall moves, expressed in degrees counterclockwise starting from a left-to-right direction. Only for POPPLER_PAGE_TRANSITION_WIPE, POPPLER_PAGE_TRANSITION_GLITTER, POPPLER_PAGE_TRANSITION_FLY, POPPLER_PAGE_TRANSITION_COVER, POPPLER_PAGE_TRANSITION_UNCOVER and POPPLER_PAGE_TRANSITION_PUSH transition types |
gdouble `scale`; | the starting or ending scale at which the changes shall be drawn. Only for POPPLER_PAGE_TRANSITION_FLY transition type |
gboolean `rectangular`; | whether the area that will be flown is rectangular and opaque. Only for POPPLER_PAGE_TRANSITION_FLY transition type |
gdouble `duration_real`; |  |

### PopplerLinkMapping

    typedef struct {
      PopplerRectangle area;
      PopplerAction *action;
    } PopplerLinkMapping;

A PopplerLinkMapping structure represents the location of `action` on the page

#### Members

PopplerRectangle `area`; | a PopplerRectangle representing an area of the page |
PopplerAction *`action`; | a PopplerAction |

### PopplerImageMapping

    typedef struct {
      PopplerRectangle area;
      gint image_id;
    } PopplerImageMapping;

A PopplerImageMapping structure represents the location of an image on the page

#### Members

PopplerRectangle `area`; | a PopplerRectangle representing an area of the page |
gint `image_id`; | an image identifier |

### PopplerFormFieldMapping

    typedef struct {
      PopplerRectangle area;
      PopplerFormField *field;
    } PopplerFormFieldMapping;

A PopplerFormFieldMapping structure represents the location of `field` on the page

#### Members

PopplerRectangle `area`; | a PopplerRectangle representing an area of the page |
PopplerFormField *`field`; | a PopplerFormField |

### PopplerAnnotMapping

    typedef struct {
      PopplerRectangle area;
      PopplerAnnot *annot;
    } PopplerAnnotMapping;

A PopplerAnnotMapping structure represents the location of `annot` on the page

#### Members

PopplerRectangle `area`; | a PopplerRectangle representing an area of the page |
PopplerAnnot *`annot`; | a PopplerAnnot |

### enum PopplerPageTransitionType

Page transition types

#### Members

POPPLER_PAGE_TRANSITION_REPLACE | the new page replace the old one |
POPPLER_PAGE_TRANSITION_SPLIT | two lines sweep across the screen, revealing the new page |
POPPLER_PAGE_TRANSITION_BLINDS | multiple lines, evenly spaced across the screen, synchronously sweep in the same direction to reveal the new page |
POPPLER_PAGE_TRANSITION_BOX | a rectangular box sweeps inward from the edges of the page or outward from the center revealing the new page |
POPPLER_PAGE_TRANSITION_WIPE | a single line sweeps across the screen from one edge to the other revealing the new page |
POPPLER_PAGE_TRANSITION_DISSOLVE | the old page dissolves gradually to reveal the new one |
POPPLER_PAGE_TRANSITION_GLITTER | similar to POPPLER_PAGE_TRANSITION_DISSOLVE, except that the effect sweeps across the page in a wide band moving from one side of the screen to the other |
POPPLER_PAGE_TRANSITION_FLY | changes are flown out or in to or from a location that is offscreen |
POPPLER_PAGE_TRANSITION_PUSH | the old page slides off the screen while the new page slides in |
POPPLER_PAGE_TRANSITION_COVER | the new page slides on to the screen covering the old page |
POPPLER_PAGE_TRANSITION_UNCOVER | the old page slides off the screen uncovering the new page |
POPPLER_PAGE_TRANSITION_FADE | the new page gradually becomes visible through the old one |

### enum PopplerPageTransitionAlignment

Page transition alignment types for POPPLER_PAGE_TRANSITION_SPLIT and POPPLER_PAGE_TRANSITION_BLINDS transition types

#### Members

POPPLER_PAGE_TRANSITION_HORIZONTAL | horizontal dimension |
POPPLER_PAGE_TRANSITION_VERTICAL | vertical dimension |

### enum PopplerPageTransitionDirection

Page transition direction types for POPPLER_PAGE_TRANSITION_SPLIT, POPPLER_PAGE_TRANSITION_BOX and POPPLER_PAGE_TRANSITION_FLY transition types

#### Members

POPPLER_PAGE_TRANSITION_INWARD | inward from the edges of the page |
POPPLER_PAGE_TRANSITION_OUTWARD | outward from the center of the page |

### enum PopplerSelectionStyle

Selection styles

#### Members

POPPLER_SELECTION_GLYPH | glyph is the minimum unit for selection |
POPPLER_SELECTION_WORD | word is the minimum unit for selection |
POPPLER_SELECTION_LINE | line is the minimum unit for selection |

### PopplerTextAttributes

    typedef struct {
      gchar *font_name;
      gdouble font_size;
      gboolean is_underlined;
      PopplerColor color;

      gint start_index;
      gint end_index;
    } PopplerTextAttributes;

A PopplerTextAttributes is used to describe text attributes of a range of text

#### Members

gchar *`font_name`; | font name |
gdouble `font_size`; | font size |
gboolean `is_underlined`; | if text is underlined |
PopplerColor `color`; | a PopplerColor, the foreground color |
gint `start_index`; | start position this text attributes apply |
gint `end_index`; | end position this text text attributes apply |

Since: 0.18

### enum PopplerPrintFlags

Printing flags

#### Members

POPPLER_PRINT_DOCUMENT | print main document contents |
POPPLER_PRINT_MARKUP_ANNOTS | print document and markup annotations |
POPPLER_PRINT_STAMP_ANNOTS_ONLY | print document and only stamp annotations |
POPPLER_PRINT_ALL | print main document contents and all markup annotations |

Since: 0.16

### enum PopplerFindFlags

Flags using while searching text in a page

#### Members

POPPLER_FIND_DEFAULT | use default search settings |
POPPLER_FIND_CASE_SENSITIVE | do case sensitive search |
POPPLER_FIND_BACKWARDS | search backwards |
POPPLER_FIND_WHOLE_WORDS_ONLY | search only whole words |

Since: 0.22

## Property Details

### The `“label”` property

      “label”                    gchar *

The label of the page or `NULL`. See also `poppler_page_get_label()`

Flags: Read

Default value: NULL