En esta página

QPdfDocument Class

La clase QPdfDocument carga un documento PDF y renderiza las páginas del mismo. Más...

Header: #include <QPdfDocument>
Inherits: QObject

Tipos Públicos

enum class Error { None, Unknown, DataNotYetAvailable, FileNotFound, InvalidFileFormat, …, UnsupportedSecurityScheme }
enum class MetaDataField { Title, Author, Subject, Keywords, Creator, …, ModificationDate }
enum class PageModelRole { Label, PointSize }
enum class Status { Null, Loading, Ready, Unloading, Error }

Propiedades

Funciones públicas

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

Señales

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

Descripción detallada

Documentación de los tipos de miembros

enum class QPdfDocument::Error

Este enum describe el error al intentar la última operación sobre el documento.

ConstanteValorDescripción
QPdfDocument::Error::None0No se ha producido ningún error.
QPdfDocument::Error::Unknown1Tipo de error desconocido.
QPdfDocument::Error::DataNotYetAvailable2El documento aún se está cargando, es demasiado pronto para intentar la operación.
QPdfDocument::Error::FileNotFound3No se ha encontrado el archivo enviado a load().
QPdfDocument::Error::InvalidFileFormat4El archivo enviado a load() no es un archivo PDF válido.
QPdfDocument::Error::IncorrectPassword5La contraseña dada a setPassword() no es correcta para este archivo.
QPdfDocument::Error::UnsupportedSecurityScheme6QPdfDocument no puede desbloquear este tipo de archivo PDF.

Véase también QPdfDocument::error().

enum class QPdfDocument::MetaDataField

Este enum describe los campos disponibles de metadatos.

ConstanteValorDescripción
QPdfDocument::MetaDataField::Title0El título del documento como QString.
QPdfDocument::MetaDataField::Author2El nombre de la persona que creó el documento como QString.
QPdfDocument::MetaDataField::Subject1Tema del documento: QString.
QPdfDocument::MetaDataField::Keywords3Las palabras clave asociadas al documento en QString.
QPdfDocument::MetaDataField::Creator5Si el documento se convirtió a PDF a partir de otro formato, el nombre del producto conforme que creó el documento original a partir del cual se convirtió como QString.
QPdfDocument::MetaDataField::Producer4Si el documento se convirtió a PDF a partir de otro formato, el nombre del producto conforme que lo convirtió a PDF como QString.
QPdfDocument::MetaDataField::CreationDate6La fecha y hora de creación del documento en QDateTime.
QPdfDocument::MetaDataField::ModificationDate7La fecha y hora de la última modificación del documento en QDateTime.

Véase también QPdfDocument::metaData().

enum class QPdfDocument::PageModelRole

Roles en pageModel().

ConstanteValorDescripción
QPdfDocument::PageModelRole::LabelQt::UserRoleEl número de página que se utilizará para la visualización (QString).
QPdfDocument::PageModelRole::PointSize257El tamaño de página en puntos (1/72 de pulgada) (QSizeF).

enum class QPdfDocument::Status

Este enum describe el estado actual del documento.

ConstanteValorDescripción
QPdfDocument::Status::Null0El estado inicial después de que el documento haya sido creado o después de que haya sido cerrado.
QPdfDocument::Status::Loading1El estado después de llamar a load() y antes de que el documento esté completamente cargado.
QPdfDocument::Status::Ready2Estado cuando el documento está completamente cargado y se puede acceder a sus datos.
QPdfDocument::Status::Unloading3El estado después de llamar a close() sobre un documento abierto. En este momento el documento sigue siendo válido y se puede acceder a todos sus datos.
QPdfDocument::Status::Error4El estado después de Loading, si la carga ha fallado.

Véase también QPdfDocument::status().

Documentación de propiedades

[read-only] pageCount : int

Esta propiedad contiene el número de páginas del documento cargado o 0 si no hay ningún documento cargado.

Funciones de acceso:

int pageCount() const

Señal del notificador:

void pageCountChanged(int pageCount)

[read-only] pageModel : QAbstractListModel*

Esta propiedad contiene una instancia de QAbstractListModel para proporcionar metadatos específicos de la página, que contiene una fila por cada página del documento.

Funciones de acceso:

QAbstractListModel *pageModel()

Señal del notificador:

void pageModelChanged()

Véase también QPdfDocument::PageModelRole.

password : QString

Esta propiedad contiene la contraseña del documento.

Si el documento está protegido por una contraseña, el usuario debe proporcionarla, y la aplicación debe establecer esta propiedad. En caso contrario, no es necesaria.

Funciones de acceso:

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

Señal del notificador:

void passwordChanged()

[read-only] status : Status

Esta propiedad contiene el estado actual del documento.

Funciones de acceso:

QPdfDocument::Status status() const

Señal del notificador:

void statusChanged(QPdfDocument::Status status)

Documentación de la función miembro

[explicit] QPdfDocument::QPdfDocument(QObject *parent)

Construye un nuevo documento con el objeto padre parent.

[override virtual noexcept] QPdfDocument::~QPdfDocument()

Destruye el documento.

void QPdfDocument::close()

Cierra el documento.

QPdfDocument::Error QPdfDocument::error() const

Devuelve el tipo de error si status es Error, o NoError si no hay error.

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

Devuelve todo el texto y sus límites en la dirección page.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve información sobre el texto en el page dado que puede encontrarse entre los puntos start y end dados, si los hay.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve información sobre el texto en el page dado que puede encontrarse comenzando en el startIndex dado con un máximo de maxLength caracteres.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

void QPdfDocument::load(QIODevice *device)

Carga el contenido del documento desde device.

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

Carga el contenido del documento desde fileName.

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

Devuelve los metadatos del documento para la dirección field.

[invokable, since 6.6] int QPdfDocument::pageIndexForLabel(const QString &label)

Devuelve el índice de la página que tiene el label, o -1 si no se encuentra.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Esta función se introdujo en Qt 6.6.

Véase también pageLabel().

[invokable] QString QPdfDocument::pageLabel(int page)

Devuelve el número page que se utilizará para la visualización.

Por ejemplo, un documento puede tener varias secciones con diferente numeración. Tal vez el prefacio utilice números romanos, el cuerpo empiece en la página 1 y el apéndice comience en A1. Siempre que un visor de PDF muestre un número de página, para evitar confundir al usuario debe ser el mismo "número" que está impreso en la esquina de la página, en lugar del índice de página basado en ceros que utilizamos en las API (suponiendo que el autor del documento haya hecho coincidir las etiquetas de página con los números impresos).

Si el documento no tiene numeración de página personalizada, esta función devuelve page + 1.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Véase también pageIndexForLabel().

[invokable] QSizeF QPdfDocument::pagePointSize(int page) const

Devuelve el tamaño de la página page en puntos (1/72 de pulgada).

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Renderiza el page en un QImage de tamaño imageSize de acuerdo con el renderOptions proporcionado.

Devuelve la página renderizada o una imagen vacía en caso de error.

Nota: Si imageSize no coincide con la relación de aspecto de la página en el documento PDF, la página se renderiza a escala, de modo que cubra la totalidad de imageSize.

© 2026 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.