Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit.pdf.LayerNode类 参考
类 foxit.pdf.LayerNode 继承关系图:

## Public 成员函数
| LayerNode (LayerNode other)
| 拷贝构造函数。 更多...
LayerNode | AddChild (int index, string name, bool has_Layer)
| 为当前图层节点添加一个新的图层节点作为子节点。 更多...
bool | AddGraphicsObject (PDFPage page, GraphicsObject graphicsobject)
| 向当前图层节点添加图形对象。 更多...
AnnotArray | GetAnnots ()
| 获取与当前图层节点相关的注释数组。 更多...
LayerNode | GetChild (int index)
| Get a child node. 更多...
int | GetChildrenCount ()
| Get the count of children nodes. 更多...
PDFDictionary | GetDict ()
| 获取当前对象的PDF字典。 更多...
LayerTree.UsageState | GetExportUsage ()
| 获取导出用途的状态。 更多...
GraphicsObjectArray | GetGraphicsObjects (PDFPage page)
| 获取与当前图层节点关联的图层相关的所有图形对象。 更多...
string | GetName ()
| 获取当前图层节点的名称。 更多...
LayerPrintData | GetPrintUsage ()
| 获取打印用途的数据。 更多...
LayerTree.UsageState | GetViewUsage ()
| 获取查看用途的状态。 更多...
LayerZoomData | GetZoomUsage ()
| 获取缩放用途的数据。 更多...
bool | HasIntent (string intent)
| 检查当前图层节点是否具有指定的意图。 更多...
bool | HasLayer ()
| 检查当前图层节点是否与图层关联。 更多...
bool | IsEmpty ()
| 检查当前对象是否为空。 更多...
bool | IsInPage (PDFPage page)
| 检查当前图层节点是否在指定的PDF页面中。 更多...
bool | IsLocked ()
| 检查当前图层节点是否被锁定。 更多...
bool | MoveTo (LayerNode parent_layer_node, int index)
| 将当前图层节点移动为另一个图层节点的子节点。 更多...
bool | RemoveChild (int index)
| Remove a child node by index. 更多...
bool | RemoveGraphicsObject (GraphicsObject graphics_object)
| 从当前图层节点移除图形对象。 更多...
bool | RemoveUsage (LayerContext.UsageType usage_type)
| 移除一种用途属性。 更多...
bool | SetDefaultVisible (bool is_visible)
| 设置默认可见性。 更多...
bool | SetExportUsage (LayerTree.UsageState state)
| 设置导出用途的状态。 更多...
bool | SetName (string name)
| 设置当前图层节点的名称。 更多...
bool | SetPrintUsage (LayerPrintData data)
| 设置图层打印用途的数据。 更多...
bool | SetViewUsage (LayerTree.UsageState state)
| 设置查看用途的状态。 更多...
bool | SetZoomUsage (LayerZoomData data)
| 设置图层缩放用途的数据。 更多...

## 详细描述

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

- 要获取/设置图层数据，可以使用以下函数：LayerNode.GetName ， LayerNode.GetViewUsage ，LayerNode.GetExportUsage ，LayerNode.GetPrintUsage ， LayerNode.GetZoomUsage 以及这些数据的设置函数。

- 要获取属于它的图形，使用函数 LayerNode.GetGraphicsObjects ； 函数 LayerNode.AddGraphicsObject 和 LayerNode.RemoveGraphicsObject 可以 用于向图层添加/从图层移除指定的图形对象。

参见
  LayerTree

## 构造及析构函数说明

## ◆ LayerNode()

foxit.pdf.LayerNode.LayerNode | ( | LayerNode | other | ) |
| inline

拷贝构造函数。

参数

  [in] | other | 另一个图层节点对象。

## 成员函数说明

## ◆ AddChild()

LayerNode foxit.pdf.LayerNode.AddChild | ( | int | index,
|  | string | name,
|  | bool | has_Layer
| ) |  |
| inline

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

参数

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

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

## ◆ AddGraphicsObject()

bool foxit.pdf.LayerNode.AddGraphicsObject | ( | PDFPage | page,
|  | GraphicsObject | graphicsobject
| ) |  |
| inline

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

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

参数

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

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

## ◆ GetAnnots()

AnnotArray foxit.pdf.LayerNode.GetAnnots | ( |  | ) |
| inline

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

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

返回
  注释数组。

## ◆ GetChild()

LayerNode foxit.pdf.LayerNode.GetChild | ( | int | index | ) |
| inline

Get a child node.

参数

  [in] | index | Index of the child to be retrieved. Valid range: from 0 to (count-1). count is returned by function LayerNode.GetChildrenCount .

返回
  A child layer node object.

## ◆ GetChildrenCount()

int foxit.pdf.LayerNode.GetChildrenCount | ( |  | ) |
| inline

Get the count of children nodes.

返回
  The count of children nodes.

## ◆ GetDict()

PDFDictionary foxit.pdf.LayerNode.GetDict | ( |  | ) |
| inline

获取当前对象的PDF字典。

注解
  请参考<PDF Reference 1.7> P364中的"Optional Content Groups"了解更多详情。

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

## ◆ GetExportUsage()

LayerTree.UsageState foxit.pdf.LayerNode.GetExportUsage | ( |  | ) |
| inline

获取导出用途的状态。

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

