QPdfDocument Class

The QPdfDocument class loads a PDF document and renders pages from it. More...

Header: #include <QPdfDocument>
Since: Qt 5.10
Inherits: QObject

Public Types

enum DocumentError { NoError, UnknownError, DataNotYetAvailableError, FileNotFoundError, InvalidFileFormatError, …, UnsupportedSecuritySchemeError }
enum MetaDataField { Title, Author, Subject, Keywords, Creator, …, ModificationDate }
enum Status { Null, Loading, Ready, Unloading, Error }

Properties

Public Functions

QPdfDocument(QObject *parent)
virtual ~QPdfDocument()
void close()
QPdfDocument::DocumentError error() const
QPdfSelection getAllText(int page)
QPdfSelection getSelection(int page, QPointF start, QPointF end)
QPdfSelection getSelectionAtIndex(int page, int startIndex, int maxLength)
QPdfDocument::DocumentError load(const QString &fileName)
void load(QIODevice *device)
QVariant metaData(QPdfDocument::MetaDataField field) const
int pageCount() const
QSizeF pageSize(int page) const
QString password() const
QImage render(int page, QSize imageSize, QPdfDocumentRenderOptions renderOptions = QPdfDocumentRenderOptions())
void setPassword(const QString &password)
QPdfDocument::Status status() const

Signals

void pageCountChanged(int pageCount)
void passwordChanged()
void statusChanged(QPdfDocument::Status status)

Detailed Description

Member Type Documentation

enum QPdfDocument::DocumentError

This enum describes the error while attempting the last operation on the document.

ConstantValueDescription
QPdfDocument::NoError0No error occurred.
QPdfDocument::UnknownError1Unknown type of error.
QPdfDocument::DataNotYetAvailableError2The document is still loading, it's too early to attempt the operation.
QPdfDocument::FileNotFoundError3The file given to load() was not found.
QPdfDocument::InvalidFileFormatError4The file given to load() is not a valid PDF file.
QPdfDocument::IncorrectPasswordError5The password given to setPassword() is not correct for this file.
QPdfDocument::UnsupportedSecuritySchemeError6QPdfDocument is not able to unlock this kind of PDF file.

See also QPdfDocument::error().

enum QPdfDocument::MetaDataField

This enum describes the available fields of meta data.

ConstantValueDescription
QPdfDocument::Title0The document's title as QString.
QPdfDocument::Author2The name of the person who created the document as QString.
QPdfDocument::Subject1The subject of the document as QString.
QPdfDocument::Keywords3Keywords associated with the document as QString.
QPdfDocument::Creator5If the document was converted to PDF from another format, the name of the conforming product that created the original document from which it was converted as QString.
QPdfDocument::Producer4If the document was converted to PDF from another format, the name of the conforming product that converted it to PDF as QString.
QPdfDocument::CreationDate6The date and time the document was created as QDateTime.
QPdfDocument::ModificationDate7The date and time the document was most recently modified as QDateTime.

See also QPdfDocument::metaData().

enum QPdfDocument::Status

This enum describes the current status of the document.

ConstantValueDescription
QPdfDocument::Null0The initial status after the document has been created or after it has been closed.
QPdfDocument::Loading1The status after load() has been called and before the document is fully loaded.
QPdfDocument::Ready2The status when the document is fully loaded and its data can be accessed.
QPdfDocument::Unloading3The status after close() has been called on an open document. At this point the document is still valid and all its data can be accessed.
QPdfDocument::Error4The status after Loading, if loading has failed.

See also QPdfDocument::status().

Property Documentation

[read-only] pageCount : const int

This property holds the number of pages in the loaded document or 0 if no document is loaded.

Access functions:

int pageCount() const

Notifier signal:

void pageCountChanged(int pageCount)

password : QString

This property holds the document password.

If the document is protected by a password, the user must provide it, and the application must set this property. Otherwise, it's not needed.

Access functions:

QString password() const
void setPassword(const QString &password)

Notifier signal:

void passwordChanged()

[read-only] status : const Status

This property holds the current status of the document.

Access functions:

QPdfDocument::Status status() const

Notifier signal:

void statusChanged(QPdfDocument::Status status)

Member Function Documentation

QPdfDocument::QPdfDocument(QObject *parent)

Constructs a new document with parent object parent.

[virtual] QPdfDocument::~QPdfDocument()

Destroys the document.

void QPdfDocument::close()

Closes the document.

QPdfDocument::DocumentError QPdfDocument::error() const

Returns the type of error if status is Error, or NoError if there is no error.

[invokable] QPdfSelection QPdfDocument::getAllText(int page)

Returns all the text and its bounds on the given page.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[invokable] QPdfSelection QPdfDocument::getSelection(int page, QPointF start, QPointF end)

Returns information about the text on the given page that can be found between the given start and end points, if any.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[invokable] QPdfSelection QPdfDocument::getSelectionAtIndex(int page, int startIndex, int maxLength)

Returns information about the text on the given page that can be found beginning at the given startIndex with at most maxLength characters.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

QPdfDocument::DocumentError QPdfDocument::load(const QString &fileName)

Loads the document contents from fileName.

void QPdfDocument::load(QIODevice *device)

Loads the document contents from device.

QVariant QPdfDocument::metaData(QPdfDocument::MetaDataField field) const

Returns the meta data of the document for the given field.

QSizeF QPdfDocument::pageSize(int page) const

Returns the size of page page in points (1/72 of an inch).

QImage QPdfDocument::render(int page, QSize imageSize, QPdfDocumentRenderOptions renderOptions = QPdfDocumentRenderOptions())

Renders the page into a QImage of size imageSize according to the provided renderOptions.

Returns the rendered page or an empty image in case of an error.

Note: If the imageSize does not match the aspect ratio of the page in the PDF document, the page is rendered scaled, so that it covers the complete imageSize.

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.