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;
19class QPdfWriterPrivate;
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 bool newPage() override;
43
44 void setResolution(int resolution);
45 int resolution() const;
46
47 void setDocumentXmpMetadata(const QByteArray &xmpMetadata);
48 QByteArray documentXmpMetadata() const;
49
50 void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString());
51
52 enum class ColorModel
53 {
54 RGB,
55 Grayscale,
56 CMYK,
57 Auto,
58 };
59 Q_ENUM(ColorModel)
60
61 ColorModel colorModel() const;
62 void setColorModel(ColorModel model);
63
64 QPdfOutputIntent outputIntent() const;
65 void setOutputIntent(const QPdfOutputIntent &intent);
66
67protected:
68 QPaintEngine *paintEngine() const override;
69 int metric(PaintDeviceMetric id) const override;
70
71private:
72 Q_DISABLE_COPY(QPdfWriter)
73 Q_DECLARE_PRIVATE(QPdfWriter)
74};
75
76QT_END_NAMESPACE
77
78#endif // QT_NO_PDF
79
80#endif
81

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtbase/src/gui/painting/qpdfwriter.h