Foxit PDF SDK
FSLayerNode类 参考
类 FSLayerNode 继承关系图:
FSBase

构造函数

(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::getChildrenCountFSLayerNode::getChild: 有用。
此类提供函数来获取/设置图层数据和属于它的图形。例如:


参见
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_LayerYES表示新子图层节点将与图层关联, 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]indexIndex 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]indexIndex 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_visibleYES表示可见,NO表示不可见。
返回
YES表示成功,NO表示失败。

◆ setExportUsage:()

- (BOOL) setExportUsage: (FSLayerTreeUsageState state

设置导出用途的状态。

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

参数
[in]state图层用途状态。应该是以下值之一:
返回
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图层打印用途的新数据。输入数据的打印状态值 应该是以下值之一:
返回
YES表示成功,NO表示失败。

◆ setViewUsage:()

- (BOOL) setViewUsage: (FSLayerTreeUsageState state

设置查看用途的状态。

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

参数
[in]state图层用途状态。应该是以下值之一:
返回
YES表示成功,NO表示失败。

◆ setZoomUsage:()

- (BOOL) setZoomUsage: (FSLayerZoomData*)  data

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

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

参数
[in]data图层缩放用途的新数据。
返回
YES表示成功,NO表示失败。