File indexing completed on 2025-09-13 09:06:53
0001
0002
0003
0004 #ifndef QPDFWRITER_H
0005 #define QPDFWRITER_H
0006
0007 #include <QtGui/qtguiglobal.h>
0008
0009 #ifndef QT_NO_PDF
0010
0011 #include <QtCore/qobject.h>
0012 #include <QtGui/qpagedpaintdevice.h>
0013 #include <QtGui/qpagelayout.h>
0014
0015 QT_BEGIN_NAMESPACE
0016
0017 class QIODevice;
0018 class QPdfOutputIntent;
0019 class QPdfWriterPrivate;
0020 class QUuid;
0021
0022 class Q_GUI_EXPORT QPdfWriter : public QObject, public QPagedPaintDevice
0023 {
0024 Q_OBJECT
0025 public:
0026 explicit QPdfWriter(const QString &filename);
0027 explicit QPdfWriter(QIODevice *device);
0028 ~QPdfWriter();
0029
0030 void setPdfVersion(PdfVersion version);
0031 PdfVersion pdfVersion() const;
0032
0033 QString title() const;
0034 void setTitle(const QString &title);
0035
0036 QString creator() const;
0037 void setCreator(const QString &creator);
0038
0039 QUuid documentId() const;
0040 void setDocumentId(QUuid documentId);
0041
0042 QString author() const;
0043 void setAuthor(const QString &author);
0044
0045 bool newPage() override;
0046
0047 void setResolution(int resolution);
0048 int resolution() const;
0049
0050 void setDocumentXmpMetadata(const QByteArray &xmpMetadata);
0051 QByteArray documentXmpMetadata() const;
0052
0053 void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString());
0054
0055 enum class ColorModel
0056 {
0057 RGB,
0058 Grayscale,
0059 CMYK,
0060 Auto,
0061 };
0062 Q_ENUM(ColorModel)
0063
0064 ColorModel colorModel() const;
0065 void setColorModel(ColorModel model);
0066
0067 QPdfOutputIntent outputIntent() const;
0068 void setOutputIntent(const QPdfOutputIntent &intent);
0069
0070 protected:
0071 QPaintEngine *paintEngine() const override;
0072 int metric(PaintDeviceMetric id) const override;
0073
0074 private:
0075 Q_DISABLE_COPY(QPdfWriter)
0076 Q_DECLARE_PRIVATE(QPdfWriter)
0077 };
0078
0079 QT_END_NAMESPACE
0080
0081 #endif
0082
0083 #endif