DisplayList#

DisplayList 是一个包含绘图命令(文本、图像等)的列表。其用途主要有两方面:

  1. 作为一种缓存机制,减少页面解析工作

  2. 在多线程设置中作为一种数据结构使用,其中一个线程解析页面,另一个线程渲染页面。PyMuPDF 当前不支持此方面。

通常通过执行 Page.get_displaylist(),使用页面中的对象填充 DisplayList。也存在一个独立的构造函数。

通过调用其方法 run()get_pixmap()get_textpage() 来“重放”该列表(一次或多次)。

方法

简要描述

run()

通过设备运行 DisplayList。

get_pixmap()

生成一个 Pixmap

get_textpage()

生成一个 TextPage

rect

DisplayList 的 mediabox

类 API

class DisplayList#
__init__(self, mediabox)#

创建一个新的 DisplayList。

参数:

mediabox (Rect) – 页面的矩形。

返回类型:

DisplayList

run(device, matrix, area)#

通过设备运行 DisplayList。设备将使用其“命令”(即文本提取或图像创建)填充 DisplayList。DisplayList 稍后可用于多次“读取”页面,而无需从文档文件中重新解释它。

您很可能会转而使用下面专门的运行方法之一——get_pixmap()get_textpage()

参数:
  • device (Device) – 设备

  • matrix (Matrix) – 应用于 DisplayList 内容的变换矩阵。

  • area (Rect) – 列表通过设备运行时,仅考虑在此区域内可见的部分。

get_pixmap(matrix=pymupdf.Identity, colorspace=pymupdf.csRGB, alpha=0, clip=None)#

通过绘图设备运行 DisplayList 并返回一个 Pixmap。

参数:
  • matrix (Matrix) – 要使用的矩阵。默认是单位矩阵。

  • colorspace (Colorspace) – 所需的颜色空间。默认是 RGB。

  • alpha (int) – 确定是否(0,默认)包含透明通道。

  • clip (irect_like) – 将渲染限制为此区域与 DisplayList.rect 的交集。

返回类型:

Pixmap

返回:

DisplayList 的 Pixmap。

get_textpage(flags)#

通过文本设备运行 DisplayList 并返回一个 TextPage。

参数:

flags (int) – 控制哪些信息被解析到文本页面中。PyMuPDF 中的默认值为 3 = TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE,即连字 (ligatures) 直接传递,空白字符 直接传递(不转换为空格),且图像 不包含在内。详见 字体属性

返回类型:

TextPage

返回:

DisplayList 的文本页面。

rect#

包含 DisplayList 的 mediabox。如果通过 Page.get_displaylist() 创建,这将等于页面的矩形。

类型:

Rect


本软件按“现状”提供,不附带任何明示或暗示的保证。本软件根据许可协议分发,除非该许可条款明确授权,否则不得复制、修改或分发。有关许可信息,请参阅 artifex.com,或联系 Artifex Software Inc.,地址:39 Mesa Street, Suite 108A, San Francisco CA 94129, United States 获取更多信息。