Sur cette page

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)

Description détaillée

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.

ConstanteValeurDescription de l'erreur
QPdfDocument::Error::None0Aucune erreur n'est survenue.
QPdfDocument::Error::Unknown1Type d'erreur inconnu.
QPdfDocument::Error::DataNotYetAvailable2Le document est encore en cours de chargement, il est trop tôt pour tenter l'opération.
QPdfDocument::Error::FileNotFound3Le fichier donné à load() n'a pas été trouvé.
QPdfDocument::Error::InvalidFileFormat4Le fichier fourni à load() n'est pas un fichier PDF valide.
QPdfDocument::Error::IncorrectPassword5Le mot de passe donné à setPassword() n'est pas correct pour ce fichier.
QPdfDocument::Error::UnsupportedSecurityScheme6QPdfDocument 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.

ConstanteValeurDescription
QPdfDocument::MetaDataField::Title0Le titre du document comme QString.
QPdfDocument::MetaDataField::Author2Le nom de la personne qui a créé le document sous la forme QString.
QPdfDocument::MetaDataField::Subject1Le sujet du document sous la forme QString.
QPdfDocument::MetaDataField::Keywords3Les mots-clés associés au document sous la forme QString.
QPdfDocument::MetaDataField::Creator5Si 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::Producer4Si 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::CreationDate6La date et l'heure de création du document sous la forme QDateTime.
QPdfDocument::MetaDataField::ModificationDate7La date et l'heure de la dernière modification du document ( QDateTime).

Voir également QPdfDocument::metaData().

enum class QPdfDocument::PageModelRole

Rôles dans pageModel().

ConstanteValeurDescription
QPdfDocument::PageModelRole::LabelQt::UserRoleLe numéro de page à utiliser pour l'affichage (QString).
QPdfDocument::PageModelRole::PointSize257Taille de la page en points (1/72 de pouce) (QSizeF).

enum class QPdfDocument::Status

Cette énumération décrit l'état actuel du document.

ConstanteValeurDescription de l'état
QPdfDocument::Status::Null0L'état initial du document après sa création ou sa fermeture.
QPdfDocument::Status::Loading1L'état après l'appel de load() et avant que le document ne soit entièrement chargé.
QPdfDocument::Status::Ready2L'état lorsque le document est entièrement chargé et que ses données sont accessibles.
QPdfDocument::Status::Unloading3L'é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::Error4L'é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.