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
-