返回
  图层用途状态。请参考从 foxit.pdf.LayerTree.UsageState.e_StateON 开始的值， 将是这些值中的一个，除了 foxit.pdf.LayerTree.UsageState.e_StateUnchanged 。

## ◆ GetGraphicsObjects()

GraphicsObjectArray foxit.pdf.LayerNode.GetGraphicsObjects | ( | PDFPage | page | ) |
| inline

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

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

参数

  [in] | page | 输入图形对象所属的有效PDF页面。

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

## ◆ GetName()

string foxit.pdf.LayerNode.GetName | ( |  | ) |
| inline

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

返回
  图层节点名称。

## ◆ GetPrintUsage()

LayerPrintData foxit.pdf.LayerNode.GetPrintUsage | ( |  | ) |
| inline

获取打印用途的数据。

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

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

## ◆ GetViewUsage()

LayerTree.UsageState foxit.pdf.LayerNode.GetViewUsage | ( |  | ) |
| inline

获取查看用途的状态。

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

返回
  图层用途状态。请参考从 foxit.pdf.LayerTree.UsageState.e_StateON 开始的值， 将是这些值中的一个，除了 foxit.pdf.LayerTree.UsageState.e_StateUnchanged 。

## ◆ GetZoomUsage()

LayerZoomData foxit.pdf.LayerNode.GetZoomUsage | ( |  | ) |
| inline

获取缩放用途的数据。

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

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

## ◆ HasIntent()

bool foxit.pdf.LayerNode.HasIntent | ( | string | intent | ) |
| inline

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

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

参数

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

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

## ◆ HasLayer()

bool foxit.pdf.LayerNode.HasLayer | ( |  | ) |
| inline

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

返回
  true表示当前图层节点与图层关联， false表示当前图层节点未与图层关联。

## ◆ IsEmpty()

bool foxit.pdf.LayerNode.IsEmpty | ( |  | ) |
| inline

检查当前对象是否为空。

当当前对象为空时，表示当前对象无用。

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

## ◆ IsInPage()

bool foxit.pdf.LayerNode.IsInPage | ( | PDFPage | page | ) |
| inline

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

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

参数

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

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

## ◆ IsLocked()

bool foxit.pdf.LayerNode.IsLocked | ( |  | ) |
| inline

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

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

## ◆ MoveTo()

bool foxit.pdf.LayerNode.MoveTo | ( | LayerNode | parent_layer_node,
|  | int | index
| ) |  |
| inline

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

参数

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

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

## ◆ RemoveChild()

bool foxit.pdf.LayerNode.RemoveChild | ( | int | index | ) |
| inline

Remove a child node by index.

参数

  [in] | index | Index of the child node to be removed. Valid range: from 0 to (count-1). count is returned by function LayerNode.GetChildrenCount .

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

## ◆ RemoveGraphicsObject()

bool foxit.pdf.LayerNode.RemoveGraphicsObject | ( | GraphicsObject | graphics_object | ) |
| inline

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

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

参数

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

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

## ◆ RemoveUsage()

bool foxit.pdf.LayerNode.RemoveUsage | ( | LayerContext.UsageType | usage_type | ) |
| inline

移除一种用途属性。

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

参数

  [in] | usage_type | 要移除的图层用途类型。请参考从 foxit.pdf.LayerContext.UsageType.e_UsageView 开始的值，应该是这些值中的一个。

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

## ◆ SetDefaultVisible()

bool foxit.pdf.LayerNode.SetDefaultVisible | ( | bool | is_visible | ) |
| inline

设置默认可见性。

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

参数

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

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

## ◆ SetExportUsage()

bool foxit.pdf.LayerNode.SetExportUsage | ( | LayerTree.UsageState | state | ) |
| inline

设置导出用途的状态。

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

参数

  [in] | state | 图层用途状态。应该是以下值之一： foxit.pdf.LayerTree.UsageState.e_StateON foxit.pdf.LayerTree.UsageState.e_StateOFF foxit.pdf.LayerTree.UsageState.e_StateUndefined 表示从当前图层节点移除此属性

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

## ◆ SetName()

bool foxit.pdf.LayerNode.SetName | ( | string | name | ) |
| inline

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

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

参数

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

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

## ◆ SetPrintUsage()

bool foxit.pdf.LayerNode.SetPrintUsage | ( | LayerPrintData | data | ) |
| inline

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

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

参数

  [in] | data | 图层打印用途的新数据。输入数据的打印状态值 应该是以下值之一： foxit.pdf.LayerTree.UsageState.e_StateON foxit.pdf.LayerTree.UsageState.e_StateOFF foxit.pdf.LayerTree.UsageState.e_StateUndefined 表示从当前图层节点移除此属性

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

## ◆ SetViewUsage()

bool foxit.pdf.LayerNode.SetViewUsage | ( | LayerTree.UsageState | state | ) |
| inline

设置查看用途的状态。

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

参数

  [in] | state | 图层用途状态。应该是以下值之一： foxit.pdf.LayerTree.UsageState.e_StateON foxit.pdf.LayerTree.UsageState.e_StateOFF foxit.pdf.LayerTree.UsageState.e_StateUndefined 表示从当前图层节点移除此属性

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

## ◆ SetZoomUsage()

bool foxit.pdf.LayerNode.SetZoomUsage | ( | LayerZoomData | data | ) |
| inline

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

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

参数

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

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