QPdfDocument Class

Die Klasse QPdfDocument lädt ein PDF-Dokument und rendert die Seiten daraus. Mehr...

Header: #include <QPdfDocument>
Inherits: QObject

Öffentliche Typen

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 }

Eigenschaften

Öffentliche Funktionen

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

Signale

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

Detaillierte Beschreibung

Dokumentation der Mitgliedstypen

enum class QPdfDocument::Error

Diese Aufzählung beschreibt den Fehler beim Versuch, die letzte Operation am Dokument durchzuführen.

KonstanteWertBeschreibung
QPdfDocument::Error::None0Kein Fehler aufgetreten.
QPdfDocument::Error::Unknown1Unbekannte Art von Fehler.
QPdfDocument::Error::DataNotYetAvailable2Das Dokument wird noch geladen, es ist zu früh, um den Vorgang zu starten.
QPdfDocument::Error::FileNotFound3Die an load() übergebene Datei wurde nicht gefunden.
QPdfDocument::Error::InvalidFileFormat4Die an load() übergebene Datei ist keine gültige PDF-Datei.
QPdfDocument::Error::IncorrectPassword5Das an setPassword() übergebene Passwort ist für diese Datei nicht korrekt.
QPdfDocument::Error::UnsupportedSecurityScheme6QPdfDocument ist nicht in der Lage, diese Art von PDF-Datei zu entsperren.

Siehe auch QPdfDocument::error().

enum class QPdfDocument::MetaDataField

Diese Aufzählung beschreibt die verfügbaren Felder der Metadaten.

KonstanteWertBeschreibung
QPdfDocument::MetaDataField::Title0Der Titel des Dokuments als QString.
QPdfDocument::MetaDataField::Author2Der Name der Person, die das Dokument erstellt hat ( QString).
QPdfDocument::MetaDataField::Subject1Das Thema des Dokuments als QString.
QPdfDocument::MetaDataField::Keywords3Schlüsselwörter, die mit dem Dokument verknüpft sind ( QString).
QPdfDocument::MetaDataField::Creator5Wenn das Dokument aus einem anderen Format in PDF konvertiert wurde, der Name des konformen Produkts, das das ursprüngliche Dokument erstellt hat, aus dem es konvertiert wurde ( QString).
QPdfDocument::MetaDataField::Producer4Wenn das Dokument aus einem anderen Format in PDF konvertiert wurde, den Namen des konformen Produkts, das es in PDF konvertiert hat, als QString.
QPdfDocument::MetaDataField::CreationDate6Das Datum und die Uhrzeit der Erstellung des Dokuments unter QDateTime.
QPdfDocument::MetaDataField::ModificationDate7Das Datum und die Uhrzeit der letzten Änderung des Dokuments als QDateTime.

Siehe auch QPdfDocument::metaData().

enum class QPdfDocument::PageModelRole

Rollen in pageModel().

KonstanteWertBeschreibung
QPdfDocument::PageModelRole::LabelQt::UserRoleDie für Anzeigezwecke zu verwendende Seitenzahl (QString).
QPdfDocument::PageModelRole::PointSize257Die Seitengröße in Punkt (1/72 eines Zolls) (QSizeF).

enum class QPdfDocument::Status

Diese Aufzählung beschreibt den aktuellen Status des Dokuments.

KonstanteWertBeschreibung
QPdfDocument::Status::Null0Der anfängliche Status nach der Erstellung des Dokuments oder nach dem Schließen des Dokuments.
QPdfDocument::Status::Loading1Der Status, nachdem load() aufgerufen wurde und bevor das Dokument vollständig geladen ist.
QPdfDocument::Status::Ready2Der Status, wenn das Dokument vollständig geladen ist und auf seine Daten zugegriffen werden kann.
QPdfDocument::Status::Unloading3Der Status nach dem Aufruf von close() für ein geöffnetes Dokument. Zu diesem Zeitpunkt ist das Dokument noch gültig und es kann auf alle Daten zugegriffen werden.
QPdfDocument::Status::Error4Der Status nach Loading, wenn das Laden fehlgeschlagen ist.

