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) |
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.
| Constante | Valor | Descripción |
|---|---|---|
QPdfDocument::Error::None | 0 | No se ha producido ningún error. |
QPdfDocument::Error::Unknown | 1 | Tipo de error desconocido. |
QPdfDocument::Error::DataNotYetAvailable | 2 | El documento aún se está cargando, es demasiado pronto para intentar la operación. |
QPdfDocument::Error::FileNotFound | 3 | No se ha encontrado el archivo enviado a load(). |
QPdfDocument::Error::InvalidFileFormat | 4 | El archivo enviado a load() no es un archivo PDF válido. |
QPdfDocument::Error::IncorrectPassword | 5 | La contraseña dada a setPassword() no es correcta para este archivo. |
QPdfDocument::Error::UnsupportedSecurityScheme | 6 | QPdfDocument 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.
| Constante | Valor | Descripción |
|---|---|---|
QPdfDocument::MetaDataField::Title | 0 | El título del documento como QString. |
QPdfDocument::MetaDataField::Author | 2 | El nombre de la persona que creó el documento como QString. |
QPdfDocument::MetaDataField::Subject | 1 | Tema del documento: QString. |
QPdfDocument::MetaDataField::Keywords | 3 | Las palabras clave asociadas al documento en QString. |
QPdfDocument::MetaDataField::Creator | 5 | Si 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::Producer | 4 | Si 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::CreationDate | 6 | La fecha y hora de creación del documento en QDateTime. |
QPdfDocument::MetaDataField::ModificationDate | 7 | La 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().
| Constante | Valor | Descripción |
|---|---|---|
QPdfDocument::PageModelRole::Label | Qt::UserRole | El número de página que se utilizará para la visualización (QString). |
QPdfDocument::PageModelRole::PointSize | 257 | El tamaño de página en puntos (1/72 de pulgada) (QSizeF). |
enum class QPdfDocument::Status
Este enum describe el estado actual del documento.
| Constante | Valor | Descripción |
|---|---|---|
QPdfDocument::Status::Null | 0 | El estado inicial después de que el documento haya sido creado o después de que haya sido cerrado. |
QPdfDocument::Status::Loading | 1 | El estado después de llamar a load() y antes de que el documento esté completamente cargado. |
QPdfDocument::Status::Ready | 2 | Estado cuando el documento está completamente cargado y se puede acceder a sus datos. |
QPdfDocument::Status::Unloading | 3 | El 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::Error | 4 | El 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.