Foxit PDF SDK

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

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

## 详细描述

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

拷贝构造函数。

参数

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

## 成员函数说明

## ◆ AddChild()

LayerNode foxit::pdf::LayerNode::AddChild | ( | int | index,
|  | const wchar_t * | name,
|  | bool | has_Layer
| ) |  |

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

参数

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

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

## ◆ AddGraphicsObject()

bool foxit::pdf::LayerNode::AddGraphicsObject | ( | const PDFPage & | page,
|  | graphics::GraphicsObject * | graphicsobject
| ) |  |

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

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

参数

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

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

## ◆ GetAnnots()

foxit::pdf::annots::AnnotArray foxit::pdf::LayerNode::GetAnnots | ( |  | ) |

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

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

返回
  注释数组。

## ◆ GetChild()

LayerNode foxit::pdf::LayerNode::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 LayerNode::GetChildrenCount.

返回
  A child layer node object.

## ◆ GetChildrenCount()

int foxit::pdf::LayerNode::GetChildrenCount | ( |  | ) |

Get the count of children nodes.

返回
  The count of children nodes.

## ◆ GetDict()

objects::PDFDictionary* foxit::pdf::LayerNode::GetDict | ( |  | ) | const

获取当前对象的PDF字典。

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

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

## ◆ GetExportUsage()

LayerTree::UsageState foxit::pdf::LayerNode::GetExportUsage | ( |  | ) |

获取导出用途的状态。

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

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

## ◆ GetGraphicsObjects()

graphics::GraphicsObjectArray foxit::pdf::LayerNode::GetGraphicsObjects | ( | const PDFPage & | page | ) |

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

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

参数

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

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

## ◆ GetName()

WString foxit::pdf::LayerNode::GetName | ( |  | ) |

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

返回
  图层节点名称。

## ◆ GetPrintUsage()

LayerPrintData foxit::pdf::LayerNode::GetPrintUsage | ( |  | ) |

获取打印用途的数据。

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

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

## ◆ GetViewUsage()

LayerTree::UsageState foxit::pdf::LayerNode::GetViewUsage | ( |  | ) |

获取查看用途的状态。

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

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

## ◆ GetZoomUsage()

LayerZoomData foxit::pdf::LayerNode::GetZoomUsage | ( |  | ) |

获取缩放用途的数据。

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

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

## ◆ HasIntent()

bool foxit::pdf::LayerNode::HasIntent | ( | const char * | intent | ) |

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

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

参数

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

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

## ◆ HasLayer()

bool foxit::pdf::LayerNode::HasLayer | ( |  | ) |

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

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

## ◆ IsEmpty()

bool foxit::pdf::LayerNode::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

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

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

## ◆ IsInPage()

bool foxit::pdf::LayerNode::IsInPage | ( | const PDFPage & | page | ) |

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

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

参数

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

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

## ◆ IsLocked()

bool foxit::pdf::LayerNode::IsLocked | ( |  | ) |

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

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

## ◆ MoveTo()

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

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

参数

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

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

## ◆ operator !=()

bool foxit::pdf::LayerNode::operator != | ( | const LayerNode & | other | ) | const

不等于运算符。

参数

  [in] | other | 另一个图层节点对象。此函数将检查当前对象是否不等于这个对象。

返回
  true表示不相等，false表示相等。

## ◆ operator=()

LayerNode& foxit::pdf::LayerNode::operator= | ( | const LayerNode & | other | ) |

赋值运算符。

参数

  [in] | other | 另一个图层节点对象，其值将被赋给当前对象。

返回
  对当前对象本身的引用。

## ◆ operator==()

bool foxit::pdf::LayerNode::operator== | ( | const LayerNode & | other | ) | const

等于运算符。

参数

  [in] | other | 另一个图层节点对象。此函数将检查当前对象是否等于这个对象。

返回
  true表示相等，false表示不相等。

## ◆ RemoveChild()

bool foxit::pdf::LayerNode::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 LayerNode::GetChildrenCount.

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

## ◆ RemoveGraphicsObject()

bool foxit::pdf::LayerNode::RemoveGraphicsObject | ( | graphics::GraphicsObject * | graphics_object | ) |

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

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

参数

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

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

## ◆ RemoveUsage()

bool foxit::pdf::LayerNode::RemoveUsage | ( | LayerContext::UsageType | usage_type | ) |

移除一种用途属性。

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

参数

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

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

## ◆ SetDefaultVisible()

bool foxit::pdf::LayerNode::SetDefaultVisible | ( | bool | is_visible | ) |

设置默认可见性。

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

参数

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

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

## ◆ SetExportUsage()

bool foxit::pdf::LayerNode::SetExportUsage | ( | LayerTree::UsageState | state | ) |

设置导出用途的状态。

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

参数

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

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

## ◆ SetName()

bool foxit::pdf::LayerNode::SetName | ( | const wchar_t * | name | ) |

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

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

参数

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

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

## ◆ SetPrintUsage()

bool foxit::pdf::LayerNode::SetPrintUsage | ( | const LayerPrintData & | data | ) |

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

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

参数

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

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

## ◆ SetViewUsage()

bool foxit::pdf::LayerNode::SetViewUsage | ( | LayerTree::UsageState | state | ) |

设置查看用途的状态。

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

参数

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

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

## ◆ SetZoomUsage()

bool foxit::pdf::LayerNode::SetZoomUsage | ( | const LayerZoomData & | data | ) |

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

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

参数

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

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