Poppler Qt4  0.28.0
Public Types | Public Member Functions | List of all members
Poppler::Page Class Reference

#include <poppler-qt4.h>

Public Types

enum  Orientation { Landscape, Portrait, Seascape, UpsideDown }
 
enum  PageAction { Opening, Closing }
 
enum  PainterFlag { DontSaveAndRestore = 0x00000001 }
 
enum  Rotation { Rotate0 = 0, Rotate90 = 1, Rotate180 = 2, Rotate270 = 3 }
 
enum  SearchDirection { FromTop, NextResult, PreviousResult }
 
enum  SearchMode { CaseSensitive, CaseInsensitive }
 
enum  TextLayout { PhysicalLayout, RawOrderLayout }
 

Public Member Functions

Linkaction (PageAction act) const
 
void addAnnotation (const Annotation *ann)
 
QList< Annotation * > annotations () const
 
QList< Annotation * > annotations (const QSet< Annotation::SubType > &subtypes) const
 
void defaultCTM (double *CTM, double dpiX, double dpiY, int rotate, bool upsideDown)
 
double duration () const
 
QList< FormField * > formFields () const
 
QString label () const
 
QList< Link * > links () const
 
Orientation orientation () const
 
QSize pageSize () const
 
QSizeF pageSizeF () const
 
void removeAnnotation (const Annotation *ann)
 
QImage renderToImage (double xres=72.0, double yres=72.0, int x=-1, int y=-1, int w=-1, int h=-1, Rotation rotate=Rotate0) const
 
bool renderToPainter (QPainter *painter, double xres=72.0, double yres=72.0, int x=-1, int y=-1, int w=-1, int h=-1, Rotation rotate=Rotate0, PainterFlags flags=0) const
 
bool search (const QString &text, QRectF &rect, SearchDirection direction, SearchMode caseSensitive, Rotation rotate=Rotate0) const
 
bool search (const QString &text, double &rectLeft, double &rectTop, double &rectRight, double &rectBottom, SearchDirection direction, SearchMode caseSensitive, Rotation rotate=Rotate0) const
 
QList< QRectF > search (const QString &text, SearchMode caseSensitive, Rotation rotate=Rotate0) const
 
QString text (const QRectF &rect, TextLayout textLayout) const
 
QString text (const QRectF &rect) const
 
QList< TextBox * > textList (Rotation rotate=Rotate0) const
 
QImage thumbnail () const
 
PageTransitiontransition () const
 
 ~Page ()
 

Detailed Description

A page in a document.

The Page class represents a single page within a PDF document.

You cannot construct a Page directly, but you have to use the Document functions that return a new Page out of an index or a label.

Member Enumeration Documentation

Types of orientations that are possible.

Enumerator
Landscape 

Landscape orientation (portrait, with 90 degrees clockwise rotation )

Portrait 

Normal portrait orientation.

Seascape 

Seascape orientation (portrait, with 270 degrees clockwise rotation)

UpsideDown 

Upside down orientation (portrait, with 180 degrees rotation)

The kinds of page actions.

Enumerator
Opening 

The action when a page is "opened".

Closing 

The action when a page is "closed".

Additional flags for the renderToPainter method.

Since
0.16
Enumerator
DontSaveAndRestore 

Do not save/restore the caller-owned painter.

renderToPainter() by default preserves, using save() + restore(), the state of the painter specified; if this is not needed, this flag can avoid this job

The type of rotation to apply for an operation.

Enumerator
Rotate0 

Do not rotate.

Rotate90 

Rotate 90 degrees clockwise.

Rotate180 

Rotate 180 degrees.

Rotate270 

Rotate 270 degrees clockwise (90 degrees counterclockwise)

The starting point for a search.

Enumerator
FromTop 

Start sorting at the top of the document.

NextResult 

Find the next result, moving "down the page".

PreviousResult 

Find the previous result, moving "up the page".

The type of search to perform.

Enumerator
CaseSensitive 

Case differences cause no match in searching.

CaseInsensitive 

Case differences are ignored in matching.

How the text is going to be returned.

Since
0.16
Enumerator
PhysicalLayout 

The text is layouted to resemble the real page layout.

RawOrderLayout 

The text is returned without any type of processing.

Member Function Documentation

Link* Poppler::Page::action ( PageAction  act) const

Gets the page action specified, or NULL if there is no action.

Since
0.6
void Poppler::Page::addAnnotation ( const Annotation ann)

Adds an annotation to the page.

Note
Ownership of the annotation object stays with the caller, who can delete it at any time.
Since
0.20
QList<Annotation*> Poppler::Page::annotations ( ) const

Returns the annotations of the page.

Note
If you call this method twice, you get different objects pointing to the same annotations (see Annotation). The caller owns the returned objects and they should be deleted when no longer required.
QList<Annotation*> Poppler::Page::annotations ( const QSet< Annotation::SubType > &  subtypes) const

Returns the annotations of the page.

Parameters
subtypesthe subtypes of annotations you are interested in
Note
If you call this method twice, you get different objects pointing to the same annotations (see Annotation). The caller owns the returned objects and they should be deleted when no longer required.
Since
0.28
double Poppler::Page::duration ( ) const

Returns the page duration.

That is the time, in seconds, that the page should be displayed before the presentation automatically advances to the next page. Returns < 0 if duration is not set.

Since
0.6
QList<FormField*> Poppler::Page::formFields ( ) const

Returns the form fields on the page The caller gets the ownership of the returned objects.

Since
0.6
QString Poppler::Page::label ( ) const

Returns the label of the page, or a null string is the page has no label.

