Foxit PDF SDK

Public 成员函数 | 所有成员列表
FSDK::LayerNode类 参考

## Public 成员函数
| AddChild (index, name, has_Layer)
| 为当前图层节点添加新的子图层节点。 更多...
| AddGraphicsObject (page, graphicsobject)
| 将图形对象添加到当前图层节点。 更多...
| GetAnnots ()
| 获取与当前图层节点相关的注释数组。 更多...
| GetChild (index)
| 获取子节点。 更多...
| GetChildrenCount ()
| 获取子节点的数量。 更多...
| GetDict ()
| 获取当前对象的 PDF 字典。 更多...
| GetExportUsage ()
| 获取导出用途的状态。 更多...
| GetGraphicsObjects (page)
| 获取与当前图层节点关联的图层相关的所有图形对象。 更多...
| GetName ()
| 获取当前图层节点的名称。 更多...
| GetPrintUsage ()
| 获取打印用途的数据。 更多...
| GetViewUsage ()
| 获取查看用途的状态。 更多...
| GetZoomUsage ()
| 获取缩放用途的数据。 更多...
| HasIntent (intent)
| 检查当前图层节点是否具有指定的意图。 更多...
| HasLayer ()
| 检查当前图层节点是否与图层关联。 更多...
| IsEmpty ()
| 检查当前对象是否为空。 更多...
| IsInPage (page)
| 检查当前图层节点是否在指定的 PDF 页面中。 更多...
| IsLocked ()
| 检查当前图层节点是否被锁定。 更多...
| MoveTo (parent_layer_node, index)
| 将当前图层节点移动为另一个图层节点的子节点之一。 更多...
| RemoveChild (index)
| 按索引删除子节点。 更多...
| RemoveGraphicsObject (graphics_object)
| 从当前图层节点删除图形对象。 更多...
| RemoveUsage (usage_type)
| 删除一种类型的用途属性。 更多...
| SetDefaultVisible (is_visible)
| 设置默认可见性。 更多...
| SetExportUsage (state)
| 设置导出用途的状态。 更多...
| SetName (name)
| 设置当前图层节点的名称。 更多...
| SetPrintUsage (data)
| 设置图层打印用途的数据。 更多...
| SetViewUsage (state)
| 设置查看用途的状态。 更多...
| SetZoomUsage (data)
| 设置图层缩放用途的数据。 更多...

## 详细描述

PDF 图层(在 <PDF reference 1.7> 中称为 "可选内容组")是图形的集合 (在 Foxit PDF SDK 中称为 FSDK.GraphicsObject),可以设置为可见或不可见。这些属于 同一图层的图形可以位于文档中的任何位置:它们不需要在绘制顺序上连续, 甚至不需要属于同一内容流。
在 Foxit PDF SDK 中,PDF 图层与图层节点关联,Foxit PDF SDK 提供类和方法 通过图层节点获取/设置图层数据。如果用户想要检索图层节点,用户必须先构造 图层树对象,然后调用函数 FSDK.LayerTree.GetRootNode 获取 整个图层树的根图层节点。这里,"根图层节点" 是一个抽象对象。"根图层节点" 只能有 一些子图层节点但没有父节点,或任何数据(如名称、意图等)。并且 "根图层节点" 不能 在应用程序 UI 上显示,因为它没有数据。因此,对于根图层节点,只有函数 FSDK.LayerNode.GetChildrenCount 和 FSDK.LayerNode.GetChild 是有用的。
此类提供函数来获取/设置图层数据及其所属的图形。例如:

- 要获取/设置图层数据,可以使用以下函数:FSDK.LayerNode.GetName、 FSDK.LayerNode.GetViewUsage、FSDK.LayerNode.GetExportUsage、FSDK.LayerNode.GetPrintUsage、 FSDK.LayerNode.GetZoomUsage 以及这些数据的设置函数。
- 要获取属于它的图形,使用函数 FSDK.LayerNode.GetGraphicsObjects; 函数 FSDK.LayerNode.AddGraphicsObject 和 FSDK.LayerNode.RemoveGraphicsObject 可以 用于向图层添加/从图层删除指定的图形对象。

参见
  FSDK.LayerTree

## 成员函数说明

## ◆ AddChild()

FSDK::LayerNode::AddChild | ( | index | ,
|  | name | ,
|  | has_Layer |
| ) |  |

为当前图层节点添加新的子图层节点。

参数

  [in] | index | 新子图层节点的子节点索引。有效范围:从 0 到 count。 count 表示成为当前图层节点的最后一个子节点, 由函数 FSDK.LayerNode.GetChildrenCount 为当前图层节点返回。
  [in] | name | 新图层节点的名称。它不应为空字符串。
  [in] | has_Layer | true 表示新的子图层节点将与图层关联, 而 false 表示新的子图层节点不与图层关联。

返回
  指定新子图层节点的图层节点对象。

## ◆ AddGraphicsObject()

FSDK::LayerNode::AddGraphicsObject | ( | page | ,
|  | graphicsobject |
| ) |  |

将图形对象添加到当前图层节点。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | page | 一个有效的 PDF 页面,输入的图形对象属于该页面。
  [in] | graphicsobject | 要添加到当前图层节点的图形对象。

返回
  true 表示成功,而 false 表示失败。

## ◆ GetAnnots()

FSDK::LayerNode::GetAnnots | ( |  | ) |

获取与当前图层节点相关的注释数组。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将直接返回一个空数组。

返回
  注释数组。

## ◆ GetChild()

FSDK::LayerNode::GetChild | ( | index |  | ) |

获取子节点。

参数

  [in] | index | 要检索的子节点的索引。有效范围:从 0 到 (count-1)。 count 由函数 FSDK.LayerNode.GetChildrenCount 返回。

返回
  子图层节点对象。

## ◆ GetChildrenCount()

FSDK::LayerNode::GetChildrenCount | ( |  | ) |

获取子节点的数量。

返回
  子节点的数量。

## ◆ GetDict()

FSDK::LayerNode::GetDict | ( |  | ) |

获取当前对象的 PDF 字典。

注解
  有关详细信息,请参阅 <PDF Reference 1.7> 第 364 页中的 "Optional Content Groups"。

返回
  PDF 字典。如果当前图层节点的 FSDK.LayerNode.HasLayer 返回 false, 此函数将返回 null。

## ◆ GetExportUsage()

FSDK::LayerNode::GetExportUsage | ( |  | ) |

获取导出用途的状态。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

返回
  图层使用状态。请参考从 FSDK.LayerTree.e_StateON 开始的值, 这将是这些值之一,但不包括 FSDK.LayerTree.e_StateUnchanged。

## ◆ GetGraphicsObjects()

FSDK::LayerNode::GetGraphicsObjects | ( | page |  | ) |

获取与当前图层节点关联的图层相关的所有图形对象。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | page | 一个有效的 PDF 页面,输入的图形对象属于该页面。

返回
  包含相关图形对象的图形对象数组。

## ◆ GetName()

FSDK::LayerNode::GetName | ( |  | ) |

获取当前图层节点的名称。

返回
  图层节点名称。

## ◆ GetPrintUsage()

FSDK::LayerNode::GetPrintUsage | ( |  | ) |

获取打印用途的数据。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

返回
  图层打印用途的数据。

## ◆ GetViewUsage()

FSDK::LayerNode::GetViewUsage | ( |  | ) |

获取查看用途的状态。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

返回
  图层使用状态。请参考从 FSDK.LayerTree.e_StateON 开始的值, 这将是这些值之一,但不包括 FSDK.LayerTree.e_StateUnchanged。

## ◆ GetZoomUsage()

FSDK::LayerNode::GetZoomUsage | ( |  | ) |

获取缩放用途的数据。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

返回
  图层缩放用途的数据。

## ◆ HasIntent()

FSDK::LayerNode::HasIntent | ( | intent |  | ) |

检查当前图层节点是否具有指定的意图。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。
特别地,当此函数使用输入参数 "View" 返回 false 时, 意味着与当前图层节点相关的图层将始终可见,并且不会 受到可见性变化的影响。

参数

  [in] | intent | 要检查的意图名称。它不应为空字符串。 预定义的意图名称是 "View" 和 "Design"。

返回
  true 表示当前图层节点具有指定的意图, 而 false 表示当前图层节点不具有指定的意图。

## ◆ HasLayer()

FSDK::LayerNode::HasLayer | ( |  | ) |

检查当前图层节点是否与图层关联。

返回
  true 表示当前图层节点与图层关联, 而 false 表示当前图层节点不与图层关联。

## ◆ IsEmpty()

FSDK::LayerNode::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时,意味着当前对象无用。

返回
  true 表示当前对象为空,而 false 表示不为空。

## ◆ IsInPage()

FSDK::LayerNode::IsInPage | ( | page |  | ) |

检查当前图层节点是否在指定的 PDF 页面中。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | page | 一个有效的 PDF 页面。

返回
  true 表示当前图层节点在指定的 PDF 页面中, 而 false 表示当前图层节点不在指定的 PDF 页面中。

