class QPdfDocument#

QPdfDocument 类加载 PDF 文档并渲染其中的页面。 更多

Inheritance diagram of PySide6.QtPdf.QPdfDocument

摘要#

属性#

方法#

信号#

注意事项

本文档可能包含从 C++ 自动翻译到 Python 的代码段。我们始终欢迎对代码段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来通知我们。

详细描述#

class 状态#

此枚举描述了当前文档的状态。

常量

描述

QPdfDocument.Status.Null

文档创建或关闭后的初始状态。

QPdfDocument.Status.Loading

调用 load() 后的状态,在文档完全加载之前。

QPdfDocument.Status.Ready

文档完全加载并可访问其数据的状态。

QPdfDocument.Status.Unloading

在调用close()关闭一个打开的文档之后的状态。此时文档仍然有效,其所有数据均可以访问。

QPdfDocument.Status.Error

加载失败后的状态。

另请参阅

status()

class Error#

此枚举描述了对文档上最后一次尝试操作时发生的错误。

常量

描述

QPdfDocument.Error.None

未发生错误。

QPdfDocument.Error.Unknown

未知类型的错误。

QPdfDocument.Error.DataNotYetAvailable

文档仍在加载中,尝试此操作还为时过早。

QPdfDocument.Error.FileNotFound

未找到传递给load()的文件。

QPdfDocument.Error.InvalidFileFormat

传递给load()的文件不是有效的PDF文件。

QPdfDocument.Error.IncorrectPassword

传递给setPassword()的密码不正确。

QPdfDocument.Error.UnsupportedSecurityScheme

QPdfDocument无法解锁此类型的PDF文件。

另请参阅

error()

class MetaDataField#

此枚举描述了元数据的可用字段。

常量

描述

QPdfDocument.MetaDataField.Title

文档标题作为QString。

QPdfDocument.MetaDataField.Author

创建文档的人的名字作为QString。

QPdfDocument.MetaDataField.Subject

文档的主题作为QString。

QPdfDocument.MetaDataField.Keywords

与文档关联的关键词作为QString。

QPdfDocument.MetaDataField.Creator

如果该文档是从其他格式转换为PDF,表示将从该格式转换为PDF的原始文档的生产商名称作为QString。

QPdfDocument.MetaDataField.Producer

如果该文档是从其他格式转换为PDF,表示转换为PDF的生产商名称作为QString。

QPdfDocument.MetaDataField.CreationDate

创建文档的日期和时间作为QDateTime。

QPdfDocument.MetaDataField.ModificationDate

最近修改文档的日期和时间作为QDateTime。

另请参阅

metaData()

class PageModelRole#

pageModel() 中的角色。

常量

描述

QPdfDocument.PageModelRole.Label

用于显示的页码(QString)。

QPdfDocument.PageModelRole.PointSize

按照点大小(1/72英寸)的页面大小(QSizeF)。

注意事项

在使用from __feature__ import true_property时可以直接使用属性,否则通过访问器函数使用。

property pageCount: int#

此属性保存已加载文档的页数或在未加载文档时为0。

访问函数
属性 pageModel: QAbstractListModel#

此属性持有 QAbstractListModel 的实例,以提供页面特定元数据,包含文档中每个页面的一个行。

另请参阅

PageModelRole

访问函数
属性 password: str#

此属性持有文档密码。

如果文档由密码保护,用户必须提供密码,并且应用程序必须设置此属性。否则,不需要。

访问函数
属性 status: QPdfDocument.Status#

此属性持有文档的当前状态。

访问函数
__init__(parent)#
参数:

parentQObject

使用父对象 parent 构造一个新文档。

__init__()
close()#

关闭文档。

error()#
返回类型:

错误

如果 statusError,则返回错误的类型,或者在无错误时返回 NoError

getAllText(page)#
参数:

page – int

返回类型:

QPdfSelection

返回给定 page 上的所有文本及其边界。

getSelection(page, start, end)#
参数:
返回类型:

QPdfSelection

返回关于在给定 page 符号中且位于给定 startend 点之间的文本的信息,如果有。

getSelectionAtIndex(page, startIndex, maxLength)#
参数:
  • page – int

  • startIndex – int

  • maxLength – int

返回类型:

QPdfSelection

返回关于从给定 page 开始的 startIndex 且最多有 maxLength 个字符的文本的信息。

load(device)#
参数:

deviceQIODevice

device 加载文档内容。

load(fileName)
参数:

fileName – str

返回类型:

错误

fileName 加载文档内容。

metaData(field)#
参数:

fieldMetaDataField

返回类型:

对象

返回给定 field 的文档元数据。

pageCount()#
返回类型:

int

属性 pageCount 的获取器。

pageCountChanged(pageCount)#
参数:

pageCount – int

属性 pageCount 的通知信号。

pageIndexForLabel(label)#
参数:

label – str

返回类型:

int

返回有 label 标签的页面索引,如果没有找到则返回 -1

另请参阅

pageLabel()

pageLabel(page)#
参数:

page – int

返回类型:

str

返回用于显示的 page 页码。

例如,一个文档可能有多个部分,编号各不相同。也许前言使用罗马数字,正文从第1页开始,附录从A1开始。当PDF阅读器显示页码时,为了避免使用户混淆,它应该与打印在页面角落上的“数字”相同,而不是我们在API中使用的基础页码索引(假设文档作者已经使页面标签与打印的数字匹配)。

如果文档没有自定义页码,此函数返回 page + 1

另请参阅

pageIndexForLabel()

pageModel()#
返回类型:

QAbstractListModel

属性 pageModelᅟ 的获取器。

pageModelChanged()#

属性 pageModelᅟ 的通知信号。

pagePointSize(page)#
参数:

page – int

返回类型:

QSizeF

以点(1/72英寸)为单位返回页面 page 的大小。

password()#
返回类型:

str

另请参阅

setPassword()

属性 passwordᅟ 的获取器。

passwordChanged()#

属性 passwordᅟ 的通知信号。

passwordRequired()#
render(page, imageSize[, options=QPdfDocumentRenderOptions()])#
参数:
返回类型:

QImage

根据提供的 renderOptions 将页面 page 渲染为大小为 imageSize 的 QImage。

返回渲染页面或错误时的空图像。

注意:如果 imageSize 与 PDF 文档中页面的长宽比不匹配,页面将以缩放方式渲染,以便完全覆盖 imageSize

setPassword(password)#
参数:

password – 字符串

另请参阅

password()

password 属性的设置器。

status()#
返回类型:

状态

status 属性的获取器。

statusChanged(status)#
参数:

statusStatus

status 属性的属性变化通知信号。