Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
Qt PDF C++ Classes
这是对 Qt PDF C++ 类的介绍,这些类可以用于处理 PDF 文档的加载、渲染和导航等操作。该模块在 Qt 5.14 中被引入。
命名空间
- QPdf:包含 QtPdf 模块中使用的各种标识符。
类
- QPdfDestination:定义了 PDF 文档中的页面位置和建议的查看缩放级别。
- QPdfDocument:负责加载 PDF 文档并从中渲染页面。
- QPdfDocumentRenderOptions:包含从 PDF 文档渲染页面的选项。
- QPdfPageNavigation:负责处理 PDF 文档的导航。
- QPdfPageRenderer:封装了 PDF 文档的页面渲染。
- QPdfSelection:定义了在 PDF 文档的一页中被选中的文本范围及其几何边界。
详细描述
Qt PDF 模块包含了用于渲染 PDF 文档的类和函数。
如果要包含模块类的定义,需要使用以下指令:
#include <QtPdf>
如果要链接模块,需要在 qmake 项目文件中添加以下行:
QT += pdf
QPdf Namespace
QPdf 命名空间
QPdf 命名空间包含了在整个 QtPdf 模块中使用的各种标识符。
头文件:
#include <QPdf>
类型
- 枚举:
RenderFlag
- 标志:
RenderFlags
- 枚举:
Rotation
详细描述
enum QPdf::RenderFlag 和 flags QPdf::RenderFlags
这个枚举用于描述页面应如何渲染。
常量 | 值 | 描述 |
---|---|---|
QPdf::NoRenderFlags | 0x000 | 默认值,表示没有标志。 |
QPdf::RenderAnnotations | 0x001 | 页面将渲染注解。 |
QPdf::RenderOptimizedForLcd | 0x002 | 页面的文本将为LCD显示优化渲染。 |
QPdf::RenderGrayscale | 0x004 | 页面将以灰度渲染。 |
QPdf::RenderForceHalftone | 0x008 | 如果输出图像被拉伸,则始终使用半调渲染。 |
QPdf::RenderTextAliased | 0x010 | 渲染文本时禁用抗锯齿。 |
QPdf::RenderImageAliased | 0x020 | 渲染图像时禁用抗锯齿。 |
QPdf::RenderPathAliased | 0x040 | 渲染路径时禁用抗锯齿。 |
RenderFlags
类型是 QFlags<RenderFlag>
的类型定义。它存储了 RenderFlag
值的 OR 组合。
enum QPdf::Rotation
这个枚举描述了页面的旋转方向。
常量 | 值 | 描述 |
---|---|---|
QPdf::Rotate0 | 0 | 不旋转(默认) |
QPdf::Rotate90 | 1 | 顺时针旋转90度 |
QPdf::Rotate180 | 2 | 旋转180度 |
QPdf::Rotate270 | 3 | 顺时针旋转270度 |
QPdfDestination Class
QPdfDestination 类
QPdfDestination 类定义了 PDF 文档中页面上的位置,以及建议的查看缩放级别。
头文件:
#include <QPdfDestination>
此类在 Qt 5.15 中引入。
所有成员列表,包括继承的成员
属性
属性 | 类型 | 描述 |
---|---|---|
location | const QPointF | 页面上的位置,单位为点。 |
page | const int | 页面号。 |
valid | const bool | 目标是否有效。 |
zoom | const qreal | 建议的放大级别,其中 1.0 表示默认比例(1 像素 = 1 点)。 |
公共函数
函数 | 返回值 | 描述 |
---|---|---|
isValid() | bool | 检查目标是否有效。 |
location() | QPointF | 获取页面上的位置。 |
page() | int | 获取页面号。 |
zoom() | qreal | 获取建议的放大级别。 |
保护函数
函数 | 描述 |
---|---|
QPdfDestination() | 构造一个无效的目标。 |
详细描述
属性文档
location:const QPointF
这个属性表示页面上的位置,单位是点。
访问函数:
QPointF location() const
page:const int
这个属性表示页面号。
访问函数:
int page() const
valid:const bool
这个属性表示目标是否有效。
访问函数:
bool isValid() const
zoom:const qreal
这个属性表示建议的放大级别,其中 1.0 表示默认比例(1 像素 = 1 点)。
访问函数:
qreal zoom() const
成员函数文档
[protected] QPdfDestination::QPdfDestination()
构造一个无效的目标。
参见 valid。
QPdfDocument Class
QPdfDocument 类
QPdfDocument 类加载 PDF 文档并从中渲染页面。
头文件:
#include <QPdfDocument>
自:Qt 5.10
继承自:QObject
此类在 Qt 5.10 中引入。
公共类型
- 枚举:
MetaDataField
- 枚举:
Status
公共函数
详情见下表。
信号
详情见下表。
详细描述
- enum QPdfDocument::MetaDataField
此枚举描述了元数据的可用字段。
常量 | 描述 |
---|---|
QPdfDocument::Title | 文档的标题 |
QPdfDocument::Author | 创建文档的人的名字 |
QPdfDocument::Subject | 文档的主题 |
QPdfDocument::Keywords | 与文档相关的关键字 |
QPdfDocument::Creator | 如果文档是从其他格式转换为 PDF,那么这个值为创建原始文档的产品的名称 |
QPdfDocument::Producer | 如果文档是从其他格式转换为 PDF,那么这个值为进行转换的产品的名称 |
QPdfDocument::CreationDate | 文档创建的日期和时间 |
QPdfDocument::ModificationDate | 文档最近修改的日期和时间 |
- enum QPdfDocument::Status
此枚举描述了文档的当前状态。
常量 | 描述 |
---|---|
QPdfDocument::Null | 文档被创建或关闭后的初始状态 |
QPdfDocument::Loading | 调用 load() 后,文档完全加载前的状态 |
QPdfDocument::Ready | 文档完全加载,数据可以被访问的状态 |
QPdfDocument::Unloading | 在打开的文档上调用 close() 后的状态。此时文档仍有效,所有数据都可以被访问 |
QPdfDocument::Error | 在 Loading 状态后,如果加载失败的状态 |
成员函数
函数 | 描述 |
---|---|
QPdfDocument(QObject *parent = nullptr) | 构造一个新的文档,其父对象为 parent |
~QPdfDocument() | 销毁文档 |
close() | 关闭文档 |
getAllText(int page) | 返回给定页面上的所有文本及其边界 |
getSelection(int page, QPointF start, QPointF end) | 返回给定页面上在给定开始和结束点之间的文本信息(如果有) |
getSelectionAtIndex(int page, int startIndex, int maxLength) | 返回在给定页面上从给定的 startIndex 开始,最多包含 maxLength 个字符的文本信息 |
metaData(QPdfDocument::MetaDataField field) | 返回给定字段的文档元数据 |
pageCount() | 如果文档已加载,返回页面数量;如果未加载任何文档,返回 0 |
render(int page, QSize imageSize, QPdfDocumentRenderOptions renderOptions = QPdfDocumentRenderOptions()) | 根据提供的 renderOptions,将页面渲染为 imageSize 大小的 |
QImage |
| status() | 返回文档的当前状态 |
信号
信号 | 描述 |
---|---|
pageCountChanged(int pageCount) | 页面数量改变时发出 |
passwordChanged() | 密码更改时发出 |
statusChanged(QPdfDocument::Status status) | 状态改变时发出 |
QPdfDocumentRenderOptions Class
QPdfDocumentRenderOptions 类
QPdfDocumentRenderOptions 类包含了从 PDF 文档渲染页面所需的选项。
头文件:
#include <QPdfDocumentRenderOptions>
此类在 Qt 5.10 中被引入。
所有成员列表,包括继承的成员。
公共函数
成员函数 | 描述 |
---|---|
QPdfDocumentRenderOptions() | 构造一个 QPdfDocumentRenderOptions 对象。 |
QPdf::RenderFlags renderFlags() const | 返回用于从 PDF 文档渲染页面的特殊标志。 |
QPdf::Rotation rotation() const | 返回用于从 PDF 文档渲染页面的旋转。 |
QRect scaledClipRect() const | 返回页面被缩放到 scaledSize() 后要被剪裁的矩形区域。 |
QSize scaledSize() const | 返回以像素为单位的要渲染的页面的大小。 |
void setRenderFlags(QPdf::RenderFlags flags) | 设置用于从 PDF 文档渲染页面的特殊标志。 |
void setRotation(QPdf::Rotation rotation) | 设置用于从 PDF 文档渲染页面的旋转。 |
相关的非成员函数
非成员函数 | 描述 |
---|---|
bool operator!=(QPdfDocumentRenderOptions lhs, QPdfDocumentRenderOptions rhs) | 如果选项 lhs 和 rhs 不同,则返回 true,否则返回 false。 |
bool operator==(QPdfDocumentRenderOptions lhs, QPdfDocumentRenderOptions rhs) | 如果选项 lhs 和 rhs 相等,则返回 true,否则返回 false。 |
QPdfPageNavigation Class
QPdfPageNavigation 类
QPdfPageNavigation 类处理 PDF 文档的导航。
头文件:
#include <QPdfPageNavigation>
引入版本:Qt 5.10
继承自:QObject
属性
属性 | 类型 | 描述 |
---|---|---|
canGoToNextPage | const bool | 表示是否可以导航至下一页 |
canGoToPreviousPage | const bool | 表示是否可以导航至上一页 |
currentPage | int | 当前文档的页面编号 |
document | QPdfDocument* | 该对象导航的文档实例 |
pageCount | const int | 文档的页数 |
公共函数
函数 | 描述 |
---|---|
QPdfPageNavigation(QObject *parent = nullptr) | 构造一个具有父对象 parent 的页面导航对象 |
virtual ~QPdfPageNavigation() | 销毁页面导航对象 |
bool canGoToNextPage() const | 返回是否有下一页 |
bool canGoToPreviousPage() const | 返回是否有上一页 |
int currentPage() const | 返回当前页面号或0(如果没有设置文档) |
QPdfDocument * document() const | 返回此对象导航的文档,如果之前没有设置,则返回 nullptr |
int pageCount() const | 返回文档中的页面数或0(如果没有设置文档) |
void setCurrentPage(int page) | 设置当前页面号 |
void setDocument(QPdfDocument *document) | 设置此对象导航的文档 |
公共槽函数
函数 | 描述 |
---|---|
void goToNextPage() | 将当前页改为下一页 |
void goToPreviousPage() | 将当前页改为上一页 |
信号
信号 | 描述 |
---|---|
void canGoToNextPageChanged(bool canGo) | 当可以导航到下一页的状态变化时发出 |
void canGoToPreviousPageChanged(bool canGo) | 当可以导航到上一页的状态变化时发出 |
void currentPageChanged(int currentPage) | 当前页改变时发出 |
void documentChanged(QPdfDocument *document) | 当导航的文档改变时发出 |
void pageCountChanged(int pageCount) | 当文档的页数改变时发出 |
QPdfPageRenderer Class
QPdfPageRenderer 类
QPdfPageRenderer 类封装了 PDF 文档的页面渲染。
头文件:
#include <QPdfPageRenderer>
起始版本:Qt 5.11
继承自:QObject
公共类型
类型 | 描述 |
---|---|
枚举类 RenderMode | 用于描述页面如何被渲染,包括 MultiThreaded(在单独的工作线程中渲染所有页面)和 SingleThreaded(在主 UI 线程中渲染所有页面,默认值)。 |
属性
属性 | 类型 | 描述 |
---|---|---|
document | QPdfDocument* | 当前对象从中渲染页面的文档实例,默认为 nullptr。 |
renderMode | RenderMode | 渲染器用来渲染页面的模式,默认为 RenderMode::SingleThreaded。 |
公共函数
函数 | 描述 |
---|---|
QPdfPageRenderer(QObject *parent = nullptr) | 构造函数,创建一个带有父对象 parent 的页面渲染器对象。 |
~QPdfPageRenderer() | 析构函数,销毁页面渲染器对象。 |
QPdfDocument* document() const | 返回当前对象从中渲染页面的文档,如果之前未设置,则返回 nullptr。 |
RenderMode renderMode() const | 返回页面渲染的模式。 |
quint64 requestPage(int pageNumber, QSize imageSize, QPdfDocumentRenderOptions options = QPdfDocumentRenderOptions()) | 请求渲染器按照提供的选项将页面 pageNumber 渲染为 QImage 大小的 imageSize。 |
void setDocument(QPdfDocument *document) | 设置当前对象从中渲染页面的文档。 |
void setRenderMode(RenderMode mode) | 设置页面渲染的模式。 |
信号
信号 | 描述 |
---|---|
void documentChanged(QPdfDocument *document) | 当文档属性发生更改时发出的信号。 |
void renderModeChanged(RenderMode renderMode) | 当渲染模式属性发生更改时发出的信号。 |
QPdfSelection Class
QPdfSelection 类
QPdfSelection 类定义了在 PDF 文档的一页中被选中的文本范围及其几何边界。
头文件:
#include <QPdfSelection>
该类在 Qt 5.15 中被引入。
所有成员列表,包括继承的成员
属性
bounds
:const QVectortext
:const QStringvalid
:const bool
公共函数
QRectF boundingRectangle() const
QVector<QPolygonF> bounds() const
void copyToClipboard(QClipboard::Mode mode = QClipboard::Clipboard) const
int endIndex() const
bool isValid() const
int startIndex() const
QString text() const
详细描述
参见 QPdfDocument::getSelection()。
属性文档
bounds:const QVector
这个属性保存了选中文本在页面上占据的一组区域,表示为多边形。多边形的坐标系以页面左上角为原点,单位为点。
注意:现在,从 QPdfDocument::getSelection() 返回的多边形始终是矩形;但在未来可能可以表示更复杂的区域。
访问函数:
QVector<QPolygonF> bounds() const
text:const QString
这个属性保存了选中的文本。
访问函数:
QString text() const
valid:const bool
这个属性保存了选择是否有效。
访问函数:
bool isValid() const
成员函数文档
void QPdfSelection::copyToClipboard(QClipboard::Mode mode = QClipboard::Clipboard) const
将文本复制到系统剪贴板。
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)相关推荐
- Qt中文文档-QFile
公众号:Qt那些事儿 QFile Class QFile 类提供读写文件的接口. 属性 方法 Header: #include qmake: QT += core Inherits: QFileDev ...
- Tomcat7中文文档
2019独角兽企业重金招聘Python工程师标准>>> Tomcat7中文文档 注:本文根据tomcat官网(tomcat.apache.org)tomcat7.0官方文档整 ...
- Android2.2 r1 API 中文文档系列(10) —— CheckBox
前言 从本章开始,将直接翻译最新的Android 2.2 r1 版本的API,而之前的文章以后更新.补充.完善至新版.本章android.widget.CheckBox内容不多,目前翻译的选择策略是先 ...
- 用Sandcastle生成CHM1.x中文文档
前一篇文章<用Sandcastle生成CHM1.x中文文档>发布了之后,有些朋友希望获得我翻译的中文模版. 现共享如下: /Files/didasoft/Docs.zip 先说明一下,这些 ...
- beego 例子_Beego中文文档PDF
[实例简介] Beego中文文档PDF版,便于平板上阅读查看....... 快速入门」 快速入门 安装 brego包含一些示例应用程序以帮您学习并使用 brego应用框架 您需要安装Go1.1+以确保 ...
- python3.8图片_python3.8.3官方中文文档[PDF][CHM][31.14MB]
内容简介 Python 3.8.3 文档是一套整理的Python 3.8.3 的官方中文文档,包含chm和官方pdf完整版,需要的朋友可下载试试! Python 是一种易于学习又功能强大的编程语言.它 ...
- Spring Boot中文文档
1.5.2.RELEASE Part I. Spring Boot 文档 本节简要介绍了Spring Boot文档,是整个文档的参考指南. 您可以完整阅读本参考指南,或者如果您不感兴趣的话可以跳过该部 ...
- PlantCV中文文档
PlantCV中文文档 1. 简介 1. 欢迎来到PlantCV文档 总览 开始 教程 贡献 版本 2. PlantCV Namespace 2.1 PlantCV 2.1.1 分析颜色 2.1.2 ...
- 【Scikit-Learn 中文文档】数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
最新文章
- 腾讯高性能分布式路由技术,亮相亚太网络研讨会APNet
- 充分地享受母爱的飞鸽传书
- db h2 数据类型_H2数据库函数及数据类型概述
- java中enum类型的使用
- MOS9.0 bootstrap 离线Bulid
- 关于高效找工作的几条建议
- 年鉴表格-数据可视化分析
- 神经网络算法的基本原理,神经网络算法都有哪些
- 带通 带阻滤波器 幅频响应_方程推导:二阶有源带通滤波器设计!(内附教程+原理图+视频+代码下载)...
- 查看Java 版本tls_如何在Java中设置TLS1.2版本
- Axure RP9入门介绍----小白
- aw36515闪光灯驱动ic调试
- unity如何插入图片_Unity3D教程:导入贴图和模型
- linux互信文件权限,Linux如何建立互信
- python3 中文繁体转换简体,简体转换为繁体,汉字转换拼音
- POJ 3322 Bloxorz I
- 数据库锁与加锁情况介绍(记录锁、间隙锁、next-key锁)
- 转载 冯羽的程序生涯之我见
- tweepy 根据推特ID爬取推特数据
- GFLOPS、GFLOPs 和 GMACs的区别与关系
热门文章
- C语言简单链表详细步骤详解
- 神经网络训练的一般步骤,神经网络常用训练方法
- Jetpack Lifecycle使用--Jetpack系列
- 网站分析04——常用指标及方法
- 使用tesseract-ocr实现验证码识别
- 对于集合set的定义
- ubuntu下如何使用USB转串口设备
- 【转载】PCI-E接口以及PCI-E 1x, 4x, 8x, 16x 接口定义
- Argis通过Python的Arcpy第三方库进行字段计算、批量将mxd导出为jpg图片、合并数据库
- OpenCV中如何提取不规则ROI区域, 手眼标定hand_eye_calibration