Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpdfwriter.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QPDFWRITER_H
5#define QPDFWRITER_H
6
7#include <QtGui/qtguiglobal.h>
8
9#ifndef QT_NO_PDF
10
11#include <QtCore/qobject.h>
12#include <QtGui/qpagedpaintdevice.h>
13#include <QtGui/qpagelayout.h>
14
15QT_BEGIN_NAMESPACE
16
17class QIODevice;
18class QPdfOutputIntent;
20class QUuid;
21
22class Q_GUI_EXPORT QPdfWriter : public QObject, public QPagedPaintDevice
23{
24 Q_OBJECT
25public:
26 explicit QPdfWriter(const QString &filename);
27 explicit QPdfWriter(QIODevice *device);
28 ~QPdfWriter();
29
30 void setPdfVersion(PdfVersion version);
31 PdfVersion pdfVersion() const;
32
33 QString title() const;
34 void setTitle(const QString &title);
35
36 QString creator() const;
37 void setCreator(const QString &creator);
38
39 QUuid documentId() const;
40 void setDocumentId(QUuid documentId);
41
42 QString author() const;
43 void setAuthor(const QString &author);
44
45 bool newPage() override;
46
47 void setResolution(int resolution);
48 int resolution() const;
49
50 void setDocumentXmpMetadata(const QByteArray &xmpMetadata);
51 QByteArray documentXmpMetadata() const;
52
53 void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString());
54
55 enum class ColorModel
56 {
57 RGB,
58 Grayscale,
59 CMYK,
60 Auto,
61 };
62 Q_ENUM(ColorModel)
63
64 ColorModel colorModel() const;
65 void setColorModel(ColorModel model);
66
67 QPdfOutputIntent outputIntent() const;
68 void setOutputIntent(const QPdfOutputIntent &intent);
69
70protected:
71 QPaintEngine *paintEngine() const override;
72 int metric(PaintDeviceMetric id) const override;
73
74private:
75 Q_DISABLE_COPY(QPdfWriter)
76 Q_DECLARE_PRIVATE(QPdfWriter)
77};
78
79QT_END_NAMESPACE
80
81#endif // QT_NO_PDF
82
83#endif
\inmodule QtCore
Definition qmargins.h:303
bool setPageSize(const QPageSize &pageSize) override
bool setPageLayout(const QPageLayout &newPageLayout) override
QPdfPagedPaintDevicePrivate(QPdfWriterPrivate *d)
QPdfWriterPrivate * pd
QPageLayout pageLayout() const override
bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units) override
bool setPageOrientation(QPageLayout::Orientation orientation) override
QPdfEngine * engine
QPdfWriter::PdfVersion pdfVersion
\inmodule QtGui
Definition qpdfwriter.h:23