链接#
表示指向某处(本文档、其他文档、互联网)的指针。链接按文档页面存在,它们通过 Page.first_link
属性可访问的初始链接相互向前链式连接。
链接与其页面之间存在父子关系。如果页面对象变得不可用(文档已关闭、任何文档结构更改等),则其所有现有链接对象也会变得不可用——每当访问链接属性或方法时,都会引发一个异常,提示该对象是“孤立的”。
属性 |
简要描述 |
---|---|
修改边框属性 |
|
修改颜色属性 |
|
修改链接标志 |
|
边框特征 |
|
边框线条颜色 |
|
指向目标详情 |
|
检查链接是否为外部目标 |
|
链接注释标志 |
|
指向下一个链接 |
|
未转换坐标中的可点击区域 |
|
链接目标 |
|
条目的 |
类 API
- class Link#
- set_border(border=None, width=0, style=None, dashes=None)#
仅限 PDF:更改边框宽度和虚线属性。
(版本 1.16.9 中更改)允许不使用字典进行指定。如果 border 不是字典,则使用直接参数。
- 参数:
border (dict) – 一个字典,由
border
属性返回,包含键 "width" (float)、"style" (str) 和 "dashes" (sequence)。省略的键将使相应的属性保持不变。例如,要移除虚线,请使用: "dashes": []。如果 *dashes* 不是空序列,则 *"style"* 将自动设置为 *"D"*(虚线)。width (float) – 见上文。
style (str) – 见上文。
dashes (sequence) – 见上文。
- set_colors(colors=None, stroke=None)#
仅限 PDF:更改“描边”颜色。
注意
在 PDF 中,链接在技术上是注释的一种子类型,不支持填充颜色。但是,为了保持 API 一致性,我们确实允许像所有注释一样指定一个
fill=
参数,该参数将被忽略并发出警告。(版本 1.16.9 中更改)允许直接设置颜色。如果 colors 不是字典,则使用这些参数。
- 参数:
colors (dict) – 一个包含颜色规范的字典。有关可接受的字典键和值,请参阅下文。最实用的方法应该是首先复制
colors
属性,然后根据需要修改此字典。stroke (sequence) – 见上文。
- set_flags(flags)#
v1.18.16 新增
设置链接注释的 PDF
/F
属性。详情请参阅Annot.set_flags()
。如果不是 PDF,此方法无操作。
- flags#
v1.18.16 新增
返回链接注释标志,一个整数(详情请参阅
Annot.flags
)。如果不是 PDF,则为零。
- colors#
仅对 PDF 有意义:一个字典,包含两个浮点数元组,范围在
0 <= float <= 1
之间,分别指定描边 (stroke) 和内部 (fill) 颜色。如果不是 PDF,则返回None
。如上所述,链接的填充颜色始终是None
。描边颜色用于链接矩形的边框。元组的长度隐式决定了颜色空间:1 = 灰度 (GRAY),3 = RGB,4 = CMYK。因此(1.0, 0.0, 0.0)
代表 RGB 颜色红色。每个浮点数 f 的值通过计算 f = i / 255 映射到范围 0 到 255 的整数值 i。- 返回类型:
dict
- border#
仅对 PDF 有意义:一个包含边框特征的字典。对于非 PDF 文件,它将是
None
;如果不存在边框信息,则是一个空字典。可能包含以下键:width – 一个浮点数,表示边框厚度,单位为点。如果未指定宽度,则值为 -1.0。
dashes – 一个整数序列,指定线条虚线图案。
[]
表示无虚线,[n]
表示开和关的长度都为 n 点,更长的列表将被解释为指定交替的开/关长度值。更多详情请参阅 Adobe PDF 参考手册 第 126 页。style – 1字节边框样式:S (Solid) = 围绕注释的实心矩形,D (Dashed) = 围绕链接的虚线矩形,虚线图案由 dashes 条目指定,B (Beveled) = 模拟的浮雕矩形,看起来凸出于页面表面,I (Inset) = 模拟的凹陷矩形,看起来凹陷于页面表面之下,U (Underline) = 沿着注释矩形底部的单行线。
- 返回类型:
dict
- is_external#
一个布尔值,指定链接目标是否在当前文档之外。
- 类型:
bool
- uri#
一个字符串,指定链接目标。此属性的含义应与属性
is_external
结合评估。is_external
为真:uri
指向当前 PDF 外部的某个目标,该目标可能是互联网资源(uri
以http://
或类似内容开头)、另一个文件(uri
以“file:”
或“file://”
开头),或一些其他服务,如电子邮件地址(uri
以mailto:
开头)。is_external
为假:uri
将是None
或指向内部位置。对于 PDF 文档,这应该要么是 #nnnn,表示基于 1 的 (!) 页面编号 nnnn,要么是命名位置。对于其他文档类型,格式有所不同,例如 XPS 文档中页面编号 2(基于 1)的格式为 “../FixedDoc.fdoc#PG_2_LNK_1”。
- 类型:
str
- xref#
一个整数,指定 PDF
xref
>。如果不是 PDF,则为零。- 类型:
int
- next#
下一个链接或
None
。- 类型:
Link