PDF格式分析(四十)Trigger Events 触发事件

简介

当您打开或关闭PDF文档中的页面时,Acrobat会引发一些“事件”,可以激活电影,播放声音甚至运行Javascript代码,这个就被称之为Trigger Events 触发事件。

在PDF中,Trigger Events 触发事件使用AA的条目来指定,通常包含在注释,页面对象或(从PDF 1.3开始)交互式表单字段中,AA条目指定 additional-actions 附加动作字典(PDF 1.2),可以通过某些动作来触发执行的事件集合。 在PDF 1.4中,文档目录字典(Catalog)也可以包含用于影响整个文档的触发事件的AA条目。

PDF 1.5在注释的附加动作字典中引入了四个触发事件,以支持多媒体演示:

  • POPC条目具有与页面对象的附加操作字典中的OC条目类似的功能(见下表)。 但是,将这些触发器与注释相关联可以使注释对象自包含。
  • PVPI条目的区别是:打开的页面、可见的页面。 有些时候,可能会显示多个页面,具体情况取决于页面布局。

注:对于这些触发事件来说,注释中 F 指定的标志,对一个给定的触发事件是否发生无关。

注释的附加操作字典中的条目

Key Type Value
E dictionary (可选; PDF 1.2)当光标进入注释的活动区域时应执行的操作。
X dictionary (可选; PDF 1.2)当光标退出注释的活动区域时应执行的操作。
D dictionary (可选; PDF 1.2)在注释的活动区域内按下鼠标按钮时应执行的操作。
U dictionary (可选; PDF 1.2)在注释的活动区域内释放鼠标按钮时应执行的操作。为了向后兼容,注释字典中的A条目(如果存在)优先于此条目。
Fo dictionary (可选; PDF 1.2;仅限 widget 窗口小部件注释)注释接收输入焦点时应执行的操作。
Bl dictionary (可选; PDF 1.2;仅限 widget 小部件注释)(大写B,小写L)当注释失去输入焦点时应执行的操作。
PO dictionary (可选; PDF 1.5)打开包含注释的页面时应执行的操作。比如:当用户从下一页或上一页导航到它时,或者通过链接注释或大纲项导航到它。如果存在此类操作,则应在页面的附加操作字典中的O操作和文档目录中的OpenAction条目之后执行操作。
PC dictionary (可选; PDF 1.5)关闭包含注释的页面时应执行的操作。比如:当用户导航到下一页或上一页时,或者跟随链接注释或大纲项时。如果存在,该操作应在页面的附加操作字典中的C操作之前执行。
PV dictionary (可选; PDF 1.5)当包含注释的页面变为可见时应执行的操作。
PI dictionary (可选; PDF 1.5)当浏览器界面中不再显示包含注释的页面时,应执行的操作。

页面对象的附加操作字典中的条目

Key Type Value
O dictionary (可选; PDF 1.2)打开页面时应执行的操作(例如,当用户从下一页或上一页或通过链接注释或大纲项导航到该页面时)。 此操作独立于文档目录中的OpenAction条目可能定义的任何操作,并应在此类操作之后执行。
C dictionary (可选; PDF 1.2)页面关闭时应执行的操作(例如,当用户导航到下一页或上一页或遵循链接注释或大纲项时)。 此操作适用于正在关闭的页面,并应在打开任何其他页面之前执行。

表单字段的附加操作字典中的条目

Key Type Value
K dictionary (可选; PDF 1.3)当用户修改文本字段或组合框中的字符或修改可滚动列表框中的选择时应执行的JavaScript操作。 此操作可以检查添加的文本的合法性,来决定是否可以修改。
F dictionary (可选; PDF 1.3)在格式化字段显示值之前,应执行的JavaScript操作。 此操作可以在格式化之前,先修改字段的值,以影响显示结果。
V dictionary (可选; PDF 1.3)当字段值更改时,应执行的JavaScript操作。 此操作可能会检查新值的有效性。 (名称V代表“验证”。)
C dictionary (可选; PDF 1.3)当另一个字段的值发生更改时,应执行的JavaScript操作以重新计算此字段的值。 (名称C代表“计算”。)重新计算文档字段的顺序,应由交互式表格字典中的CO条目定义(见“交互式表格字典”)。
WC dictionary (可选; PDF 1.4)在关闭文档之前应执行的JavaScript操作。 (WC名称代表“will close。”)
WS dictionary (可选; PDF 1.4)在保存文档之前应执行的JavaScript操作。 (名称WS代表“will save。”)
DS dictionary (可选; PDF 1.4)保存文档后应执行的JavaScript操作。 (名称DS代表“did save。”)
WP dictionary (可选; PDF 1.4)在打印文档之前应执行的JavaScript操作。 (WP名称代表“will print。”)
DP dictionary (可选; PDF 1.4)打印文档后应执行的JavaScript操作。 (名称DP代表“did print”)

注意:
表单字段中的按钮,不能定义这些触发事件:K(击键),F(格式),V(验证)和C(计算)。 由这些事件之一触发的动作的效果仅受动作本身的限制,并且可以在所描述的事件范围之外发生。

这些与表单字段相关的触发事件,可以通过用户交互或以编程方式实现:

  • 为了响应“交互式表单字典”中的NeedAppearances条目,可以指定FDF数据或JavaScript操作。
  • 用户修改字段值可以触发一系列计算,并进一步格式化和验证文档中的其他字段。

猜你喜欢

转载自blog.csdn.net/steve_cui/article/details/82747172
今日推荐