Since
0.6
QSize Poppler::Page::pageSize ( ) const
Returns
The dimensions (cropbox) of the page, in points (i.e. 1/72th of an inch)
QSizeF Poppler::Page::pageSizeF ( ) const
Returns
The dimensions (cropbox) of the page, in points (i.e. 1/72th of an inch)
void Poppler::Page::removeAnnotation ( const Annotation ann)

Removes an annotation from the page and destroys the annotation object.

Note
There mustn't be other Annotation objects pointing this annotation
Since
0.20
QImage Poppler::Page::renderToImage ( double  xres = 72.0,
double  yres = 72.0,
int  x = -1,
int  y = -1,
int  w = -1,
int  h = -1,
Rotation  rotate = Rotate0 
) const

Render the page to a QImage using the current Document renderer.

If x = y = w = h = -1, the method will automatically compute the size of the image from the horizontal and vertical resolutions specified in xres and yres. Otherwise, the method renders only a part of the page, specified by the parameters (x, y, w, h) in pixel coordinates. The returned QImage then has size (w, h), independent of the page size.

Parameters
xspecifies the left x-coordinate of the box, in pixels.
yspecifies the top y-coordinate of the box, in pixels.
wspecifies the width of the box, in pixels.
hspecifies the height of the box, in pixels.
xreshorizontal resolution of the graphics device, in dots per inch
yresvertical resolution of the graphics device, in dots per inch
rotatehow to rotate the page
Warning
The parameter (x, y, w, h) are not well-tested. Unusual or meaningless parameters may lead to rather unexpected results.
Returns
a QImage of the page, or a null image on failure.
Since
0.6
bool Poppler::Page::renderToPainter ( QPainter *  painter,
double  xres = 72.0,
double  yres = 72.0,
int  x = -1,
int  y = -1,
int  w = -1,
int  h = -1,
Rotation  rotate = Rotate0,
PainterFlags  flags = 0 
) const

Render the page to the specified QPainter using the current Document renderer.

If x = y = w = h = -1, the method will automatically compute the size of the page area from the horizontal and vertical resolutions specified in xres and yres. Otherwise, the method renders only a part of the page, specified by the parameters (x, y, w, h) in pixel coordinates.

Parameters
painterthe painter to paint on
xspecifies the left x-coordinate of the box, in pixels.
yspecifies the top y-coordinate of the box, in pixels.
wspecifies the width of the box, in pixels.
hspecifies the height of the box, in pixels.
xreshorizontal resolution of the graphics device, in dots per inch
yresvertical resolution of the graphics device, in dots per inch
rotatehow to rotate the page
flagsadditional painter flags
Warning
The parameter (x, y, w, h) are not well-tested. Unusual or meaningless parameters may lead to rather unexpected results.
Returns
whether the painting succeeded
Note
This method is only supported for Arthur
Since
0.16
bool Poppler::Page::search ( const QString &  text,
QRectF &  rect,
SearchDirection  direction,
SearchMode  caseSensitive,
Rotation  rotate = Rotate0 
) const

Returns true if the specified text was found.

Parameters
textthe text the search
rectin all directions is used to return where the text was found, for NextResult and PreviousResult indicates where to continue searching for
directionin which direction do the search
caseSensitivebe case sensitive?
rotatethe rotation to apply for the search order
bool Poppler::Page::search ( const QString &  text,
double &  rectLeft,
double &  rectTop,
double &  rectRight,
double &  rectBottom,
SearchDirection  direction,
SearchMode  caseSensitive,
Rotation  rotate = Rotate0 
) const

Returns true if the specified text was found.

Parameters
textthe text the search
rectXXXin all directions is used to return where the text was found, for NextResult and PreviousResult indicates where to continue searching for
directionin which direction do the search
caseSensitivebe case sensitive?
rotatethe rotation to apply for the search order
Since
0.14
QList<QRectF> Poppler::Page::search ( const QString &  text,
SearchMode  caseSensitive,
Rotation  rotate = Rotate0 
) const

Returns a list of all occurrences of the specified text on the page.

Parameters
textthe text to search
caseSensitivewhether to be case sensitive
rotatethe rotation to apply for the search order
Warning
Do not use the returned QRectF as arguments of another search call because of truncation issues if qreal is defined as float.
Since
0.22
QString Poppler::Page::text ( const QRectF &  rect,
TextLayout  textLayout 
) const

Returns the text that is inside a specified rectangle.

Parameters
rectthe rectangle specifying the area of interest, with coordinates given in points, i.e., 1/72th of an inch. If rect is null, all text on the page is given
Since
0.16
QString Poppler::Page::text ( const QRectF &  rect) const

Returns the text that is inside a specified rectangle.

The text is returned using the physical layout of the page

Parameters
rectthe rectangle specifying the area of interest, with coordinates given in points, i.e., 1/72th of an inch. If rect is null, all text on the page is given
QList<TextBox*> Poppler::Page::textList ( Rotation  rotate = Rotate0) const

Returns a list of text of the page.

This method returns a QList of TextBoxes that contain all the text of the page, with roughly one text word of text per TextBox item.

For text written in western languages (left-to-right and up-to-down), the QList contains the text in the proper order.

Note
The caller owns the text boxes and they should be deleted when no longer required.
Warning
This method is not tested with Asian scripts
QImage Poppler::Page::thumbnail ( ) const

Get the page thumbnail if it exists.

Returns
a QImage of the thumbnail, or a null image if the PDF does not contain one for this page
Since
0.12
PageTransition* Poppler::Page::transition ( ) const

Returns the transition of this page.

Returns
a pointer to a PageTransition structure that defines how transition to this page shall be performed.
Note
The PageTransition structure is owned by this page, and will automatically be destroyed when this page class is destroyed.

The documentation for this class was generated from the following file: