Foxit PDF SDK

构造函数 | 所有成员列表
FSLayerNode类 参考
类 FSLayerNode 继承关系图:

## 构造函数
(FSLayerNode *) | - addChild:name:has_Layer:
| 为当前图层节点添加一个新的图层节点作为子节点。 更多...
(BOOL) | - addGraphicsObject:graphicsobject:
| 向当前图层节点添加图形对象。 更多...
(FSAnnotArray *) | - getAnnots
| 获取与当前图层节点相关的注释数组。 更多...
(FSLayerNode *) | - getChild:
| Get a child node. 更多...
(int) | - getChildrenCount
| Get the count of children nodes. 更多...
(FSPDFDictionary *) | - getDict
| 获取当前对象的PDF字典。 更多...
(FSLayerTreeUsageState) | - getExportUsage
| 获取导出用途的状态。 更多...
(FSGraphicsObjectArray *) | - getGraphicsObjects:
| 获取与当前图层节点关联的图层相关的所有图形对象。 更多...
(NSString *) | - getName
| 获取当前图层节点的名称。 更多...
(FSLayerPrintData *) | - getPrintUsage
| 获取打印用途的数据。 更多...
(FSLayerTreeUsageState) | - getViewUsage
| 获取查看用途的状态。 更多...
(FSLayerZoomData *) | - getZoomUsage
| 获取缩放用途的数据。 更多...
(BOOL) | - hasIntent:
| 检查当前图层节点是否具有指定的意图。 更多...
(BOOL) | - hasLayer
| 检查当前图层节点是否与图层关联。 更多...
(id) | - initWithOther:
| 拷贝构造函数。 更多...
(BOOL) | - isEmpty
| 检查当前对象是否为空。 更多...
(BOOL) | - isInPage:
| 检查当前图层节点是否在指定的PDF页面中。 更多...
(BOOL) | - isLocked
| 检查当前图层节点是否被锁定。 更多...
(BOOL) | - moveTo:index:
| 将当前图层节点移动为另一个图层节点的子节点。 更多...
(BOOL) | - removeChild:
| Remove a child node by index. 更多...
(BOOL) | - removeGraphicsObject:
| 从当前图层节点移除图形对象。 更多...
(BOOL) | - removeUsage:
| 移除一种用途属性。 更多...
(BOOL) | - setDefaultVisible:
| 设置默认可见性。 更多...
(BOOL) | - setExportUsage:
| 设置导出用途的状态。 更多...
(BOOL) | - setName:
| 设置当前图层节点的名称。 更多...
(BOOL) | - setPrintUsage:
| 设置图层打印用途的数据。 更多...
(BOOL) | - setViewUsage:
| 设置查看用途的状态。 更多...
(BOOL) | - setZoomUsage:
| 设置图层缩放用途的数据。 更多...

## 详细描述

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

- 要获取/设置图层数据，可以使用以下函数：FSLayerNode::getName， FSLayerNode::getViewUsage，FSLayerNode::getExportUsage，FSLayerNode::getPrintUsage， FSLayerNode::getZoomUsage 以及这些数据的设置函数。
- 要获取属于它的图形，使用函数 FSLayerNode::getGraphicsObjects:； 函数 FSLayerNode::addGraphicsObject:graphicsobject: 和 FSLayerNode::removeGraphicsObject: 可以 用于向图层添加/从图层移除指定的图形对象。

参见
  FSLayerTree

## 函数文档

## ◆ addChild:name:has_Layer:()

- (FSLayerNode *) addChild: |  | (int) | index
name: |  | (NSString *) | name
has_Layer: |  | (BOOL) | has_Layer

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

参数

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

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

## ◆ addGraphicsObject:graphicsobject:()

- (BOOL) addGraphicsObject: |  | (FSPDFPage*) | page
graphicsobject: |  | (FSGraphicsObject*) | graphicsobject

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

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

返回
  YES表示成功，NO表示失败。

## ◆ getAnnots()

- (FSAnnotArray *) getAnnots |  |  |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将直接返回空数组。

返回
  注释数组。

## ◆ getChild:()

- (FSLayerNode *) getChild: |  | (int) | index |

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 FSLayerNode::getChildrenCount.

返回
  A child layer node object.

## ◆ getChildrenCount()

- (int) getChildrenCount |  |  |

Get the count of children nodes.

返回
  The count of children nodes.

## ◆ getDict()

- (FSPDFDictionary *) getDict |  |  |

获取当前对象的PDF字典。

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

返回
  PDF字典。如果当前图层节点的 FSLayerNode::hasLayer 返回NO， 此函数将返回nil。

## ◆ getExportUsage()

- (FSLayerTreeUsageState) getExportUsage |  |  |

获取导出用途的状态。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

返回
  图层用途状态。请参考从 FSLayerTreeStateON 开始的值， 将是这些值中的一个，除了 FSLayerTreeStateUnchanged。

## ◆ getGraphicsObjects:()

- (FSGraphicsObjectArray *) getGraphicsObjects: |  | (FSPDFPage*) | page |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

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

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

## ◆ getName()

- (NSString *) getName |  |  |

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

返回
  图层节点名称。

## ◆ getPrintUsage()

- (FSLayerPrintData *) getPrintUsage |  |  |

获取打印用途的数据。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

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

## ◆ getViewUsage()

- (FSLayerTreeUsageState) getViewUsage |  |  |

获取查看用途的状态。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

返回
  图层用途状态。请参考从 FSLayerTreeStateON 开始的值， 将是这些值中的一个，除了 FSLayerTreeStateUnchanged。

## ◆ getZoomUsage()

- (FSLayerZoomData *) getZoomUsage |  |  |

获取缩放用途的数据。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

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

## ◆ hasIntent:()

- (BOOL) hasIntent: |  | (NSString *) | intent |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。
特别地，当此函数以输入参数"View"返回NO时， 表示与当前图层节点相关的图层将始终可见，不会 受到可见性变化的影响。

参数

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

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

## ◆ hasLayer()

- (BOOL) hasLayer |  |  |

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

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

## ◆ initWithOther:()

- (id) initWithOther: |  | (FSLayerNode*) | other |

拷贝构造函数。

参数

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

## ◆ isEmpty()

- (BOOL) isEmpty |  |  |

检查当前对象是否为空。

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

返回
  YES表示当前对象为空，NO表示不为空。

## ◆ isInPage:()

- (BOOL) isInPage: |  | (FSPDFPage*) | page |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

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

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

## ◆ isLocked()

- (BOOL) isLocked |  |  |

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

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

## ◆ moveTo:index:()

- (BOOL) moveTo: |  | (FSLayerNode*) | parent_layer_node
index: |  | (int) | index

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

参数

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

返回
  YES表示成功，NO表示失败。

## ◆ removeChild:()

- (BOOL) removeChild: |  | (int) | index |

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 FSLayerNode::getChildrenCount.

返回
  YES表示成功，NO表示失败。

## ◆ removeGraphicsObject:()

- (BOOL) removeGraphicsObject: |  | (FSGraphicsObject*) | graphics_object |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。
如果输入图形对象不属于当前图层节点， 此函数将直接返回YES。

参数

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

返回
  YES表示成功，NO表示失败。

## ◆ removeUsage:()

- (BOOL) removeUsage: |  | (FSLayerContextUsageType) | usage_type |

移除一种用途属性。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。
如果当前图层节点没有指定的用途或没有任何用途， 此函数将返回YES。

参数

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

返回
  YES表示成功，NO表示失败。

## ◆ setDefaultVisible:()

- (BOOL) setDefaultVisible: |  | (BOOL) | is_visible |

设置默认可见性。

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

  [in] | is_visible | YES表示可见，NO表示不可见。

返回
  YES表示成功，NO表示失败。

## ◆ setExportUsage:()

- (BOOL) setExportUsage: |  | (FSLayerTreeUsageState) | state |

设置导出用途的状态。

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

参数

  [in] | state | 图层用途状态。应该是以下值之一： FSLayerTreeStateON FSLayerTreeStateOFF FSLayerTreeStateUndefined 表示从当前图层节点移除此属性

返回
  YES表示成功，NO表示失败。

## ◆ setName:()

- (BOOL) setName: |  | (NSString *) | name |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

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

返回
  YES表示成功，NO表示失败。

## ◆ setPrintUsage:()

- (BOOL) setPrintUsage: |  | (FSLayerPrintData*) | data |

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

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

参数

  [in] | data | 图层打印用途的新数据。输入数据的打印状态值 应该是以下值之一： FSLayerTreeStateON FSLayerTreeStateOFF FSLayerTreeStateUndefined 表示从当前图层节点移除此属性

返回
  YES表示成功，NO表示失败。

## ◆ setViewUsage:()

- (BOOL) setViewUsage: |  | (FSLayerTreeUsageState) | state |

设置查看用途的状态。

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

参数

  [in] | state | 图层用途状态。应该是以下值之一： FSLayerTreeStateON FSLayerTreeStateOFF FSLayerTreeStateUndefined 表示从当前图层节点移除此属性

返回
  YES表示成功，NO表示失败。

## ◆ setZoomUsage:()

- (BOOL) setZoomUsage: |  | (FSLayerZoomData*) | data |

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

此函数只能在函数 FSLayerNode::hasLayer 返回YES时使用。 如果当前图层节点没有图层，此函数将抛出异常 FSErrUnsupported。

参数

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

返回
  YES表示成功，NO表示失败。