QPdfWriter Class

The QPdfWriter class is a class to generate PDFs that can be used as a paint device. More...

Header: #include <QPdfWriter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QObject and QPagedPaintDevice

Public Functions

QPdfWriter(QIODevice *device)
QPdfWriter(const QString &filename)
virtual ~QPdfWriter()
void addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString())
QString creator() const
QByteArray documentXmpMetadata() const
QPagedPaintDevice::PdfVersion pdfVersion() const
int resolution() const
void setCreator(const QString &creator)
void setDocumentXmpMetadata(const QByteArray &xmpMetadata)
void setPdfVersion(QPagedPaintDevice::PdfVersion version)
void setResolution(int resolution)
void setTitle(const QString &title)
QString title() const

Reimplemented Public Functions

virtual bool newPage() override

Reimplemented Protected Functions

virtual QPaintEngine *paintEngine() const override

Detailed Description

QPdfWriter generates PDF out of a series of drawing commands using QPainter. The newPage() method can be used to create several pages.

Member Function Documentation

QPdfWriter::QPdfWriter(QIODevice *device)

Constructs a PDF writer that will write the pdf to device.

QPdfWriter::QPdfWriter(const QString &filename)

Constructs a PDF writer that will write the pdf to filename.

[virtual] QPdfWriter::~QPdfWriter()

Destroys the pdf writer.

[since 5.15] void QPdfWriter::addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString())

Adds fileName attachment to the PDF with (optional) mimeType. data contains the raw file data to embed into the PDF file.

This function was introduced in Qt 5.15.

QString QPdfWriter::creator() const

Returns the creator of the document.

See also setCreator().

[since 5.15] QByteArray QPdfWriter::documentXmpMetadata() const

Gets the document metadata, as it was provided with a call to setDocumentXmpMetadata. It will not return the default metadata.

This function was introduced in Qt 5.15.

See also setDocumentXmpMetadata().

[override virtual] bool QPdfWriter::newPage()

Reimplements: QPagedPaintDevice::newPage().

[override virtual protected] QPaintEngine *QPdfWriter::paintEngine() const

Reimplements: QPaintDevice::paintEngine() const.

[since 5.10] QPagedPaintDevice::PdfVersion QPdfWriter::pdfVersion() const

Returns the PDF version for this writer. The default is PdfVersion_1_4.

This function was introduced in Qt 5.10.

See also setPdfVersion().

[since 5.3] int QPdfWriter::resolution() const

Returns the resolution of the PDF in DPI.

This function was introduced in Qt 5.3.

See also setResolution().

void QPdfWriter::setCreator(const QString &creator)

Sets the creator of the document to creator.

See also creator().

[since 5.15] void QPdfWriter::setDocumentXmpMetadata(const QByteArray &xmpMetadata)

Sets the document metadata. This metadata is not influenced by the setTitle / setCreator methods, so is up to the user to keep it consistent. xmpMetadata contains XML formatted metadata to embed into the PDF file.

This function was introduced in Qt 5.15.

See also documentXmpMetadata().

[since 5.10] void QPdfWriter::setPdfVersion(QPagedPaintDevice::PdfVersion version)

Sets the PDF version for this writer to version.

If version is the same value as currently set then no change will be made.

This function was introduced in Qt 5.10.

See also pdfVersion().

[since 5.3] void QPdfWriter::setResolution(int resolution)

Sets the PDF resolution in DPI.

This setting affects the coordinate system as returned by, for example QPainter::viewport().

This function was introduced in Qt 5.3.

See also resolution().

void QPdfWriter::setTitle(const QString &title)

Sets the title of the document being created to title.

See also title().

QString QPdfWriter::title() const

Returns the title of the document.

See also setTitle().

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.