常量和枚举#

PyMuPDF实现的MuPDF的常量和枚举。以下每个变量都可以作为pymupdf.variable访问。

常量#

Base14_Fonts#

预定义的有效 PDF 基础 14 字体 的 Python 列表。

Type:

列表

csRGB#

预定义的 RGB 颜色空间 pymupdf.Colorspace(pymupdf.CS_RGB)

Type:

颜色空间

csGRAY#

预定义的灰色色彩空间 pymupdf.Colorspace(pymupdf.CS_GRAY).

Type:

颜色空间

csCMYK#

预定义的 CMYK 颜色空间 pymupdf.Colorspace(pymupdf.CS_CMYK)

Type:

颜色空间

CS_RGB#

1 – 颜色空间的类型是 RGBA

Type:

整型

CS_GRAY#

2 – 颜色空间的类型是灰度

Type:

整型

CS_CMYK#

3 – 颜色空间的类型是 CMYK

Type:

整型

mupdf_version#

‘x.xx.x’ – PyMuPDF 使用的 MuPDF 版本。

Type:

字符串

mupdf_version_tuple#

MuPDF版本作为整数的元组, (major, minor, patch).

Type:

元组

pymupdf_version#

‘x.xx.x’ – PyMuPDF 版本。

Type:

字符串

pymupdf_version_tuple#

PyMuPDF 版本作为整数的元组, (major, minor, patch).

Type:

元组

pymupdf_date#

这些绑定构建时的 ISO 时间戳 YYYY-MM-DD HH:MM:SS

Type:

字符串

version#

(pymupdf_version, mupdf_version, timestamp) – 组合版本信息,其中 timestamp 是格式为“YYYYMMDDhhmmss”的生成时间点。

Type:

元组

VersionBind#

等效于 mupdf_version

VersionFitz#

遗留等效于 pymupdf_version.

VersionDate#

旧版等效于 mupdf_version

文档权限#

代码

允许的操作

PDF_PERM_PRINT

打印文档

PDF_PERM_MODIFY

修改文档的内容

PDF_PERM_COPY

复制或以其他方式提取文本和图形

PDF_PERM_ANNOTATE

添加或修改文本注释和交互式表单字段

PDF_PERM_FORM

填写表单并签署文件

PDF_PERM_ACCESSIBILITY

已废弃,总是允许

PDF_PERM_ASSEMBLE

插入、旋转或删除页面、书签、缩略图

PDF_PERM_PRINT_HQ

高质量打印

PDF 可选内容代码#

代码

含义

PDF_OC_ON

暂时将OCG设置为开启

PDF_OC_TOGGLE

临时切换OCG状态

PDF_OC_OFF

暂时将OCG设置为关闭

PDF 加密方法代码#

代码

含义

PDF_ENCRYPT_KEEP

不更改

PDF_ENCRYPT_NONE

移除任何加密

PDF_ENCRYPT_RC4_40

RC4 40位

PDF_ENCRYPT_RC4_128

RC4 128 位

PDF_ENCRYPT_AES_128

高级加密标准 128 位

PDF_ENCRYPT_AES_256

高级加密标准 256 位

PDF_ENCRYPT_UNKNOWN

未知

字体文件扩展名#

该表格显示了在保存从PDF提取的字体文件缓冲区时应使用的文件扩展名。该字符串由 Document.get_page_fonts()Page.get_fonts()Document.extract_font() 返回。

扩展

描述

ttf

字形文件

pfa

ASCII 字体的后记(各种子类型)

cff

Type1C 字体(与 Type1 等效的压缩字体)

cid

字符标识符字体(PostScript格式)

otf

开放类型字体

不适用

不可提取,例如 PDF 基础 14 字体、Type 3 字体及其他

文本对齐#

TEXT_ALIGN_LEFT#

0 - 左对齐。

TEXT_ALIGN_CENTER#

1 – 居中对齐。

TEXT_ALIGN_RIGHT#

2 – 右对齐。

TEXT_ALIGN_JUSTIFY#

3 – 对齐方式为两端对齐。

文本提取标志#

选项位控制解析到TextPage中的数据量 - 这个类主要在PyMuPDF内部使用。

对于PyMuPDF程序员,这些值的某种组合(使用Python的 | 运算符,或简单地使用 +)会聚合在 flags 整数中,这是所有文本搜索和文本提取方法的一个参数。根据具体方法,会使用不同的默认值组合。请使用适合您情况的值。特别要确保关闭图像提取,除非您确实需要它们。这对性能和内存的影响是显著的!

TEXT_PRESERVE_LIGATURES#

1 – 如果设置了,则连字将以其原始形式传递给应用程序。否则,连字将被展开为其组成部分,例如,连字“ffi”被展开为三个单独的字符 f、f 和 i。默认值在 PyMuPDF 中为“on”。MuPDF 支持以下 7 个连字:“ff”、“fi”、“fl”、“ffi”、“ffl”、“ft”、“st”。

TEXT_PRESERVE_WHITESPACE#

2 – 如果设置,将通过空白字符。否则,任何类型的水平空白(包括水平制表符)将被可变宽度的空格字符替换。默认值是在 PyMuPDF 中为“开启”。

TEXT_PRESERVE_IMAGES#

4 - 如果设置了,那么图像将存储在 TextPage 中。这会导致在类型为 “blocks”、 “dict”、 “json”、 “rawdict”、 “rawjson”、 “html” 和 “xhtml” 的文本提取输出中存在(通常很大!)二进制图像内容,并且这是默认设置。然而,如果与 “blocks” 一起使用,则只会返回图像元数据,而不是图像本身。

TEXT_INHIBIT_SPACES#

