常量和枚举#
由PyMuPDF实现的MuPDF的常量和枚举。以下每个变量都可以作为pymupdf.variable访问。
常量#
- Base14_Fonts#
预定义的有效 PDF 基础 14 字体 的 Python 列表。
- 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
- TEXTFLAGS_SEARCH#
TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_DEHYPHENATE
链接目的地类型#
linkDest.kind 的可能值(链接目标种类)。
- LINK_NONE#
0 – 没有目的地。表示一个虚链接。
- Type:
整型
- LINK_GOTO#
1 – 指向本文档中的一个位置。
- Type:
整型
- LINK_LAUNCH#
3 – 启动(打开)另一个文件(任何“可执行”类型)。
PyMuPDF 将任何以
file:开头或不包含冒号的外部链接视为LINK_LAUNCH。
- Type:
整型
- LINK_NAMED#
4 - 指向一个命名的位置。
- Type:
整型
- LINK_GOTOR#
5 – 指向另一个PDF文档中的一个位置。
- Type:
整型
链接目标标志#
注意
这个整数的最右字节是一个位字段,所以使用 & 操作符测试这些位的真实性。
- LINK_FLAG_L_VALID#
1 (bit 0) 左上角 x 值有效
- Type:
布尔值
- LINK_FLAG_T_VALID#
2 (bit 1) 左上角 y 值有效
- Type:
布尔值
- LINK_FLAG_R_VALID#
4 (bit 2) 右下角 x 值是有效的
- Type:
布尔值
- LINK_FLAG_B_VALID#
8 (bit 3) 右下角的y值有效
- Type:
布尔值
- LINK_FLAG_FIT_H#
16 (位 4) 水平适配
- Type:
布尔值
- LINK_FLAG_FIT_V#
32 (bit 5) 垂直适配
- Type:
布尔值
- LINK_FLAG_R_IS_ZOOM#
64 (位 6) 右下角 x 是一个缩放图形
- Type:
布尔值
小部件常量#
小部件类型 (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