PyMuPDF 1.24.4 中文文档(十二)(2)

简介: PyMuPDF 1.24.4 中文文档(十二)

PyMuPDF 1.24.4 中文文档(十二)(1)https://developer.aliyun.com/article/1559498


MuPDF 实现的常量和枚举

原文:pymupdf.readthedocs.io/en/latest/vars.html

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

相关文章
|
1月前
|
存储 JSON 编解码
PyMuPDF 1.24.4 中文文档(十二)(1)
PyMuPDF 1.24.4 中文文档(十二)
33 0
|
1月前
|
XML 存储 JSON
PyMuPDF 1.24.4 中文文档(十二)(4)
PyMuPDF 1.24.4 中文文档(十二)
15 0
|
1月前
|
存储 JSON 程序员
PyMuPDF 1.24.4 中文文档(十二)(3)
PyMuPDF 1.24.4 中文文档(十二)
30 0
|
1月前
|
存储 JavaScript 前端开发
PyMuPDF 1.24.4 中文文档(十一)(1)
PyMuPDF 1.24.4 中文文档(十一)
14 0
|
1月前
|
机器学习/深度学习 Python
PyMuPDF 1.24.4 中文文档(十一)(3)
PyMuPDF 1.24.4 中文文档(十一)
19 0
|
1月前
|
Python
PyMuPDF 1.24.4 中文文档(十四)
PyMuPDF 1.24.4 中文文档(十四)
12 0
|
1月前
|
XML API 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(七)(1)
PyMuPDF 1.24.4 中文文档(七)
16 0
|
1月前
|
存储 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(六)(3)
PyMuPDF 1.24.4 中文文档(六)
16 0
|
1月前
|
存储 XML 编解码
PyMuPDF 1.24.4 中文文档(三)(1)
PyMuPDF 1.24.4 中文文档(三)
37 0
|
1月前
|
JavaScript 前端开发 程序员
PyMuPDF 1.24.4 中文文档(三)(4)
PyMuPDF 1.24.4 中文文档(三)
14 0