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
- pageCount : const int
- pageModel : QAbstractListModel* const
- password : QString
- status : const Status
Ö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) |
Dokumentation der Mitgliedstypen
enum class QPdfDocument::Error
Diese Aufzählung beschreibt den Fehler beim Versuch, die letzte Operation am Dokument durchzuführen.
Konstante | Wert | Beschreibung |
---|---|---|
QPdfDocument::Error::None | 0 | Kein Fehler aufgetreten. |
QPdfDocument::Error::Unknown | 1 | Unbekannte Art von Fehler. |
QPdfDocument::Error::DataNotYetAvailable | 2 | Das Dokument wird noch geladen, es ist zu früh, um den Vorgang zu starten. |
QPdfDocument::Error::FileNotFound | 3 | Die an load() übergebene Datei wurde nicht gefunden. |
QPdfDocument::Error::InvalidFileFormat | 4 | Die an load() übergebene Datei ist keine gültige PDF-Datei. |
QPdfDocument::Error::IncorrectPassword | 5 | Das an setPassword() übergebene Passwort ist für diese Datei nicht korrekt. |
QPdfDocument::Error::UnsupportedSecurityScheme | 6 | QPdfDocument 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.
Konstante | Wert | Beschreibung |
---|---|---|
QPdfDocument::MetaDataField::Title | 0 | Der Titel des Dokuments als QString. |
QPdfDocument::MetaDataField::Author | 2 | Der Name der Person, die das Dokument erstellt hat ( QString). |
QPdfDocument::MetaDataField::Subject | 1 | Das Thema des Dokuments als QString. |
QPdfDocument::MetaDataField::Keywords | 3 | Schlüsselwörter, die mit dem Dokument verknüpft sind ( QString). |
QPdfDocument::MetaDataField::Creator | 5 | Wenn 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::Producer | 4 | Wenn 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::CreationDate | 6 | Das Datum und die Uhrzeit der Erstellung des Dokuments unter QDateTime. |
QPdfDocument::MetaDataField::ModificationDate | 7 | Das Datum und die Uhrzeit der letzten Änderung des Dokuments als QDateTime. |
Siehe auch QPdfDocument::metaData().
enum class QPdfDocument::PageModelRole
Rollen in pageModel().
Konstante | Wert | Beschreibung |
---|---|---|
QPdfDocument::PageModelRole::Label | Qt::UserRole | Die für Anzeigezwecke zu verwendende Seitenzahl (QString). |
QPdfDocument::PageModelRole::PointSize | 257 | Die Seitengröße in Punkt (1/72 eines Zolls) (QSizeF). |
enum class QPdfDocument::Status
Diese Aufzählung beschreibt den aktuellen Status des Dokuments.
Konstante | Wert | Beschreibung |
---|---|---|
QPdfDocument::Status::Null | 0 | Der anfängliche Status nach der Erstellung des Dokuments oder nach dem Schließen des Dokuments. |
QPdfDocument::Status::Loading | 1 | Der Status, nachdem load() aufgerufen wurde und bevor das Dokument vollständig geladen ist. |
QPdfDocument::Status::Ready | 2 | Der Status, wenn das Dokument vollständig geladen ist und auf seine Daten zugegriffen werden kann. |
QPdfDocument::Status::Unloading | 3 | Der 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::Error | 4 | Der 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.