## ◆ IsLocked()

FSDK::LayerNode::IsLocked | ( |  | ) |

检查当前图层节点是否被锁定。

返回
  true 表示当前图层节点被锁定, 而 false 表示当前图层节点未被锁定。

## ◆ MoveTo()

FSDK::LayerNode::MoveTo | ( | parent_layer_node | ,
|  | index |
| ) |  |

将当前图层节点移动为另一个图层节点的子节点之一。

参数

  [in] | parent_layer_node | 目标图层节点。它不应是当前图层节点本身或 当前图层节点的任何后代。当前图层节点将被移动为 目标图层节点的子节点之一。
  [in] | index | 子节点索引,指定当前图层节点将作为目标图层节点的 哪个子节点被移动到的位置。有效范围:从 0 到 count。 count 表示成为目标图层节点的最后一个子节点, 由函数 FSDK.LayerNode.GetChildrenCount 为参数 parent_layer_node 返回。

返回
  true 表示成功,而 false 表示失败。

## ◆ RemoveChild()

FSDK::LayerNode::RemoveChild | ( | index |  | ) |

按索引删除子节点。

参数

  [in] | index | 要删除的子节点的索引。有效范围:从 0 到 (count-1)。 count 由函数 FSDK.LayerNode.GetChildrenCount 返回。

返回
  true 表示成功，而 false 表示失败。

## ◆ RemoveGraphicsObject()

FSDK::LayerNode::RemoveGraphicsObject | ( | graphics_object |  | ) |

从当前图层节点删除图形对象。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。
如果输入的图形对象不属于当前图层节点, 此函数将直接返回 true。

参数

  [in] | graphics_object | 要从当前图层节点删除的图形对象。

返回
  true 表示成功,而 false 表示失败。

## ◆ RemoveUsage()

FSDK::LayerNode::RemoveUsage | ( | usage_type |  | ) |

删除一种类型的用途属性。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。
如果当前图层节点没有指定的用途或没有任何用途, 此函数将返回 true。

参数

  [in] | usage_type | 要删除的图层用途类型。请参考从 FSDK.LayerContext.e_UsageView 开始的值,这应该是这些值之一。

返回
  true 表示成功,而 false 表示失败。

## ◆ SetDefaultVisible()

FSDK::LayerNode::SetDefaultVisible | ( | is_visible |  | ) |

设置默认可见性。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | is_visible | true 表示可见,而 false 表示不可见。

返回
  true 表示成功,而 false 表示失败。

## ◆ SetExportUsage()

FSDK::LayerNode::SetExportUsage | ( | state |  | ) |

设置导出用途的状态。

如果用户希望新状态对渲染结果产生影响,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象进行渲染。
此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | state | 图层使用状态。它应该是以下值之一: FSDK.LayerTree.e_StateON FSDK.LayerTree.e_StateOFF FSDK.LayerTree.e_StateUndefined 表示从当前图层节点删除此属性

返回
  true 表示成功,而 false 表示失败。

## ◆ SetName()

FSDK::LayerNode::SetName | ( | name |  | ) |

设置当前图层节点的名称。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | name | 新的图层节点名称。它不应为空字符串。

返回
  true 表示成功，而 false 表示失败。

## ◆ SetPrintUsage()

FSDK::LayerNode::SetPrintUsage | ( | data |  | ) |

设置图层打印用途的数据。

如果用户希望新状态对渲染结果产生影响,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象进行渲染。
此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | data | 图层打印用途的新数据。输入数据的 print state 值 应该是以下值之一: FSDK.LayerTree.e_StateON FSDK.LayerTree.e_StateOFF FSDK.LayerTree.e_StateUndefined 表示从当前图层节点删除此属性

返回
  true 表示成功,而 false 表示失败。

## ◆ SetViewUsage()

FSDK::LayerNode::SetViewUsage | ( | state |  | ) |

设置查看用途的状态。

如果用户希望新状态对渲染结果产生影响,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象进行渲染。
此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | state | 图层使用状态。它应该是以下值之一: FSDK.LayerTree.e_StateON FSDK.LayerTree.e_StateOFF FSDK.LayerTree.e_StateUndefined 表示从当前图层节点删除此属性

返回
  true 表示成功,而 false 表示失败。

## ◆ SetZoomUsage()

FSDK::LayerNode::SetZoomUsage | ( | data |  | ) |

设置图层缩放用途的数据。

此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。

参数

  [in] | data | 图层缩放用途的新数据。

返回
  true 表示成功,而 false 表示失败。