Constants and Enumerations

Constants and enumerations of MuPDF as implemented by PyMuPDF. Each of the following variables is accessible as fitz.variable.

Constants

Base14_Fonts

Predefined Python list of valid PDF Base 14 Fonts.

Return type:list
csRGB

Predefined RGB colorspace fitz.Colorspace(fitz.CS_RGB).

Return type:Colorspace
csGRAY

Predefined GRAY colorspace fitz.Colorspace(fitz.CS_GRAY).

Return type:Colorspace
csCMYK

Predefined CMYK colorspace fitz.Colorspace(fitz.CS_CMYK).

Return type:Colorspace
CS_RGB

1 - Type of Colorspace is RGBA

Return type:int
CS_GRAY

2 - Type of Colorspace is GRAY

Return type:int
CS_CMYK

3 - Type of Colorspace is CMYK

Return type:int
VersionBind

‘x.xx.x’ - version of PyMuPDF (these bindings)

Return type:string
VersionFitz

‘x.xxx’ - version of MuPDF

Return type:string
VersionDate

ISO timestamp YYYY-MM-DD HH:MM:SS when these bindings were built.

Return type:string

Note

The docstring of fitz contains information of the above which can be retrieved like so: print(fitz.__doc__), and should look like: PyMuPDF 1.10.0: Python bindings for the MuPDF 1.10 library, built on 2016-11-30 13:09:13.

version

(VersionBind, VersionFitz, timestamp) - combined version information where timestamp is the generation point in time formatted as “YYYYMMDDhhmmss”.

Return type:tuple

Font File Extensions

The table show file extensions you should use when extracting fonts from a PDF file.

Ext Description
ttf TrueType font
pfa Postscript for ASCII font (various subtypes)
cff Type1C font (compressed font equivalent to Type1)
cid character identifier font (postscript format)
otf OpenType font
n/a one of the PDF Base 14 Fonts (cannot be extracted)

Text Alignment

TEXT_ALIGN_LEFT

0 - align left.

TEXT_ALIGN_CENTER

1 - align center.

TEXT_ALIGN_RIGHT

2 - align right.

TEXT_ALIGN_JUSTIFY

3 - align justify.

Preserve Text Flags

Options controlling the amount of data a text device parses into a TextPage.

TEXT_PRESERVE_LIGATURES

1 - If this option is activated ligatures are passed through to the application in their original form. If this option is deactivated ligatures are expanded into their constituent parts, e.g. the ligature ffi is expanded into three eparate characters f, f and i.

TEXT_PRESERVE_WHITESPACE

2 - If this option is activated whitespace is passed through to the application in its original form. If this option is deactivated any type of horizontal whitespace (including horizontal tabs) will be replaced with space characters of variable width.

TEXT_PRESERVE_IMAGES

4 - If this option is set, then images will be stored in the structured text structure. The default is to ignore all images.

Annotation Types

Possible values (integer) for PDF annotation types. See chapter 8.4.5, pp. 615 of the Adobe manual for more details.

ANNOT_TEXT

0 - Text annotation

1 - Link annotation

ANNOT_FREETEXT

2 - Free text annotation

ANNOT_LINE

3 - Line annotation

ANNOT_SQUARE

4 - Square annotation

ANNOT_CIRCLE

5 - Circle annotation

ANNOT_POLYGON

6 - Polygon annotation

ANNOT_POLYLINE

7 - PolyLine annotation

ANNOT_HIGHLIGHT

8 - Highlight annotation

ANNOT_UNDERLINE

9 - Underline annotation

ANNOT_SQUIGGLY

10 - Squiggly-underline annotation

ANNOT_STRIKEOUT

11 - Strikeout annotation

ANNOT_STAMP

12 - Rubber stamp annotation

ANNOT_CARET

13 - Caret annotation

ANNOT_INK

14 - Ink annotation

ANNOT_POPUP

15 - Pop-up annotation

ANNOT_FILEATTACHMENT

16 - File attachment annotation

ANNOT_SOUND

17 - Sound annotation

ANNOT_MOVIE