8 – 如果设置,Mupdf将不会尝试在字符之间的大间隙处添加缺失的空格字符。在PDF中,创建者通常不会插入空格来指向下一个字符的位置,而是提供直接位置地址。PyMuPDF的默认设置是“关闭” – 因此会生成空格

TEXT_DEHYPHENATE#

16 – 忽略行末的连字符并与下一行连接。内部用于文本搜索功能。然而,它通常是可用的:如果启用,文本提取将返回连接的文本行(或跨度),并消除第一行的结尾连字符。因此,在不同的行上的两个独立跨度 “first meth-”“od leads to wrong results” 将连接成一个跨度 “first method leads to wrong results”,并相应地更新边界框:结果跨度的字符将不再具有相同的 y 坐标。

TEXT_PRESERVE_SPANS#

32 – 为每个跨度生成一条新行。在 PyMuPDF 中未使用(“关闭”),但可供您使用。“dict”、“json”、“rawdict”、“rawjson”中的每一行将包含恰好一个跨度。

TEXT_MEDIABOX_CLIP#

64 – 如果设置,完全在页面的 mediabox 之外的字符将被忽略。这是 PyMuPDF 的默认设置。

TEXT_CID_FOR_UNKNOWN_UNICODE#

128 – 如果设置,则使用原始字符代码而不是 U+FFFD。这是 PyMuPDF 中 文本提取 的默认值。如果您 想检测 编码信息缺失或不确定时,请切换此标志并扫描结果文本中 U+FFFD (= chr(0xfffd)) 代码点的存在。

以下常量表示上述文本提取和搜索的默认组合:

TEXTFLAGS_TEXT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_WORDS#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_BLOCKS#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_DICT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_RAWDICT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_HTML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_XHTML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_XML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_CID_FOR_UNKNOWN_UNICODE

TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_DEHYPHENATE

小部件常量#

小部件类型 (field_type)#

PDF_WIDGET_TYPE_UNKNOWN 0
PDF_WIDGET_TYPE_BUTTON 1
PDF_WIDGET_TYPE_CHECKBOX 2
PDF_WIDGET_TYPE_COMBOBOX 3
PDF_WIDGET_TYPE_LISTBOX 4
PDF_WIDGET_TYPE_RADIOBUTTON 5
PDF_WIDGET_TYPE_SIGNATURE 6
PDF_WIDGET_TYPE_TEXT 7

文本小部件子类型 (text_format)#

PDF_WIDGET_TX_FORMAT_NONE 0
PDF_WIDGET_TX_FORMAT_NUMBER 1
PDF_WIDGET_TX_FORMAT_SPECIAL 2
PDF_WIDGET_TX_FORMAT_DATE 3
PDF_WIDGET_TX_FORMAT_TIME 4

小部件标志 (field_flags)#

所有字段类型的共同点:

PDF_FIELD_IS_READ_ONLY 1
PDF_FIELD_IS_REQUIRED 1 << 1
PDF_FIELD_IS_NO_EXPORT 1 << 2

文本小部件:

PDF_TX_FIELD_IS_MULTILINE  1 << 12
PDF_TX_FIELD_IS_PASSWORD  1 << 13
PDF_TX_FIELD_IS_FILE_SELECT  1 << 20
PDF_TX_FIELD_IS_DO_NOT_SPELL_CHECK  1 << 22
PDF_TX_FIELD_IS_DO_NOT_SCROLL  1 << 23
PDF_TX_FIELD_IS_COMB  1 << 24
PDF_TX_FIELD_IS_RICH_TEXT  1 << 25

按钮小部件:

PDF_BTN_FIELD_IS_NO_TOGGLE_TO_OFF  1 << 14
PDF_BTN_FIELD_IS_RADIO  1 << 15
PDF_BTN_FIELD_IS_PUSHBUTTON  1 << 16
PDF_BTN_FIELD_IS_RADIOS_IN_UNISON  1 << 25

选择小部件:

PDF_CH_FIELD_IS_COMBO  1 << 17
PDF_CH_FIELD_IS_EDIT  1 << 18
PDF_CH_FIELD_IS_SORT  1 << 19
PDF_CH_FIELD_IS_MULTI_SELECT  1 << 21
PDF_CH_FIELD_IS_DO_NOT_SPELL_CHECK  1 << 22
PDF_CH_FIELD_IS_COMMIT_ON_SEL_CHANGE  1 << 26

PDF标准混合模式#

有关解释,请参见 Adobe PDF References,第 324 页:

PDF_BM_Color "Color"
PDF_BM_ColorBurn "ColorBurn"
PDF_BM_ColorDodge "ColorDodge"
PDF_BM_Darken "Darken"
PDF_BM_Difference "Difference"
PDF_BM_Exclusion "Exclusion"
PDF_BM_HardLight "HardLight"
PDF_BM_Hue "Hue"
PDF_BM_Lighten "Lighten"
PDF_BM_Luminosity "Luminosity"
PDF_BM_Multiply "Multiply"
PDF_BM_Normal "Normal"
PDF_BM_Overlay "Overlay"
PDF_BM_Saturation "Saturation"
PDF_BM_Screen "Screen"
PDF_BM_SoftLight "Softlight"

邮票注释图标#

MuPDF 定义了以下图标用于 橡皮图章 注释:

STAMP_Approved 0
STAMP_AsIs 1
STAMP_Confidential 2
STAMP_Departmental 3
STAMP_Experimental 4
STAMP_Expired 5
STAMP_Final 6
STAMP_ForComment 7
STAMP_ForPublicRelease 8
STAMP_NotApproved 9
STAMP_NotForPublicRelease 10
STAMP_Sold 11
STAMP_TopSecret 12
STAMP_Draft 13

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