QPdfWriter Class
QPdfWriter 类是一个生成 PDF 文件的类,可用作绘画设备。更多
Header: | #include <QPdfWriter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
继承: | QObject 和QPagedPaintDevice |
- 所有成员的列表,包括继承成员
- QPdfWriter 属于绘画类。
公共类型
(since 6.8) enum class | ColorModel { RGB, Grayscale, CMYK, Auto } |
公共函数
QPdfWriter(QIODevice *device) | |
QPdfWriter(const QString &filename) | |
virtual | ~QPdfWriter() |
void | addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString()) |
(since 6.9) QString | author() const |
(since 6.8) QPdfWriter::ColorModel | colorModel() const |
QString | creator() const |
(since 6.8) QUuid | documentId() const |
QByteArray | documentXmpMetadata() const |
(since 6.8) QPdfOutputIntent | outputIntent() const |
QPagedPaintDevice::PdfVersion | pdfVersion() const |
int | resolution() const |
(since 6.9) void | setAuthor(const QString &author) |
(since 6.8) void | setColorModel(QPdfWriter::ColorModel model) |
void | setCreator(const QString &creator) |
(since 6.8) void | setDocumentId(QUuid documentId) |
void | setDocumentXmpMetadata(const QByteArray &xmpMetadata) |
(since 6.8) void | setOutputIntent(const QPdfOutputIntent &intent) |
void | setPdfVersion(QPagedPaintDevice::PdfVersion version) |
void | setResolution(int resolution) |
void | setTitle(const QString &title) |
QString | title() const |
重新实现的公共函数
virtual bool | newPage() override |
重实现的保护函数
virtual QPaintEngine * | paintEngine() const override |
成员类型文档
[since 6.8]
enum class QPdfWriter::ColorModel
该枚举描述了 PDF 引擎解释描边和填充颜色的方式,设置为QPainter 的钢笔或画笔(通过QPen 和QBrush )。
常量 | 值 | 说明 |
---|---|---|
QPdfWriter::ColorModel::RGB | 0 | 所有颜色都转换为 RGB 并保存在 PDF 中。 |
QPdfWriter::ColorModel::Grayscale | 1 | 所有颜色均转换为灰度。出于向后兼容性考虑,它们在 PDF 输出中以 RGB 颜色输出,红、绿、蓝的数量完全相同。 |
QPdfWriter::ColorModel::CMYK | 2 | 所有颜色都转换为 CMYK 并保存为 CMYK。 |
QPdfWriter::ColorModel::Auto | 3 | RGB 颜色以 RGB 格式输出;CMYK 颜色以 CMYK 格式输出。任何其他颜色规格的颜色都会转换为 RGB。这是自 Qt 6.8 以来的默认设置。 |
此枚举在 Qt 6.8 中引入。
成员函数文档
[explicit]
QPdfWriter::QPdfWriter(QIODevice *device)
构造一个 PDF 写入器,将 PDF 文件写入device 。
[explicit]
QPdfWriter::QPdfWriter(const QString &filename)
构造一个 PDF 写入器,将 PDF 文件写入filename 。
[virtual noexcept]
QPdfWriter::~QPdfWriter()
销毁 pdf 编写者。
void QPdfWriter::addFileAttachment(const QString &fileName, const QByteArray &data, const QString &mimeType = QString())
通过(可选)mimeType ,为 PDF 添加fileName 附件。data 包含要嵌入 PDF 文件的原始文件数据。
[since 6.9]
QString QPdfWriter::author() const
返回文档的作者。
此函数在 Qt 6.9 中引入。
另请参阅 setAuthor()。
[since 6.8]
QPdfWriter::ColorModel QPdfWriter::colorModel() const
返回 PDF 写入器使用的颜色模型。默认为QPdfWriter::ColorModel::Auto 。
此函数在 Qt 6.8 中引入。
另请参阅 setColorModel().
QString QPdfWriter::creator() const
返回文件的创建者。
另请参阅 setCreator()。
[since 6.8]
QUuid QPdfWriter::documentId() const
返回文档的 ID。默认情况下,ID 是随机生成的 UUID。
此函数在 Qt 6.8 中引入。
另请参阅 setDocumentId()。
QByteArray QPdfWriter::documentXmpMetadata() const
获取调用setDocumentXmpMetadata 时提供的文档元数据。它不会返回默认元数据。
另请参阅 setDocumentXmpMetadata() 。
[override virtual]
bool QPdfWriter::newPage()
重新实现:QPagedPaintDevice::newPage().
[since 6.8]
QPdfOutputIntent QPdfWriter::outputIntent() const
返回 PDF 写入器使用的输出意图。
此函数在 Qt 6.8 中引入。
另请参阅 setOutputIntent()。
[override virtual protected]
QPaintEngine *QPdfWriter::paintEngine() const
重实现:QPaintDevice::paintEngine() const.
QPagedPaintDevice::PdfVersion QPdfWriter::pdfVersion() const
返回该写入器的 PDF 版本。默认值为PdfVersion_1_4
。
另请参阅 setPdfVersion() 。
int QPdfWriter::resolution() const
以 DPI 为单位返回 PDF 的分辨率。
另请参阅 setResolution()。
[since 6.9]
void QPdfWriter::setAuthor(const QString &author)
将文档的作者设置为author 。
此函数在 Qt 6.9 中引入。
另请参阅 author().
[since 6.8]
void QPdfWriter::setColorModel(QPdfWriter::ColorModel model)
将此 PDF 写入器使用的色彩模型设置为model 。
此函数在 Qt 6.8 中引入。
另请参阅 colorModel().
void QPdfWriter::setCreator(const QString &creator)
将文件的创建者设置为creator 。
另请参阅 creator() 。
[since 6.8]
void QPdfWriter::setDocumentId(QUuid documentId)
将文档的 ID 设置为documentId 。
此函数在 Qt 6.8 中引入。
另请参阅 documentId().
void QPdfWriter::setDocumentXmpMetadata(const QByteArray &xmpMetadata)
设置文档元数据。该元数据不受setTitle /setCreator 方法的影响,因此需要用户保持一致。xmpMetadata 包含 XML 格式的元数据,可嵌入到 PDF 文件中。
另请参阅 documentXmpMetadata().
[since 6.8]
void QPdfWriter::setOutputIntent(const QPdfOutputIntent &intent)
将此 PDF 写入器使用的输出意图设置为intent 。
此函数在 Qt 6.8 中引入。
另请参阅 outputIntent().
void QPdfWriter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
将此写入器的 PDF 版本设为version 。
如果version 与当前设置的值相同,则不会更改。
另请参阅 pdfVersion().
void QPdfWriter::setResolution(int resolution)
以 DPI 为单位设置 PDFresolution 。
该设置会影响坐标系,例如QPainter::viewport() 所返回的坐标系。
另请参阅 resolution()。
void QPdfWriter::setTitle(const QString &title)
将正在创建的文档的标题设置为title 。
另请参阅 title() 。
QString QPdfWriter::title() const
返回文件标题。
另请参见 setTitle()。
© 2025 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.