Foxit PDF SDK

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

## Public 成员函数
| LayerNode (LayerNode other)
| 拷贝构造函数。 更多...
LayerNode | addChild (int index, String name, boolean has_Layer) throws com.foxit.sdk.PDFException
| 为当前图层节点添加一个新的图层节点作为子节点。 更多...
boolean | addGraphicsObject (PDFPage page, GraphicsObject graphicsobject) throws com.foxit.sdk.PDFException
| 向当前图层节点添加图形对象。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
AnnotArray | getAnnots () throws com.foxit.sdk.PDFException
| 获取与当前图层节点相关的注释数组。 更多...
LayerNode | getChild (int index) throws com.foxit.sdk.PDFException
| Get a child node. 更多...
int | getChildrenCount () throws com.foxit.sdk.PDFException
| Get the count of children nodes. 更多...
PDFDictionary | getDict () throws com.foxit.sdk.PDFException
| 获取当前对象的PDF字典。 更多...
int | getExportUsage () throws com.foxit.sdk.PDFException
| 获取导出用途的状态。 更多...
GraphicsObjectArray | getGraphicsObjects (PDFPage page) throws com.foxit.sdk.PDFException
| 获取与当前图层节点关联的图层相关的所有图形对象。 更多...
String | getName () throws com.foxit.sdk.PDFException
| 获取当前图层节点的名称。 更多...
LayerPrintData | getPrintUsage () throws com.foxit.sdk.PDFException
| 获取打印用途的数据。 更多...
int | getViewUsage () throws com.foxit.sdk.PDFException
| 获取查看用途的状态。 更多...
LayerZoomData | getZoomUsage () throws com.foxit.sdk.PDFException
| 获取缩放用途的数据。 更多...
boolean | hasIntent (String intent) throws com.foxit.sdk.PDFException
| 检查当前图层节点是否具有指定的意图。 更多...
boolean | hasLayer () throws com.foxit.sdk.PDFException
| 检查当前图层节点是否与图层关联。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...
boolean | isInPage (PDFPage page) throws com.foxit.sdk.PDFException
| 检查当前图层节点是否在指定的PDF页面中。 更多...
boolean | isLocked () throws com.foxit.sdk.PDFException
| 检查当前图层节点是否被锁定。 更多...
boolean | moveTo (LayerNode parent_layer_node, int index) throws com.foxit.sdk.PDFException
| 将当前图层节点移动为另一个图层节点的子节点。 更多...
boolean | removeChild (int index) throws com.foxit.sdk.PDFException
| Remove a child node by index. 更多...
boolean | removeGraphicsObject (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
| 从当前图层节点移除图形对象。 更多...
boolean | removeUsage (int usage_type) throws com.foxit.sdk.PDFException
| 移除一种用途属性。 更多...
boolean | setDefaultVisible (boolean is_visible) throws com.foxit.sdk.PDFException
| 设置默认可见性。 更多...
boolean | setExportUsage (int state) throws com.foxit.sdk.PDFException
| 设置导出用途的状态。 更多...
boolean | setName (String name) throws com.foxit.sdk.PDFException
| 设置当前图层节点的名称。 更多...
boolean | setPrintUsage (LayerPrintData data) throws com.foxit.sdk.PDFException
| 设置图层打印用途的数据。 更多...
boolean | setViewUsage (int state) throws com.foxit.sdk.PDFException
| 设置查看用途的状态。 更多...
boolean | setZoomUsage (LayerZoomData data) throws com.foxit.sdk.PDFException
| 设置图层缩放用途的数据。 更多...

## 详细描述

PDF图层（在<PDF reference 1.7>中称为"可选内容组"）是可以使其可见或不可见的 图形集合（在Foxit PDF SDK中称为 com.foxit.sdk.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()

com.foxit.sdk.pdf.LayerNode.LayerNode | ( | LayerNode | other | ) |

拷贝构造函数。

参数

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

## 成员函数说明

## ◆ addChild()

LayerNode com.foxit.sdk.pdf.LayerNode.addChild | ( | int | index,
|  | String | name,
|  | boolean | has_Layer
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ addGraphicsObject()

boolean com.foxit.sdk.pdf.LayerNode.addGraphicsObject | ( | PDFPage | page,
|  | GraphicsObject | graphicsobject
| ) |  | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ delete()

synchronized void com.foxit.sdk.pdf.LayerNode.delete | ( |  | ) |

直接清除C++相关资源。

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

重载 com.foxit.sdk.common.Base .

## ◆ getAnnots()

AnnotArray com.foxit.sdk.pdf.LayerNode.getAnnots | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

返回
  注释数组。

## ◆ getChild()

LayerNode com.foxit.sdk.pdf.LayerNode.getChild | ( | int | index | ) | throws com.foxit.sdk.PDFException

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 com.foxit.sdk.pdf.LayerNode.getChildrenCount | ( |  | ) | throws com.foxit.sdk.PDFException

Get the count of children nodes.

返回
  The count of children nodes.

## ◆ getDict()

PDFDictionary com.foxit.sdk.pdf.LayerNode.getDict | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前对象的PDF字典。

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

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

## ◆ getExportUsage()

int com.foxit.sdk.pdf.LayerNode.getExportUsage | ( |  | ) | throws com.foxit.sdk.PDFException

获取导出用途的状态。

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

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

## ◆ getGraphicsObjects()

GraphicsObjectArray com.foxit.sdk.pdf.LayerNode.getGraphicsObjects | ( | PDFPage | page | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ getName()

String com.foxit.sdk.pdf.LayerNode.getName | ( |  | ) | throws com.foxit.sdk.PDFException

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

返回
  图层节点名称。

## ◆ getPrintUsage()

LayerPrintData com.foxit.sdk.pdf.LayerNode.getPrintUsage | ( |  | ) | throws com.foxit.sdk.PDFException

获取打印用途的数据。

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

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

## ◆ getViewUsage()

int com.foxit.sdk.pdf.LayerNode.getViewUsage | ( |  | ) | throws com.foxit.sdk.PDFException

获取查看用途的状态。

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

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

## ◆ getZoomUsage()

LayerZoomData com.foxit.sdk.pdf.LayerNode.getZoomUsage | ( |  | ) | throws com.foxit.sdk.PDFException

获取缩放用途的数据。

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

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

## ◆ hasIntent()

boolean com.foxit.sdk.pdf.LayerNode.hasIntent | ( | String | intent | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ hasLayer()

boolean com.foxit.sdk.pdf.LayerNode.hasLayer | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ isEmpty()

boolean com.foxit.sdk.pdf.LayerNode.isEmpty | ( |  | ) |

检查当前对象是否为空。

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

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

## ◆ isInPage()

boolean com.foxit.sdk.pdf.LayerNode.isInPage | ( | PDFPage | page | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ isLocked()

boolean com.foxit.sdk.pdf.LayerNode.isLocked | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ moveTo()

boolean com.foxit.sdk.pdf.LayerNode.moveTo | ( | LayerNode | parent_layer_node,
|  | int | index
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ removeChild()

boolean com.foxit.sdk.pdf.LayerNode.removeChild | ( | int | index | ) | throws com.foxit.sdk.PDFException

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()

boolean com.foxit.sdk.pdf.LayerNode.removeGraphicsObject | ( | GraphicsObject | graphics_object | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ removeUsage()

boolean com.foxit.sdk.pdf.LayerNode.removeUsage | ( | int | usage_type | ) | throws com.foxit.sdk.PDFException

移除一种用途属性。

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

参数

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

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

## ◆ setDefaultVisible()

boolean com.foxit.sdk.pdf.LayerNode.setDefaultVisible | ( | boolean | is_visible | ) | throws com.foxit.sdk.PDFException

设置默认可见性。

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

参数

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

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

## ◆ setExportUsage()

boolean com.foxit.sdk.pdf.LayerNode.setExportUsage | ( | int | state | ) | throws com.foxit.sdk.PDFException

设置导出用途的状态。

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

参数

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

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

## ◆ setName()

boolean com.foxit.sdk.pdf.LayerNode.setName | ( | String | name | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ setPrintUsage()

boolean com.foxit.sdk.pdf.LayerNode.setPrintUsage | ( | LayerPrintData | data | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ setViewUsage()

boolean com.foxit.sdk.pdf.LayerNode.setViewUsage | ( | int | state | ) | throws com.foxit.sdk.PDFException

设置查看用途的状态。

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

参数

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

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

## ◆ setZoomUsage()

boolean com.foxit.sdk.pdf.LayerNode.setZoomUsage | ( | LayerZoomData | data | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

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