Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qpdfwriter.cpp
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#include <qpdfwriter.h>
5
6#ifndef QT_NO_PDF
7
9#include <QtCore/private/qobject_p.h>
10#include "private/qpdf_p.h"
11#include <QtCore/qfile.h>
12
14
35
37{
38public:
42
45
46 bool setPageLayout(const QPageLayout &newPageLayout) override
47 {
48 // Try to set the paint engine page layout
49 pd->engine->setPageLayout(newPageLayout);
50 return pageLayout().isEquivalentTo(newPageLayout);
51 }
52
53 bool setPageSize(const QPageSize &pageSize) override
54 {
55 // Try to set the paint engine page size
56 pd->engine->setPageSize(pageSize);
57 return pageLayout().pageSize().isEquivalentTo(pageSize);
58 }
59
61 {
62 // Set the print engine value
63 pd->engine->setPageOrientation(orientation);
64 return pageLayout().orientation() == orientation;
65 }
66
67 bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units) override
68 {
69 // Try to set engine margins
70 pd->engine->setPageMargins(margins, units);
71 return pageLayout().margins() == margins && pageLayout().units() == units;
72 }
73
74 QPageLayout pageLayout() const override
75 {
76 return pd->engine->pageLayout();
77 }
78
80};
81
100{
101 Q_D(QPdfWriter);
102
103 d->engine->setOutputFilename(filename);
104}
105
112{
113 Q_D(QPdfWriter);
114
115 d->engine->d_func()->outDevice = device;
116}
117
125
134{
135 Q_D(QPdfWriter);
136
137 if (d->pdfVersion == version)
138 return;
139
140 d->pdfVersion = version;
141 d->engine->setPdfVersion(static_cast<QPdfEngine::PdfVersion>(static_cast<int>(version)));
142}
143
150{
151 Q_D(const QPdfWriter);
152 return d->pdfVersion;
153}
154
159{
160 Q_D(const QPdfWriter);
161 return d->engine->d_func()->title;
162}
163
168{
169 Q_D(QPdfWriter);
170 d->engine->d_func()->title = title;
171}
172
177{
178 Q_D(const QPdfWriter);
179 return d->engine->d_func()->creator;
180}
181
186{
187 Q_D(QPdfWriter);
188 d->engine->d_func()->creator = creator;
189}
190
195{
196 Q_D(const QPdfWriter);
197
198 return d->engine;
199}
200
212void QPdfWriter::setResolution(int resolution)
213{
214 Q_D(const QPdfWriter);
215 if (resolution > 0)
216 d->engine->setResolution(resolution);
217}
218
228{
229 Q_D(const QPdfWriter);
230 return d->engine->resolution();
231}
232
244{
245 Q_D(const QPdfWriter);
246 d->engine->setDocumentXmpMetadata(xmpMetadata);
247}
248
259{
260 Q_D(const QPdfWriter);
261 return d->engine->documentXmpMetadata();
262}
263
272{
273 Q_D(QPdfWriter);
274 d->engine->addFileAttachment(fileName, data, mimeType);
275}
276
283{
284 Q_D(const QPdfWriter);
285 return d->engine->metric(id);
286}
287
292{
293 Q_D(QPdfWriter);
294
295 return d->engine->newPage();
296}
297
329{
330 Q_D(const QPdfWriter);
331 return static_cast<ColorModel>(d->engine->d_func()->colorModel);
332}
333
340{
341 Q_D(QPdfWriter);
342 d->engine->d_func()->colorModel = static_cast<QPdfEngine::ColorModel>(model);
343}
344
346
347#include "moc_qpdfwriter.cpp"
348
349#endif // QT_NO_PDF
IOBluetoothDevice * device
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qfile.h:93
\inmodule QtCore \reentrant
Definition qiodevice.h:34
\inmodule QtCore
Definition qmargins.h:270
\inmodule QtCore
Definition qobject.h:103
\inmodule QtGui
Definition qpagelayout.h:20
bool isEquivalentTo(const QPageLayout &other) const
Returns true if this page layout is equivalent to the other page layout, i.e.
Unit units() const
Returns the units the page layout is currently defined in.
Unit
This enum type is used to specify the measurement unit for page layout and margins.
Definition qpagelayout.h:24
QMarginsF margins() const
Returns the margins of the page layout using the currently set units.
Orientation orientation() const
Returns the page orientation of the page layout.
Orientation
This enum type defines the page orientation.
Definition qpagelayout.h:33
QPageSize pageSize() const
Returns the page size of the page layout.
\inmodule QtGui
Definition qpagesize.h:22
bool isEquivalentTo(const QPageSize &other) const
Returns true if this page is equivalent to the other page, i.e.
\inmodule QtGui
QPagedPaintDevicePrivate * d
PdfVersion
The PdfVersion enum describes the version of the PDF file that is produced by QPrinter or QPdfWriter.
\inmodule QtGui
QPageLayout pageLayout() const
Definition qpdf.cpp:1380
void setPageOrientation(QPageLayout::Orientation orientation)
Definition qpdf.cpp:1367
void setPageMargins(const QMarginsF &margins, QPageLayout::Unit units=QPageLayout::Point)
Definition qpdf.cpp:1373
void setPageLayout(const QPageLayout &pageLayout)
Definition qpdf.cpp:1355
void setPageSize(const QPageSize &pageSize)
Definition qpdf.cpp:1361
bool setPageSize(const QPageSize &pageSize) override
bool setPageLayout(const QPageLayout &newPageLayout) override
QPdfPagedPaintDevicePrivate(QPdfWriterPrivate *d)
QPageLayout pageLayout() const override
bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units) override
bool setPageOrientation(QPageLayout::Orientation orientation) override
QPdfWriterPrivate * pd
QPdfEngine * engine
QPdfWriter::PdfVersion pdfVersion
\inmodule QtGui
Definition qpdfwriter.h:21
void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType=QString())
QString title() const
Returns the title of the document.
ColorModel colorModel() const
~QPdfWriter()
Destroys the pdf writer.
QPaintEngine * paintEngine() const override
\reimp
void setDocumentXmpMetadata(const QByteArray &xmpMetadata)
int metric(PaintDeviceMetric id) const override
void setCreator(const QString &creator)
Sets the creator of the document to creator.
bool newPage() override
\reimp
QPdfWriter(const QString &filename)
Constructs a PDF writer that will write the pdf to filename.
int resolution() const
void setColorModel(ColorModel model)
PdfVersion pdfVersion() const
QByteArray documentXmpMetadata() const
void setTitle(const QString &title)
Sets the title of the document being created to title.
void setPdfVersion(PdfVersion version)
QString creator() const
Returns the creator of the document.
void setResolution(int resolution)
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
Combined button and popup list for selecting options.
const char * mimeType
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLfloat units
QSqlQueryModel * model
[16]
QString title
[35]
QItemEditorCreatorBase * creator