DisplayList
DisplayList is a list containing drawing commands (text, images, etc.). The intent is two-fold:
- as a caching-mechanism to reduce parsing of a page
- 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 DisplayList
is populated with objects from a page usually by executing Page.getDisplayList()
. There also exists an independent constructor.
“Replay” the list (once or many times) by invoking one of its methods run()
, getPixmap()
or getTextPage()
.
Method | Short Description |
---|---|
run() |
Run a display list through a device. |
getPixmap() |
generate a pixmap |
getTextPage() |
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 - output of page.bound()
.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 -
getPixmap()
orgetTextPage()
.Parameters:
-
getPixmap
(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 or Rect) – an area of the full mediabox to which the pixmap should be restricted.
Return type: Returns: pixmap of the display list.
-
getTextPage
(flags = TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE) 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 TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE = 3
, i.e. ligatures are passed through (not decomposed into components), white spaces are passed through (not translated to spaces), and images are not included. See Preserve Text 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.getDisplayList()
.Type: Rect
-