Foxit PDF SDK
foxit::pdf::LayerNode类 参考
类 foxit::pdf::LayerNode 继承关系图:
foxit::Base

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::PDFDictionaryGetDict () 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
 不等于运算符。 更多...
 
LayerNodeoperator= (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::GetChildrenCountLayerNode::GetChild 有用。
此类提供函数来获取/设置图层数据和属于它的图形。例如:

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

◆ SetExportUsage()

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

设置导出用途的状态。

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

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

◆ SetViewUsage()

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

设置查看用途的状态。

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

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

◆ SetZoomUsage()

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

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

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

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