QPdfDocument Class
La classe QPdfDocument charge un document PDF et en restitue les pages. Plus d'informations...
| Header: | #include <QPdfDocument> |
| Inherits: | QObject |
Types publics
| 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 } |
Propriétés
Fonctions publiques
| 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 |
Signaux
| void | pageCountChanged(int pageCount) |
| void | pageModelChanged() |
| void | passwordChanged() |
| void | statusChanged(QPdfDocument::Status status) |
Documentation des types de membres
enum class QPdfDocument::Error
Cette énumération décrit l'erreur survenue lors de la dernière opération sur le document.
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QPdfDocument::Error::None | 0 | Aucune erreur n'est survenue. |
QPdfDocument::Error::Unknown | 1 | Type d'erreur inconnu. |
QPdfDocument::Error::DataNotYetAvailable | 2 | Le document est encore en cours de chargement, il est trop tôt pour tenter l'opération. |
QPdfDocument::Error::FileNotFound | 3 | Le fichier donné à load() n'a pas été trouvé. |
QPdfDocument::Error::InvalidFileFormat | 4 | Le fichier fourni à load() n'est pas un fichier PDF valide. |
QPdfDocument::Error::IncorrectPassword | 5 | Le mot de passe donné à setPassword() n'est pas correct pour ce fichier. |
QPdfDocument::Error::UnsupportedSecurityScheme | 6 | QPdfDocument n'est pas en mesure de déverrouiller ce type de fichier PDF. |
Voir aussi QPdfDocument::error().
enum class QPdfDocument::MetaDataField
Cette énumération décrit les champs de métadonnées disponibles.
| Constante | Valeur | Description |
|---|---|---|
QPdfDocument::MetaDataField::Title | 0 | Le titre du document comme QString. |
QPdfDocument::MetaDataField::Author | 2 | Le nom de la personne qui a créé le document sous la forme QString. |
QPdfDocument::MetaDataField::Subject | 1 | Le sujet du document sous la forme QString. |
QPdfDocument::MetaDataField::Keywords | 3 | Les mots-clés associés au document sous la forme QString. |
QPdfDocument::MetaDataField::Creator | 5 | Si le document a été converti en PDF à partir d'un autre format, le nom du produit conforme qui a créé le document original à partir duquel il a été converti sous la forme QString. |
QPdfDocument::MetaDataField::Producer | 4 | Si le document a été converti en PDF à partir d'un autre format, le nom du produit conforme qui l'a converti en PDF sous la forme QString. |
QPdfDocument::MetaDataField::CreationDate | 6 | La date et l'heure de création du document sous la forme QDateTime. |
QPdfDocument::MetaDataField::ModificationDate | 7 | La date et l'heure de la dernière modification du document ( QDateTime). |
Voir également QPdfDocument::metaData().
enum class QPdfDocument::PageModelRole
Rôles dans pageModel().
| Constante | Valeur | Description |
|---|---|---|
QPdfDocument::PageModelRole::Label | Qt::UserRole | Le numéro de page à utiliser pour l'affichage (QString). |
QPdfDocument::PageModelRole::PointSize | 257 | Taille de la page en points (1/72 de pouce) (QSizeF). |
enum class QPdfDocument::Status
Cette énumération décrit l'état actuel du document.
| Constante | Valeur | Description de l'état |
|---|---|---|
QPdfDocument::Status::Null | 0 | L'état initial du document après sa création ou sa fermeture. |
QPdfDocument::Status::Loading | 1 | L'état après l'appel de load() et avant que le document ne soit entièrement chargé. |
QPdfDocument::Status::Ready | 2 | L'état lorsque le document est entièrement chargé et que ses données sont accessibles. |
QPdfDocument::Status::Unloading | 3 | L'état après que close() a été appelé sur un document ouvert. À ce stade, le document est toujours valide et toutes ses données sont accessibles. |
QPdfDocument::Status::Error | 4 | L'état après Chargement, si le chargement a échoué. |
Voir également QPdfDocument::status().
Documentation sur les propriétés
[read-only] pageCount : int
Cette propriété contient le nombre de pages du document chargé ou 0 si aucun document n'est chargé.
Fonctions d'accès :
| int | pageCount() const |
Signal de notification :
| void | pageCountChanged(int pageCount) |
[read-only] pageModel : QAbstractListModel*
Cette propriété contient une instance de QAbstractListModel pour fournir des métadonnées spécifiques à la page, contenant une ligne pour chaque page du document.
Fonctions d'accès :
| QAbstractListModel * | pageModel() |
Signal de notification :
| void | pageModelChanged() |
Voir également QPdfDocument::PageModelRole.
password : QString
Cette propriété contient le mot de passe du document.
Si le document est protégé par un mot de passe, l'utilisateur doit le fournir et l'application doit définir cette propriété. Dans le cas contraire, cette propriété n'est pas nécessaire.
Fonctions d'accès :
| QString | password() const |
| void | setPassword(const QString &password) |
Signal du notificateur :
| void | passwordChanged() |
[read-only] status : Status
Cette propriété contient le statut actuel du document.
Fonctions d'accès :
| QPdfDocument::Status | status() const |
Signal du notificateur :
| void | statusChanged(QPdfDocument::Status status) |
Member Function Documentation
[explicit] QPdfDocument::QPdfDocument(QObject *parent)
Construit un nouveau document avec l'objet parent parent.
[override virtual noexcept] QPdfDocument::~QPdfDocument()
Détruit le document.
void QPdfDocument::close()
Ferme le document.
QPdfDocument::Error QPdfDocument::error() const
Renvoie le type d'erreur si status est Error, ou NoError s'il n'y a pas d'erreur.
[invokable] QPdfSelection QPdfDocument::getAllText(int page)
Renvoie tout le texte et ses limites sur le site page.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[invokable] QPdfSelection QPdfDocument::getSelection(int page, QPointF start, QPointF end)
Renvoie des informations sur le texte figurant sur le site page qui peut être trouvé entre les points start et end, le cas échéant.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[invokable] QPdfSelection QPdfDocument::getSelectionAtIndex(int page, int startIndex, int maxLength)
Renvoie des informations sur le texte de l'adresse page qui peut être trouvé à partir de l'adresse startIndex avec au plus maxLength caractères.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
void QPdfDocument::load(QIODevice *device)
Charge le contenu du document à partir de device.
QPdfDocument::Error QPdfDocument::load(const QString &fileName)
Charge le contenu du document à partir de fileName.
QVariant QPdfDocument::metaData(QPdfDocument::MetaDataField field) const
Renvoie les métadonnées du document pour le site field donné.
[invokable, since 6.6] int QPdfDocument::pageIndexForLabel(const QString &label)
Renvoie l'index de la page qui contient label, ou -1 si elle n'est pas trouvée.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Cette fonction a été introduite dans Qt 6.6.
Voir également pageLabel().
[invokable] QString QPdfDocument::pageLabel(int page)
Renvoie le numéro page à utiliser à des fins d'affichage.
Par exemple, un document peut comporter plusieurs sections avec une numérotation différente. Il se peut que la préface utilise des chiffres romains, que le corps du document commence à la page 1 et que l'annexe commence à la page A1. Lorsqu'un visualiseur PDF affiche un numéro de page, pour éviter de dérouter l'utilisateur, il doit s'agir du même "numéro" que celui imprimé au coin de la page, plutôt que de l'index de page basé sur le zéro que nous utilisons dans les API (en supposant que l'auteur du document ait fait en sorte que les étiquettes de page correspondent aux numéros imprimés).
Si le document n'a pas de numérotation de page personnalisée, cette fonction renvoie page + 1.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également pageIndexForLabel().
[invokable] QSizeF QPdfDocument::pagePointSize(int page) const
Renvoie la taille de la page page en points (1/72 de pouce).
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
QImage QPdfDocument::render(int page, QSize imageSize, QPdfDocumentRenderOptions renderOptions = QPdfDocumentRenderOptions())
Rend la page page en une page QImage de taille imageSize conformément à la page renderOptions fournie.
Renvoie la page rendue ou une image vide en cas d'erreur.
Remarque : si l'adresse imageSize ne correspond pas au rapport hauteur/largeur de la page dans le document PDF, la page est rendue à l'échelle, de sorte qu'elle couvre l'intégralité 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.