Siehe auch QPdfDocument::status().

Eigenschaft Dokumentation

[read-only] pageCount : const int

Diese Eigenschaft enthält die Anzahl der Seiten des geladenen Dokuments oder 0, wenn kein Dokument geladen ist.

Zugriffsfunktionen:

int pageCount() const

Benachrichtigungssignal:

void pageCountChanged(int pageCount)

[read-only] pageModel : QAbstractListModel* const

Diese Eigenschaft enthält eine Instanz von QAbstractListModel zur Bereitstellung seitenbezogener Metadaten, die eine Zeile für jede Seite des Dokuments enthält.

Zugriffsfunktionen:

QAbstractListModel *pageModel()

Benachrichtigungssignal:

void pageModelChanged()

Siehe auch QPdfDocument::PageModelRole.

password : QString

Diese Eigenschaft enthält das Kennwort des Dokuments.

Wenn das Dokument durch ein Kennwort geschützt ist, muss der Benutzer es angeben, und die Anwendung muss diese Eigenschaft setzen. Ansonsten wird sie nicht benötigt.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void passwordChanged()

[read-only] status : const Status

Diese Eigenschaft enthält den aktuellen Status des Dokuments.

Zugriffsfunktionen:

QPdfDocument::Status status() const

Benachrichtigungssignal:

void statusChanged(QPdfDocument::Status status)

Member Function Dokumentation

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

Konstruiert ein neues Dokument mit dem übergeordneten Objekt parent.

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

Vernichtet das Dokument.

void QPdfDocument::close()

Schließt das Dokument.

QPdfDocument::Error QPdfDocument::error() const

Gibt die Art des Fehlers zurück, wenn status Error ist, oder NoError, wenn kein Fehler vorliegt.

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

Gibt den gesamten Text und seine Begrenzungen auf der angegebenen page zurück.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt Informationen über den Text auf dem angegebenen page zurück, der sich zwischen den angegebenen Punkten start und end befindet, falls vorhanden.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt Informationen über den Text auf dem angegebenen page zurück, der ab dem angegebenen startIndex mit höchstens maxLength Zeichen gefunden werden kann.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

void QPdfDocument::load(QIODevice *device)

Lädt den Inhalt des Dokuments von device.

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

Lädt den Inhalt des Dokuments von fileName.

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

Gibt die Metadaten des Dokuments für das angegebene field zurück.

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

Gibt den Index der Seite zurück, auf der sich die label befindet, oder -1, wenn sie nicht gefunden wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch pageLabel().

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

Gibt die Nummer page zurück, die für die Anzeige verwendet werden soll.

Ein Dokument kann zum Beispiel mehrere Abschnitte mit unterschiedlicher Nummerierung haben. Vielleicht verwendet das Vorwort römische Ziffern, der Hauptteil beginnt auf Seite 1, und der Anhang beginnt bei A1. Wenn ein PDF-Viewer eine Seitennummer anzeigt, sollte es sich um dieselbe "Nummer" handeln, die in der Ecke der Seite aufgedruckt ist, um den Benutzer nicht zu verwirren, und nicht um den auf Null basierenden Seitenindex, den wir in den APIs verwenden (vorausgesetzt, der Autor des Dokuments hat die Seitenbeschriftungen mit den gedruckten Nummern abgestimmt).

Wenn das Dokument keine benutzerdefinierte Seitennummerierung hat, gibt diese Funktion page + 1 zurück.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Siehe auch pageIndexForLabel().

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

Gibt die Größe der Seite page in Punkt (1/72 Zoll) zurück.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Rendert die page in ein QImage der Größe imageSize entsprechend der angegebenen renderOptions.

Gibt die gerenderte Seite oder ein leeres Bild zurück, falls ein Fehler auftritt.

Hinweis: Wenn imageSize nicht mit dem Seitenverhältnis der Seite im PDF-Dokument übereinstimmt, wird die Seite skaliert gerendert, so dass sie die gesamte imageSize abdeckt.

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