常量和枚举#

MuPDFPyMuPDF 中实现的常量和枚举。以下每个值都可以通过 pymupdf.value 访问。

常量#

Base14_Fonts#

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

类型:

list

csRGB#

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

类型:

Colorspace

csGRAY#

预定义的 GRAY 颜色空间 pymupdf.Colorspace(pymupdf.CS_GRAY)

类型:

Colorspace

csCMYK#

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

类型:

Colorspace

CS_RGB#

1 – 颜色空间 的类型是 RGBA

类型:

int

CS_GRAY#

2 – 颜色空间 的类型是 GRAY

类型:

int

CS_CMYK#

3 – 颜色空间 的类型是 CMYK

类型:

int

mupdf_version#

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

类型:

string

mupdf_version_tuple#

MuPDF 版本,表示为整数元组:(major, minor, patch)

类型:

tuple

pymupdf_version#

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

类型:

string

pymupdf_version_tuple#

PyMuPDF 版本,表示为整数元组:(major, minor, patch)

类型:

tuple

pymupdf_date#

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

类型:

string

version#

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

类型:

tuple

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 设置为 ON

PDF_OC_TOGGLE

暂时切换 OCG 状态

PDF_OC_OFF

暂时将 OCG 设置为 OFF

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

TrueType 字体

pfa

ASCII 字体的 Postscript (各种子类型)

cff

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

cid

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

otf

OpenType 字体

n/a

不可提取,例如 PDF Base 14 字体、Type 3 字体等

文本对齐方式#

TEXT_ALIGN_LEFT#

0 – 左对齐。

TEXT_ALIGN_CENTER#

1 – 居中对齐。

TEXT_ALIGN_RIGHT#

2 – 右对齐。

TEXT_ALIGN_JUSTIFY#

3 – 两端对齐。

字体属性#

请注意,以下位是从字体自身描述的属性中派生的。它们可能不准确(并且通常不准确)。

TEXT_FONT_SUPERSCRIPT#

1 – 字符或 span 是上标。此属性由 MuPDF 计算得出,不属于任何字体信息。

TEXT_FONT_ITALIC#

2 – 字体是斜体。

TEXT_FONT_SERIFED#

4 – 字体是衬线体。

TEXT_FONT_MONOSPACED#

8 – 字体是等宽字体。

TEXT_FONT_BOLD#

16 – 字体是粗体。

文本提取标志#

控制解析到 TextPage 中的数据量的选项位。

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

TEXT_PRESERVE_LIGATURES#

1 – 如果设置,连字将以其原始形式传递给应用程序。否则,连字将被扩展为它们的组成部分,例如连字“ffi”将被扩展为三个单独的字符 f、f 和 i。在 PyMuPDF 中默认是“开启”。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 – 忽略行尾的连字符并与下一行连接。在内部用于文本搜索函数。但是,它通常可用:如果开启,文本提取将返回已连接的文本行(或 span),并消除第一行的末尾连字符。因此,位于不同行的两个单独的 span “first meth-”“od leads to wrong results” 将被连接成一个 span “first method leads to wrong results” 并相应地更新 bboxes:结果 span 的字符将不再具有相同的 y 坐标。

TEXT_PRESERVE_SPANS#

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

TEXT_MEDIABOX_CLIP#

64 – 页面 mediabox 之外或包含在其他“剪切”区域中的字符将被忽略。这是 PyMuPDF 的默认设置。

TEXT_USE_CID_FOR_UNKNOWN_UNICODE#

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

TEXT_COLLECT_STRUCTURE#

256 – 不支持。

TEXT_ACCURATE_BBOXES#

512 – 计算字符边界框时忽略所有字体的度量值——最突出的是 上升线下降线 值。而是遵循每个字符字形的绘制命令并计算其矩形外壳。这是包含用于绘制视觉外观的所有点的最小矩形——参见 Shape 类以了解背景信息。这尤其会导致单个字符的高度。例如,(空白)字符的 bbox 高度为 0(因为没有绘制任何东西)——与使用字体度量生成的非零边界框形成对比。此选项对于即使包含错误的字体也能获得有意义的边界框可能很有用。由于涉及的计算工作,使用此选项会稍微减慢文本提取速度。

请注意,默认情况下这不起作用 - 还必须使用 pymupdf.TOOLS.unset_quad_corrections(True) 禁用全局 quad 修正设置。

TEXT_COLLECT_VECTORS#

1024 – 不支持。

TEXT_IGNORE_ACTUALTEXT#

2048 – 忽略在 PDF 查看器中显示的文本与存储在 PDF 中的文本之间的内置差异。有关背景信息,请参阅 Adobe PDF 参考手册,第 615 页。如果设置,则忽略存储的(“替换”文本)而优先使用显示的文本。

TEXT_SEGMENT#

4096 – 尝试将页面分割成不同区域。

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

TEXTFLAGS_TEXT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_WORDS#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_BLOCKS#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_DICT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_RAWDICT#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_HTML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_XHTML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE

TEXTFLAGS_XML#

TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_USE_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 参考手册,第 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 获取更多信息。