激活呈现副本关键字
使用设计脚本,您可以创建包含书签、内部文档链接、Web URL 链接、附件、数字签名字段和多媒体的激活呈现副本(内容丰富的 PDF 文档)。这是使用操作关键字完成的。操作关键字在设计脚本中的出现顺序极其重要。
操作关键字 | 顺序 |
---|---|
action_item | 第一 |
action_name | 第二 |
action_instance | 第三(指定时) |
您还可以使用属性发布关键字将对象元数据发布到 PDF 文档,这称为属性发布。属性发布是发布与 PDF 文档中的图元相关联的对象元数据的过程。使用 Acrobat 7.0 或更高版本,您可以使用 Acrobat 的对象数据工具查看与图元关联的元数据信息。
以下操作关键字包括关键字函数的介绍、受关键字影响的元素类型(如果适用)、有效数据类型(如果适用)以及如何使用关键字的示例。
action_item
指定要创建的操作项目的类型(书签、链接、附件、数字签名字段或多媒体),这是定义激活呈现副本时的必填字段。此关键字必须在所有其他操作关键字之前出现。
以下常量适用于 action_item 关键字:
- Field - 指定要创建数字签名字段。数字签名字段是收集用户输入的位置。
- Bookmark - 指定要创建书签。书签是目录中的单个行项目。书签允许快速导航到图纸上的相关点,或者它们也可以执行诸如播放声音或打开 URL 的操作。使用书签时,另一个相关的关键字可能是全局关键字部分中的 bookmark_template。
- Link - 指定要创建链接。链接是图纸上具有与其相关联的导航操作的矩形区域,如 Web URL 或文档间链接。
- Marker - 指定要创建标记。标记指示图纸上标记导航目的地的相关区域。标记由唯一名称标识。软件会自动将 sheet_name 添加到标记名称前面。完全限定标记名称为 sheet_name.marker_name。使用标记时,其他相关的关键字可能是全局关键字部分中的 zoom_percentage。
- Attachment - 指定要创建文件、声音或影片附件。
- Media - 指定要创建多媒体影片或声音剪辑。
语法:
ACTION_ITEM = <LINK | BOOKMARK | MARKER | MEDIA | FIELD | ATTACHMENT>
action_type
指定要与 action_item 赋值关联的操作类型,这是定义激活呈现副本时的必填字段。
以下常量适用于 action_type 关键字:
- AREA_OF_INTEREST - 指定要将操作类型设置为相关区域。用于相关区域书签以定义文档中的特定部分或视图。该章节或视图由匹配设计脚本标准的元素的累加矩形范围框定义。
- DESTINATION - 指定要将操作类型设置为目标。在您创建标记时使用,如下面的代码段所示。当前图纸 (sheet_name) 的名称添加到 action_name 前面,以将其与图纸相关联。例如,如果 action_name="Air Handler" 并且图纸的名称是 Plumbing Schematics,则生成的目标唯一名称将是 Plumbing Schematics.Air Handler。
If((level_name eq "one") and (type eq shape)) then action_item = marker action_name = "Air Handler" action_type = destination endif
- DIGSIG_FIELD - 指定要将操作类型设置为数字签名字段。用于数字签名字段。
- DOCUMENT - 指定要将操作类型设置为文档。在定义文档书签和内部文档链接时使用。
- FILE_ATTACHMENT - 指定要将操作类型设置为文件附件。用于文件附件,以将文件附加并嵌入 PDF 文档。
- MOVIE_ATTACHMENT - 指定要将操作类型设置为影片剪辑。用于影片附件,以将影片嵌入 PDF 文档。
- PLAY_MEDIA - 指定要将操作类型设置为多媒体影片或声音剪辑。用于多媒体。
- PLAY_SOUND - 指定要将操作类型设置为声音剪辑。用于声音剪辑书签。
- SOUND_ATTACHMENT - 指定要将操作类型设置为声音附件。用于声音附件,以将声音嵌入到 PDF 文档中。
- TEXT_DESCRIPTION - 指定要将操作类型设置为文本描述。用于文本描述书签以显示文本信息。
- WEB_URL - 指定要将操作类型设置为 Web URL。与 Web 链接书签和 Web URL 链接一起使用。
语法
ACTION_TYPE = <WEB_URL | DESTINATION | DOCUMENT | PLAY_SOUND | PLAY_MEDIA | DIGSIG_FIELD | AREA_OF_INTEREST | FILE_ATTACHMENT |SOUND_ATTACHMENT | MOVIE_ATTACHMENT | TEXT_DESCRIPTION>
action_name/action_spec
Action_name 和 action_spec 值不是预置常量,而是与所定义的 action_item 和 action_type 对应的唯一值。
Action_name 通常是用于标识由 action_item 所定义对象的内部唯一名称。标识 Web 链接书签或声音剪辑书签时例外。对于 Web 链接书签,action_name 关键字标识 URL。对于声音剪辑书签,action_name 标识声音文件的文件规范。定义 action_item 时,Action_name 是必填字段。
Action_spec 指定书签在书签层次中的位置、媒体或附件项目的文件规范、当用户将鼠标悬停在 Adobe Acrobat 中的数字签名字段时显示的字符串,以及链接标记的显式名称(例如 sheet_name.marker_name)。这是定义 action_item 时的必填字段,标记项目除外。
语法:
action_name = string action_spec = string
下表提供了每个相应 action_type 的可接受值的列表。
ACTION_TYPE | ACTION_NAME | ACTION_SPEC |
---|---|---|
AREA_OF_INTEREST | 用于标识书签项的唯一字符串。 | 指定书签在书签层次结构中的位置。 |
DESTINATION | 标记的唯一名称。 | 不适用 |
DIGSIG_FIELD | 用于标识数字签名的唯一字符串。 | 当用户将鼠标悬停在 Acrobat 中的数字签名字段时显示的字符串。 |
DOCUMENT | 用于在文档书签中标识图纸名称的唯一字符串。 | 指定书签在书签层次结构中的位置。对于链接,它指定标记的显式名称(例如 sheet_name.marker_name)。 |
FILE_ATTACHMENT | 文件附件的唯一名称。 | 文件规范。 |
MOVIE_ATTACHMENT | 影片附件的唯一名称。 | 影片文件规范。 |
PLAY_MEDIA | 电影或声音剪辑的唯一名称。 | 电影或声音文件说明。 |
PLAY_SOUND | 声音文件的文件规范。 | 指定书签在书签层次结构中的位置。 |
SOUND_ATTACHMENT | 声音附件的唯一名称。 | 声音文件规范。 |
TEXT_DESCRIPTION | 用于标识书签项的唯一字符串。 | 指定书签在书签层次结构中的位置。 |
WEB_URL | 用作链接标识符的唯一名称。书签的 URL HTTP 规范。 | 指定书签在书签层次结构中的位置并定义书签条目名称。对于 Web URL 链接,它指定 URL 地址。 |
action_range
指定在创建链接、字段、标记、附件、媒体或相关区域书签时,矩形区域的范围应基于当前元素的范围来确定,还是基于与当前元素相关联的单元的范围来确定。缺省值为 element_range。
以下常量适用于 action_range 关键字:
语法
ACTION_RANGE = <ELEMENT_RANGE | CELL_RANGE>
action_instance
指定矩形区域(针对链接或相关区域书签)是采用当前单元或元素的范围来计算,还是基于所有匹配单元或元素范围的总和来计算。
以下常量适用于 action_instance 关键字:
- SINGLE_INSTANCE - 指定根据所有匹配单元或元素范围的总和来计算链接或相关区域书签的矩形区域。
- MULTIPLE_INSTANCE - 指定使用当前单元或元素范围来计算链接或相关区域书签的矩形区域。
语法
ACTION_INSTANCE = <SINGLE_INSTANCE | MULTIPLE_INSTANCE>
示例 1:
! Create a bookmark to a sheet in a document. ! if (first_time eq true) then if (sheet_name .ne. "details") then action_item = bookmark action_name = "details" action_type = document action_spec = "./Drawing Sheet" endif endif
示例 2:
! In the Table of Contents sheet, link ! all text in the index to the corresponding ! sheet name in the document. if (sheet_name eq "Table of Contents") then if ((type eq text) and (color eq 3)) then ! Define the rectangular region around the current ! text string that points/links to the corresponding ! sheet in the document by the same name. action_item = link action_name = characters action_type = document action_spec = characters endif endif
示例 3:
! Create a bookmark to the equipment ! items and associate a maintenance video with ! the appropriate equipment. ! Identify the type of equipment to be addressed if ((type eq 2) and (cellname eq "Sprinkler Head")) then ! Identify the tag set tag_set="equipment information" tag_name="serial number" ! Define a Bookmark under the sheetname for this page ! that will navigate to the piece of equipment. Use the ! sheet_name and TAG_CHAR to form the action item name. action_item = bookmark action_name = sheet_name + "." + TAG_CHAR action_type = AREA_OF_INTEREST action_spec = "." + sheet_name + "./" + TAG_CHAR ! Define a multimedia sound clip that describes ! how to install the equipment. action_item = media action_name = "Maintenance Instructions" action_type = PLAY_MEDIA action_spec = "c:\equipment\videos\sprinkler.wav" endif
全局关键字
以下关键字可用作赋值语句,first_time 关键字除外。
- first_time - 此比较关键字可用于执行一段设计脚本一次。在第一次调用设计脚本时,此关键字(标志)为 TRUE,然后该值设置为 FALSE。该值无法重置。当您指定书签模板时此关键字会很有用。请参见本部分结尾处的示例。
- sheet_name - 指定正在出图的当前页面的当前图纸的名称和相关联的书签。缺省值是打印定义的名称。
语法
sheet_name = string
- ignore_engineering_links - 指定如果遇到工程链接,不要将其作为链接包括在激活呈现副本之内。缺省值为 FALSE。
语法
ignore_engineering_links = <TRUE|FALSE>
- bookmark_template - 定义书签层次布局的 XML 文件。
语法
bookmark_template = file specification to an XML file
- zoom_percentage - 用于控制在单击相关区域书签或标记链接时如何显示周围区域。如果指定缩放百分比为 100,则矩形区域将适合 Acrobat 查看器的当前窗口区域。值 150 指定比标记或矩形区域的精确边界大 50% 的区域。缩放百分比的缺省值为 120。zoom_percentage 关键字在设计脚本中的显示顺序非常重要。zoom_percentage 关键字需要跟在 action_item 和 action_name 关键字之后。
语法
zoom_percentage = integer (where 100 is 100%)
示例:
if (first_time eq true) then ! Load the bookmark template bookmark_template = "d:\anystreet\mybookmarktemplate.xml" if (cellname eq "steps") then action_item = BOOKMARK action_name = "Step Detail" zoom_percentage = 150 action_type = AREA_OF_INTEREST action_spec = "./details/steps" endif
属性发布关键字
以下关键字用于将对象元数据发布到 PDF。要在 PDF 文档中查看对象元数据,请单击 Adobe Acrobat 或 Reader 中的模型树。
- propertycontainer_name - 用于为激活属性指定容器名称。对字符串值赋值后,后续的 property_maptoelement 操作会将激活属性放在给定的容器名称下。容器不能嵌套。缺省情况下,设计脚本定义的属性位于模型树中的顶层图纸名称节点下。
语法:
propertycontainer_name = "string"
- property_name - 指定要创建属性对象名称。所有属性对象名称必须是唯一的。
语法:
property_name = "string"
- property_setvalues - 指定要为属性对象创建特性和值。此关键字还可用于修改或更新特性值。
语法:
property_setvalues = "attribute = value" property_setvalues = "attribute1 = value1;attribute2 = value2"
- property_maptoelement - 将当前图形元素与激活属性对象相关联。
语法:
property_maptoelement = true property_maptoelement = false
- property_setqueryvalues - 指定要查询属性对象的特性值。
语法:
property_setqueryvalues = "string"
- property_getvalue - 指定要获取属性对象的特性值。
语法:
property_getvalue ="string"
- property_deleteattributes - 指定要删除激活属性对象的属性对象特性。
语法:
property_deleteattributes = "string" property_deleteattributes = "string1;string2"
示例 1:
!Specify property name, set property values, !delete property value, and map to element. propertycontainer_name = "Ward 1" if ((type eq shape) and (level_name eq 'ward 1')) then property_name = "Ward 1" property_setvalues = "City=Dacula" property_setvalues = "Ward Name=Otonabee;Ward Zone=1" property_setvalues = "Mayor=J. Doe" Property_SetValues = "Useless=Stuff" !Delete property value Property_DeleteAttributes = "Useless" property_maptoelement = true endif ! Set up Ward 2 propertycontainer_name = "Ward 2" if ((type eq shape) and (level_name eq 'ward 2')) then property_name = "Ward 2" property_setvalues = "City=Snellville" property_setvalues = "Ward Name=Wantonabee;Ward Zone=2" property_setvalues = "Mayor=J. Smith" property_maptoelement = true endif
下图显示了如何在 Adobe Reader/Acrobat 模型树中显示 propertycontainer_name 关键字值(Ward 1 和 Ward 2)。此外请注意,Useless 属性 (property_setvalues = "Useless=Stuff") 不会显示在模型树中,因为它已被删除 (Property_DeleteAttributes = "Useless")。
示例 2:
! Query an object's attribute value. if (type == line) then property_name = "Ward 1" property_setqueryvalues = "City" if (property_getvalue=="Dacula") color = "red" endif endif