PDF 图层(在 <PDF reference 1.7> 中称为 "可选内容组")是图形的集合 (在 Foxit PDF SDK 中称为 FSDK.GraphicsObject),可以设置为可见或不可见。这些属于 同一图层的图形可以位于文档中的任何位置:它们不需要在绘制顺序上连续, 甚至不需要属于同一内容流。
在 Foxit PDF SDK 中,PDF 图层与图层节点关联,Foxit PDF SDK 提供类和方法 通过图层节点获取/设置图层数据。如果用户想要检索图层节点,用户必须先构造 图层树对象,然后调用函数 FSDK.LayerTree.GetRootNode 获取 整个图层树的根图层节点。这里,"根图层节点" 是一个抽象对象。"根图层节点" 只能有 一些子图层节点但没有父节点,或任何数据(如名称、意图等)。并且 "根图层节点" 不能 在应用程序 UI 上显示,因为它没有数据。因此,对于根图层节点,只有函数 FSDK.LayerNode.GetChildrenCount 和 FSDK.LayerNode.GetChild 是有用的。
此类提供函数来获取/设置图层数据及其所属的图形。例如:
- 参见
- FSDK.LayerTree
◆ AddChild()
| FSDK::LayerNode::AddChild |
( |
|
index, |
|
|
|
name, |
|
|
|
has_Layer |
|
) |
| |
|
inline |
为当前图层节点添加新的子图层节点。
- 参数
-
| [in] | index | 新子图层节点的子节点索引。有效范围:从 0 到 count。 count 表示成为当前图层节点的最后一个子节点, 由函数 FSDK.LayerNode.GetChildrenCount 为当前图层节点返回。 |
| [in] | name | 新图层节点的名称。它不应为空字符串。 |
| [in] | has_Layer | true 表示新的子图层节点将与图层关联, 而 false 表示新的子图层节点不与图层关联。 |
- 返回
- 指定新子图层节点的图层节点对象。
◆ AddGraphicsObject()
| FSDK::LayerNode::AddGraphicsObject |
( |
|
page, |
|
|
|
graphicsobject |
|
) |
| |
|
inline |
◆ GetAnnots()
| FSDK::LayerNode::GetAnnots |
( |
| ) |
|
|
inline |
◆ GetChild()
| FSDK::LayerNode::GetChild |
( |
|
index | ) |
|
|
inline |
◆ GetChildrenCount()
| FSDK::LayerNode::GetChildrenCount |
( |
| ) |
|
|
inline |
◆ GetDict()
| FSDK::LayerNode::GetDict |
( |
| ) |
|
|
inline |
获取当前对象的 PDF 字典。
- 注解
- 有关详细信息,请参阅 <PDF Reference 1.7> 第 364 页中的 "Optional Content Groups"。
- 返回
- PDF 字典。如果当前图层节点的 FSDK.LayerNode.HasLayer 返回 false, 此函数将返回 null。
◆ GetExportUsage()
| FSDK::LayerNode::GetExportUsage |
( |
| ) |
|
|
inline |
◆ GetGraphicsObjects()
| FSDK::LayerNode::GetGraphicsObjects |
( |
|
page | ) |
|
|
inline |
◆ GetName()
| FSDK::LayerNode::GetName |
( |
| ) |
|
|
inline |
◆ GetPrintUsage()
| FSDK::LayerNode::GetPrintUsage |
( |
| ) |
|
|
inline |
◆ GetViewUsage()
| FSDK::LayerNode::GetViewUsage |
( |
| ) |
|
|
inline |
◆ GetZoomUsage()
| FSDK::LayerNode::GetZoomUsage |
( |
| ) |
|
|
inline |
◆ HasIntent()
| FSDK::LayerNode::HasIntent |
( |
|
intent | ) |
|
|
inline |
检查当前图层节点是否具有指定的意图。
此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。
特别地,当此函数使用输入参数 "View" 返回 false 时, 意味着与当前图层节点相关的图层将始终可见,并且不会 受到可见性变化的影响。
- 参数
-
| [in] | intent | 要检查的意图名称。它不应为空字符串。 预定义的意图名称是 "View" 和 "Design"。 |
- 返回
- true 表示当前图层节点具有指定的意图, 而 false 表示当前图层节点不具有指定的意图。
◆ HasLayer()
| FSDK::LayerNode::HasLayer |
( |
| ) |
|
|
inline |
检查当前图层节点是否与图层关联。
- 返回
- true 表示当前图层节点与图层关联, 而 false 表示当前图层节点不与图层关联。
◆ IsEmpty()
| FSDK::LayerNode::IsEmpty |
( |
| ) |
|
|
inline |
检查当前对象是否为空。
当当前对象为空时,意味着当前对象无用。
- 返回
- true 表示当前对象为空,而 false 表示不为空。
◆ IsInPage()
| FSDK::LayerNode::IsInPage |
( |
|
page | ) |
|
|
inline |
◆ IsLocked()
| FSDK::LayerNode::IsLocked |
( |
| ) |
|
|
inline |
检查当前图层节点是否被锁定。
- 返回
- true 表示当前图层节点被锁定, 而 false 表示当前图层节点未被锁定。
◆ MoveTo()
| FSDK::LayerNode::MoveTo |
( |
|
parent_layer_node, |
|
|
|
index |
|
) |
| |
|
inline |
将当前图层节点移动为另一个图层节点的子节点之一。
- 参数
-
| [in] | parent_layer_node | 目标图层节点。它不应是当前图层节点本身或 当前图层节点的任何后代。当前图层节点将被移动为 目标图层节点的子节点之一。 |
| [in] | index | 子节点索引,指定当前图层节点将作为目标图层节点的 哪个子节点被移动到的位置。有效范围:从 0 到 count。 count 表示成为目标图层节点的最后一个子节点, 由函数 FSDK.LayerNode.GetChildrenCount 为参数 parent_layer_node 返回。 |
- 返回
- true 表示成功,而 false 表示失败。
◆ RemoveChild()
| FSDK::LayerNode::RemoveChild |
( |
|
index | ) |
|
|
inline |
按索引删除子节点。
- 参数
-
- 返回
- true 表示成功,而 false 表示失败。
◆ RemoveGraphicsObject()
| FSDK::LayerNode::RemoveGraphicsObject |
( |
|
graphics_object | ) |
|
|
inline |
◆ RemoveUsage()
| FSDK::LayerNode::RemoveUsage |
( |
|
usage_type | ) |
|
|
inline |
◆ SetDefaultVisible()
| FSDK::LayerNode::SetDefaultVisible |
( |
|
is_visible | ) |
|
|
inline |
◆ SetExportUsage()
| FSDK::LayerNode::SetExportUsage |
( |
|
state | ) |
|
|
inline |
◆ SetName()
| FSDK::LayerNode::SetName |
( |
|
name | ) |
|
|
inline |
◆ SetPrintUsage()
| FSDK::LayerNode::SetPrintUsage |
( |
|
data | ) |
|
|
inline |
设置图层打印用途的数据。
如果用户希望新状态对渲染结果产生影响,请在此函数成功后构造一个新的图层上下文对象, 然后使用新的图层上下文对象进行渲染。
此函数只能在函数 FSDK.LayerNode.HasLayer 返回 true 时使用。 如果当前图层节点没有图层,此函数将抛出异常 FSDK.e_ErrUnsupported。
- 参数
-
| [in] | data | 图层打印用途的新数据。输入数据的 print state 值 应该是以下值之一:
|
- 返回
- true 表示成功,而 false 表示失败。
◆ SetViewUsage()
| FSDK::LayerNode::SetViewUsage |
( |
|
state | ) |
|
|
inline |
◆ SetZoomUsage()
| FSDK::LayerNode::SetZoomUsage |
( |
|
data | ) |
|
|
inline |