PDF图层(在<PDF reference 1.7>中称为"可选内容组")是可以使其可见或不可见的 图形集合(在Foxit PDF SDK中称为 graphics::GraphicsObject)。属于同一图层的这些图形 可以位于文档中的任何位置:它们不需要在绘制顺序中连续,甚至不需要属于同一内容流。
在Foxit PDF SDK中,PDF图层与图层节点关联,Foxit PDF SDK提供类和方法 通过图层节点获取/设置图层数据。如果用户想要检索图层节点,用户必须首先构造 图层树对象,然后调用函数 LayerTree::GetRootNode 获取 整个图层树的根图层节点。这里,"根图层节点"是一个抽象对象。"根图层节点"只能有 一些子图层节点但没有父节点,或任何数据(如名称、意图等)。而且"根图层节点"不能 在应用程序UI上显示,因为它没有数据。因此,对于根图层节点,只有函数 LayerNode::GetChildrenCount 和 LayerNode::GetChild 有用。
此类提供函数来获取/设置图层数据和属于它的图形。例如:
- 参见
- LayerTree
◆ LayerNode()
| foxit::pdf::LayerNode::LayerNode |
( |
const LayerNode & |
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()
◆ GetAnnots()
◆ 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()
获取当前对象的PDF字典。
- 注解
- 请参考<PDF Reference 1.7> P364中的"Optional Content Groups"了解更多详情。
- 返回
- PDF字典。如果当前图层节点的 LayerNode::HasLayer 返回false, 此函数将返回NULL。
◆ GetExportUsage()
◆ GetGraphicsObjects()
◆ GetName()
| WString foxit::pdf::LayerNode::GetName |
( |
| ) |
|
◆ GetPrintUsage()
◆ GetViewUsage()
◆ GetZoomUsage()
◆ 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 | ) |
|
◆ 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=()
赋值运算符。
- 参数
-
| [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()
◆ RemoveUsage()
◆ SetDefaultVisible()
| bool foxit::pdf::LayerNode::SetDefaultVisible |
( |
bool |
is_visible | ) |
|
◆ SetExportUsage()
设置导出用途的状态。
如果用户希望新状态对渲染结果生效,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象来渲染器进行渲染。
此函数只能在函数 LayerNode::HasLayer 返回true时使用。 如果当前图层节点没有图层,此函数将抛出异常 foxit::e_ErrUnsupported。
- 参数
-
| [in] | state | 图层用途状态。应该是以下值之一:
|
- 返回
- true表示成功,false表示失败。
◆ SetName()
| bool foxit::pdf::LayerNode::SetName |
( |
const wchar_t * |
name | ) |
|
◆ SetPrintUsage()
| bool foxit::pdf::LayerNode::SetPrintUsage |
( |
const LayerPrintData & |
data | ) |
|
设置图层打印用途的数据。
如果用户希望新状态对渲染结果生效,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象来渲染器进行渲染。
此函数只能在函数 LayerNode::HasLayer 返回true时使用。 如果当前图层节点没有图层,此函数将抛出异常 foxit::e_ErrUnsupported。
- 参数
-
| [in] | data | 图层打印用途的新数据。输入数据的打印状态值 应该是以下值之一:
|
- 返回
- true表示成功,false表示失败。
◆ SetViewUsage()
设置查看用途的状态。
如果用户希望新状态对渲染结果生效,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象来渲染器进行渲染。
此函数只能在函数 LayerNode::HasLayer 返回true时使用。 如果当前图层节点没有图层,此函数将抛出异常 foxit::e_ErrUnsupported。
- 参数
-
| [in] | state | 图层用途状态。应该是以下值之一:
|
- 返回
- true表示成功,false表示失败。
◆ SetZoomUsage()
| bool foxit::pdf::LayerNode::SetZoomUsage |
( |
const LayerZoomData & |
data | ) |
|