33 Q_INTERFACES(QQmlParserStatus)
35 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged FINAL)
36 Q_PROPERTY(qreal maxPageWidth READ maxPageWidth NOTIFY metaDataChanged FINAL)
37 Q_PROPERTY(qreal maxPageHeight READ maxPageHeight NOTIFY metaDataChanged FINAL)
38 Q_PROPERTY(QString error READ error NOTIFY errorChanged FINAL)
40 Q_PROPERTY(QString title READ title NOTIFY metaDataChanged FINAL)
41 Q_PROPERTY(QString subject READ subject NOTIFY metaDataChanged FINAL)
42 Q_PROPERTY(QString author READ author NOTIFY metaDataChanged FINAL)
43 Q_PROPERTY(QString keywords READ keywords NOTIFY metaDataChanged FINAL)
44 Q_PROPERTY(QString producer READ producer NOTIFY metaDataChanged FINAL)
45 Q_PROPERTY(QString creator READ creator NOTIFY metaDataChanged FINAL)
46 Q_PROPERTY(QDateTime creationDate READ creationDate NOTIFY metaDataChanged FINAL)
47 Q_PROPERTY(QDateTime modificationDate READ modificationDate NOTIFY metaDataChanged FINAL)
48 QML_NAMED_ELEMENT(PdfDocument)
49 QML_EXTENDED(QPdfDocument)
50 QML_ADDED_IN_VERSION(5, 15)
53 explicit QQuickPdfDocument(QObject *parent =
nullptr);
54 ~QQuickPdfDocument() override;
56 void classBegin() override;
57 void componentComplete() override {}
59 QUrl source()
const {
return m_source; }
60 void setSource(QUrl source);
61 QUrl resolvedSource()
const {
return m_resolvedSource; }
63 QString error()
const;
65 QString title() {
return m_doc->metaData(QPdfDocument::MetaDataField::Title).toString(); }
66 QString author() {
return m_doc->metaData(QPdfDocument::MetaDataField::Author).toString(); }
67 QString subject() {
return m_doc->metaData(QPdfDocument::MetaDataField::Subject).toString(); }
68 QString keywords() {
return m_doc->metaData(QPdfDocument::MetaDataField::Keywords).toString(); }
69 QString producer() {
return m_doc->metaData(QPdfDocument::MetaDataField::Producer).toString(); }
70 QString creator() {
return m_doc->metaData(QPdfDocument::MetaDataField::Creator).toString(); }
71 QDateTime creationDate() {
return m_doc->metaData(QPdfDocument::MetaDataField::CreationDate).toDateTime(); }
72 QDateTime modificationDate() {
return m_doc->metaData(QPdfDocument::MetaDataField::ModificationDate).toDateTime(); }
74 qreal maxPageWidth()
const;
75 qreal maxPageHeight()
const;
80 void metaDataChanged();
83 QPdfDocument *document()
const;
84 QPdfFile *carrierFile();
85 void updateMaxPageSize()
const;
89 QUrl m_resolvedSource;
90 QPdfDocument *m_doc =
nullptr;
91 QPdfFile *m_carrierFile =
nullptr;
92 mutable QSizeF m_maxPageWidthHeight;
94 friend class QQuickPdfBookmarkModel;
95 friend class QQuickPdfLinkModel;
96 friend class QQuickPdfPageImage;
97 friend class QQuickPdfSearchModel;
98 friend class QQuickPdfSelection;
100 Q_DISABLE_COPY(QQuickPdfDocument)