PyMuPDF 1.24.4 中文文档(十二)(1)https://developer.aliyun.com/article/1559498
MuPDF 实现的常量和枚举
MuPDF 实现的常量和枚举。以下每个变量均可作为 pymupdf.variable 访问。
常量
Base14_Fonts
预定义的 Python 列表,包括有效的 PDF Base 14 Fonts。
返回类型:
列表
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 – Colorspace 类型为 RGBA
返回类型:
int
CS_GRAY
2 – Colorspace 类型为 GRAY
返回类型:
int
CS_CMYK
3 – Colorspace 类型为 CMYK
返回类型:
int
VersionBind
‘x.xx.x’ – PyMuPDF(这些绑定)的版本
返回类型:
字符串
VersionFitz
‘x.xxx’ – MuPDF 的版本
返回类型:
字符串
VersionDate
ISO 时间戳 YYYY-MM-DD HH:MM:SS,这些绑定的构建时间。
返回类型:
字符串
注意
fitz 的文档字符串包含上述信息,可以像这样检索:print(fitz.doc),应如下所示:PyMuPDF 1.10.0:MuPDF 1.10 库的 Python 绑定,构建于 2016-11-30 13:09:13。
version
(VersionBind,VersionFitz,timestamp)– 组合版本信息,其中 timestamp 是生成时间点,格式为 “YYYYMMDDhhmmss”。
返回类型:
元组
文档权限
Code | Permitted Action |
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 可选内容代码
Code | Meaning |
PDF_OC_ON | 临时设置 OCG 为打开状态 |
PDF_OC_TOGGLE | 临时切换 OCG 状态 |
| PDF_OC_OFF | 临时设置 OCG 为关闭状态 | ## PDF 加密方法代码
Code | Meaning |
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()
返回。
Ext | 描述 |
ttf | TrueType 字体 |
pfa | ASCII 字体的 Postscript(各种子类型) |
cff | Type1C 字体(等效于 Type1 的压缩字体) |
cid | 字符标识符字体(Postscript 格式) |
otf | OpenType 字体 |
| n/a | 不可提取,例如 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 中,默认为“on”。
TEXT_PRESERVE_IMAGES
4 – 如果设置,则图像将存储在 TextPage 中。这会导致在“blocks”、“dict”、“json”、“rawdict”、“rawjson”、“html”和“xhtml”类型的文本提取输出中存在(通常较大的!)二进制图像内容,并且这是默认行为。然而,如果与“blocks”一起使用,则仅返回图像元数据,而不是图像本身。
TEXT_INHIBIT_SPACES
8 – 如果设置,Mupdf 将不会在字符之间存在大间隙时尝试添加丢失的空格字符。在 PDF 中,创建者通常不会插入空格来指向下一个字符的位置,而是直接提供位置地址。在 PyMuPDF 中,默认为“off” – 因此将生成空格。
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_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_DEHYPHENATE
## 链接目标类型
linkDest.kind
(链接目标类型)的可能值。
LINK_NONE
0 – 无目标。表示一个虚拟链接。
返回类型:
int
LINK_GOTO
1 – 指向本文档中的某处。
返回类型:
int
LINK_URI
2 – 指向 URI – 通常是使用 Internet 语法指定的资源。
- PyMuPDF 将任何包含冒号且不以
file:
开头的外部链接视为LINK_URI
。
返回类型:
int
LINK_LAUNCH
3 – 打开(运行)另一个文件(任何“可执行”类型)。
- PyMuPDF 将任何以
file:
开头或不包含冒号的外部链接视为LINK_LAUNCH
。
返回类型:
int
LINK_NAMED
4 – 指向一个命名位置。
返回类型:
int
LINK_GOTOR
5 – 指向另一个 PDF 文档中的位置。
返回类型:
int ## 链接目标标志
注意
这个整数的最右边字节是一个位字段,所以用 & 运算符测试这些位的真假。
LINK_FLAG_L_VALID
1(位 0)左上角 x 值有效
返回类型:
bool
LINK_FLAG_T_VALID
2(位 1)左上角 y 值有效
返回类型:
bool
LINK_FLAG_R_VALID
4(位 2)右下角 x 值有效
返回类型:
bool
LINK_FLAG_B_VALID
8(位 3)右下角 y 值有效
返回类型:
bool
LINK_FLAG_FIT_H
16(位 4)水平适合
返回类型:
bool
LINK_FLAG_FIT_V
32(位 5)垂直适合
返回类型:
bool
LINK_FLAG_R_IS_ZOO
64(位 6)右下角 x 是缩放数值
返回类型:
bool
注释相关常量
详见 Adobe PDF 参考手册 第 8.4.5 章,第 615 页。
注释类型
这些标识符还涵盖链接和小部件:PDF 规范技术上以相同的方式处理它们,而 MuPDF(以及 PyMuPDF)则将它们视为三种基本不同类型的对象。
PDF_ANNOT_TEXT 0 PDF_ANNOT_LINK 1 # <=== Link object in PyMuPDF PDF_ANNOT_FREE_TEXT 2 PDF_ANNOT_LINE 3 PDF_ANNOT_SQUARE 4 PDF_ANNOT_CIRCLE 5 PDF_ANNOT_POLYGON 6 PDF_ANNOT_POLY_LINE 7 PDF_ANNOT_HIGHLIGHT 8 PDF_ANNOT_UNDERLINE 9 PDF_ANNOT_SQUIGGLY 10 PDF_ANNOT_STRIKE_OUT 11 PDF_ANNOT_REDACT 12 PDF_ANNOT_STAMP 13 PDF_ANNOT_CARET 14 PDF_ANNOT_INK 15 PDF_ANNOT_POPUP 16 PDF_ANNOT_FILE_ATTACHMENT 17 PDF_ANNOT_SOUND 18 PDF_ANNOT_MOVIE 19 PDF_ANNOT_RICH_MEDIA 20 PDF_ANNOT_WIDGET 21 # <=== Widget object in PyMuPDF PDF_ANNOT_SCREEN 22 PDF_ANNOT_PRINTER_MARK 23 PDF_ANNOT_TRAP_NET 24 PDF_ANNOT_WATERMARK 25 PDF_ANNOT_3D 26 PDF_ANNOT_PROJECTION 27 PDF_ANNOT_UNKNOWN -1 ```### 注释标志位 ```py PDF_ANNOT_IS_INVISIBLE 1 << (1-1) PDF_ANNOT_IS_HIDDEN 1 << (2-1) PDF_ANNOT_IS_PRINT 1 << (3-1) PDF_ANNOT_IS_NO_ZOOM 1 << (4-1) PDF_ANNOT_IS_NO_ROTATE 1 << (5-1) PDF_ANNOT_IS_NO_VIEW 1 << (6-1) PDF_ANNOT_IS_READ_ONLY 1 << (7-1) PDF_ANNOT_IS_LOCKED 1 << (8-1) PDF_ANNOT_IS_TOGGLE_NO_VIEW 1 << (9-1) PDF_ANNOT_IS_LOCKED_CONTENTS 1 << (10-1) ```### 注释线条结束样式 ```py PDF_ANNOT_LE_NONE 0 PDF_ANNOT_LE_SQUARE 1 PDF_ANNOT_LE_CIRCLE 2 PDF_ANNOT_LE_DIAMOND 3 PDF_ANNOT_LE_OPEN_ARROW 4 PDF_ANNOT_LE_CLOSED_ARROW 5 PDF_ANNOT_LE_BUTT 6 PDF_ANNOT_LE_R_OPEN_ARROW 7 PDF_ANNOT_LE_R_CLOSED_ARROW 8 PDF_ANNOT_LE_SLASH 9
小部件常量
小部件类型(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 为**橡皮图章**注释定义了以下图标: ```py 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,美国。
本文档涵盖了所有版本,直至 1.24.4。
常量
Base14_Fonts
预定义的 Python 列表,包含有效的 PDF 基础 14 字体。
返回类型:
列表
csRGB
预定义的 RGB 颜色空间 pymupdf.Colorspace(pymupdf.CS_RGB)。
返回类型:
颜色空间
csGRAY
预定义的 GRAY 颜色空间 pymupdf.Colorspace(pymupdf.CS_GRAY)。
返回类型:
颜色空间
csCMYK
预定义的 CMYK 颜色空间 pymupdf.Colorspace(pymupdf.CS_CMYK)。
返回类型:
颜色空间
CS_RGB
1 – 颜色空间 的类型为 RGBA
返回类型:
int
CS_GRAY
2 – 颜色空间 的类型为 GRAY
返回类型:
int
CS_CMYK
3 – 颜色空间 的类型为 CMYK
返回类型:
int
VersionBind
‘x.xx.x’ – PyMuPDF(这些绑定)的版本
返回类型:
字符串
VersionFitz
‘x.xxx’ – MuPDF 的版本
返回类型:
字符串
VersionDate
这些绑定构建的 ISO 时间戳为 YYYY-MM-DD HH:MM:SS。
返回类型:
字符串
注意
fitz 的文档字符串包含上述信息,可以像这样检索:print(fitz.doc),应如下所示:PyMuPDF 1.10.0: Python bindings for the MuPDF 1.10 library, built on 2016-11-30 13:09:13。
version
(VersionBind, VersionFitz, timestamp) – 组合版本信息,其中 timestamp 是以“YYYYMMDDhhmmss”格式化的生成时间点。
返回类型:
元组
PyMuPDF 1.24.4 中文文档(十二)(3)https://developer.aliyun.com/article/1559506