DisplayList

DisplayList is a list containing drawing commands (text, images, etc.). The intent is two-fold:

  1. as a caching-mechanism to reduce parsing of a page

  2. as a data structure in multi-threading setups, where one thread parses the page and another one renders pages. This aspect is currently not supported by PyMuPDF.

A display list is populated with objects from a page, usually by executing Page.get_displaylist(). There also exists an independent constructor.

“Replay” the list (once or many times) by invoking one of its methods run(), get_pixmap() or get_textpage().

Method

Short Description

run()

Run a display list through a device.

get_pixmap()

generate a pixmap

get_textpage()

generate a text page

rect

mediabox of the display list

Class API

class DisplayList
__init__(self, mediabox)

Create a new display list.

Parameters

mediabox (Rect) – The page’s rectangle.

Return type

DisplayList

run(device, matrix, area)

Run the display list through a device. The device will populate the display list with its “commands” (i.e. text extraction or image creation). The display list can later be used to “read” a page many times without having to re-interpret it from the document file.

You will most probably instead use one of the specialized run methods below – get_pixmap() or get_textpage().

Parameters
  • device (Device) – Device

  • matrix (Matrix) – Transformation matrix to apply to the display list contents.

  • area (Rect) – Only the part visible within this area will be considered when the list is run through the device.

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

Run the display list through a draw device and return a pixmap.

Parameters
  • matrix (Matrix) – matrix to use. Default is the identity matrix.

  • colorspace (Colorspace) – the desired colorspace. Default is RGB.

  • alpha (int) – determine whether or not (0, default) to include a transparency channel.

  • clip (irect_like) – restrict rendering to the intersection of this area with DisplayList.rect.

Return type

Pixmap

Returns

pixmap of the display list.

get_textpage(flags)

Run the display list through a text device and return a text page.

Parameters

flags (int) – control which information is parsed into a text page. Default value in PyMuPDF is 3 = TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE, i.e. ligatures are passed through, white spaces are passed through (not translated to spaces), and images are not included. See Text Extraction Flags.

Return type

TextPage

Returns

text page of the display list.

rect

Contains the display list’s mediabox. This will equal the page’s rectangle if it was created via Page.get_displaylist().

Type

Rect