18 - Movie annotation

ANNOT_WIDGET

19 - Widget annotation

ANNOT_SCREEN

20 - Screen annotation

ANNOT_PRINTERMARK

21 - Printers mark annotation

ANNOT_TRAPNET

22 - Trap network annotation

ANNOT_WATERMARK

23 - Watermark annotation

ANNOT_3D

24 - 3D annotation

Annotation Flags

Possible mask values for PDF annotation flags.

Note

Annotation flags is a bit field, so test the truth of its bits with the & operator. When changing flags for an annotation, use the | operator to combine several values. The following descriptions were extracted from the Adobe manual, pages 608 pp.

ANNOT_XF_Invisible

1 - If set, do not display the annotation if it does not belong to one of the standard annotation types and no annotation handler is available. If clear, display such an unknown annotation using an appearance stream specified by its appearance dictionary, if any.

ANNOT_XF_Hidden

2 - If set, do not display or print the annotation or allow it to interact with the user, regardless of its annotation type or whether an annotation handler is available. In cases where screen space is limited, the ability to hide and show annotations selectively can be used in combination with appearance streams to display auxiliary pop-up information similar in function to online help systems.

ANNOT_XF_Print

4 - If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of whether it is displayed on the screen. This can be useful, for example, for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.

ANNOT_XF_NoZoom

8 - If set, do not scale the annotation’s appearance to match the magnification of the page. The location of the annotation on the page (defined by the upper-left corner of its annotation rectangle) remains fixed, regardless of the page magnification.

ANNOT_XF_NoRotate

16 - If set, do not rotate the annotation’s appearance to match the rotation of the page. The upper-left corner of the annotation rectangle remains in a fixed location on the page, regardless of the page rotation.

ANNOT_XF_NoView

32 - If set, do not display the annotation on the screen or allow it to interact with the user. The annotation may be printed (depending on the setting of the Print flag) but should be considered hidden for purposes of on-screen display and user interaction.

ANNOT_XF_ReadOnly

64 - If set, do not allow the annotation to interact with the user. The annotation may be displayed or printed (depending on the settings of the NoView and Print flags) but should not respond to mouse clicks or change its appearance in response to mouse motions.

ANNOT_XF_Locked

128 - If set, do not allow the annotation to be deleted or its properties (including position and size) to be modified by the user. However, this flag does not restrict changes to the annotation’s contents, such as the value of a form field.

ANNOT_XF_ToggleNoView

256 - If set, invert the interpretation of the NoView flag for certain events. A typical use is to have an annotation that appears only when a mouse cursor is held over it.

ANNOT_XF_LockedContents

512 - If set, do not allow the contents of the annotation to be modified by the user. This flag does not restrict deletion of the annotation or changes to other annotation properties, such as position and size.

Annotation Line End Styles

The following descriptions are taken from the Adobe manual TABLE 8.27 on page 630.

ANNOT_LE_None

0 - No line ending.

ANNOT_LE_Square

1 - A square filled with the annotation’s interior color, if any.

ANNOT_LE_Circle

2 - A circle filled with the annotation’s interior color, if any.

ANNOT_LE_Diamond

3 - A diamond shape filled with the annotation’s interior color, if any.

ANNOT_LE_OpenArrow

4 - Two short lines meeting in an acute angle to form an open arrowhead.

ANNOT_LE_ClosedArrow

5 - Two short lines meeting in an acute angle as in the OpenArrow style (see above) and connected by a third line to form a triangular closed arrowhead filled with the annotation’s interior color, if any.

ANNOT_LE_Butt

6 - (PDF 1.5) A short line at the endpoint perpendicular to the line itself.

ANNOT_LE_ROpenArrow

7 - (PDF 1.5) Two short lines in the reverse direction from OpenArrow.

ANNOT_LE_RClosedArrow

8 - (PDF 1.5) A triangular closed arrowhead in the reverse direction from ClosedArrow.

ANNOT_LE_Slash

9 - (PDF 1.6) A short line at the endpoint approximately 30 degrees clockwise from perpendicular to the line itself.