Foxit PDF SDK

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

## Public 类型
enum | OrderType { e_None = 0x0000, e_Row = 0x0001, e_Column = 0x0002, e_Structure = 0x0003 }
| Tab键顺序类型的枚举。 更多...

## Public 成员函数
| TabOrderMgr (const PDFPage &page)
| 从PDF页面对象构造。 更多...
| TabOrderMgr (const TabOrderMgr &other)
| 带另一个Tab键顺序管理器对象的构造函数。 更多...
| ~TabOrderMgr ()
| 析构函数。
bool | AdjustStructureOrder (const annots::AnnotArray &annot_array)
| 使用指定注释调整结构顺序，Tab键顺序类型将同时设置为TabOrderMgr::e_Structure。 更多...
annots::Annot | GetFirstAnnot ()
| 获取当前Tab键顺序中的第一个注释。 更多...
annots::Annot | GetLastAnnot ()
| 获取当前Tab键顺序中的最后一个注释。 更多...
annots::Annot | GetNextAnnot (const annots::Annot &annot)
| 获取当前Tab键顺序中指定注释的下一个注释。 更多...
OrderType | GetOrderType () const
| 获取Tab键顺序类型。 更多...
annots::Annot | GetPrevAnnot (const annots::Annot &annot)
| 获取当前Tab键顺序中指定注释的前一个注释。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const TabOrderMgr &other) const
| 不相等操作符。 更多...
TabOrderMgr & | operator= (const TabOrderMgr &other)
| 赋值操作符。 更多...
bool | operator== (const TabOrderMgr &other) const
| 相等操作符。 更多...
void | Reload ()
| 重新加载注释的Tab键顺序。 更多...
void | SetOrderType (OrderType order_type)
| 设置Tab键顺序类型。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

Tab键顺序是在PDF页面上使用键盘Tab键在注释间导航的顺序。 此类提供了管理在PDF页面上注释间移动键盘焦点顺序的功能。 Tab键顺序管理器将忽略以下类型的注释：
作为回复注释的备注注释、作为状态注释的备注注释、 弹出注释、标志包含annots::Annot::e_FlagHidden的注释。
此类提供了获取顺序类型和按顺序类型逐个获取注释的功能。 此类还提供了更改顺序类型的功能：

- TabOrderMgr::SetOrderType可用于更改Tab键顺序类型。 特别地，如果Tab键顺序类型更改为TabOrderMgr::e_Structure， 可以调用TabOrderMgr::AdjustStructureOrder函数来设置顺序。
- 可以直接调用TabOrderMgr::AdjustStructureOrder函数将顺序类型 更改为结构顺序并同时设置结构顺序。

在使用TabOrderMgr::SetOrderType或调用TabOrderMgr::AdjustStructureOrder 函数后，应该调用TabOrderMgr::Reload函数； 否则注释的顺序可能不会按预期更改。

参见
  PDFPage
  annots::Annot

## 成员枚举类型说明

## ◆ OrderType

enum foxit::pdf::TabOrderMgr::OrderType

Tab键顺序类型的枚举。

此枚举的值应该单独使用。

枚举值
e_None | 无（索引顺序）：注释按照其在页面中的索引顺序访问。
e_Row | R（行顺序）：注释按照从左到右横跨页面的行顺序访问。
e_Column | C（列顺序）：注释按照从上到下垂直穿过页面的列顺序访问。
e_Structure | S（结构顺序）：注释按照它们在结构树中出现的顺序访问。

## 构造及析构函数说明

## ◆ TabOrderMgr() [1/2]

foxit::pdf::TabOrderMgr::TabOrderMgr | ( | const PDFPage & | page | ) |
| explicit

从PDF页面对象构造。

参数

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

## ◆ TabOrderMgr() [2/2]

foxit::pdf::TabOrderMgr::TabOrderMgr | ( | const TabOrderMgr & | other | ) |

带另一个Tab键顺序管理器对象的构造函数。

参数

  [in] | other | 另一个Tab键顺序管理器对象。

## 成员函数说明

## ◆ AdjustStructureOrder()

bool foxit::pdf::TabOrderMgr::AdjustStructureOrder | ( | const annots::AnnotArray & | annot_array | ) |

使用指定注释调整结构顺序，Tab键顺序类型将同时设置为TabOrderMgr::e_Structure。

此函数用于调整结构Tab键顺序的注释顺序。 首先，根据输入数组中的顺序重新排序输入数组中的注释， 然后根据PDF文档的阅读方向重新排序其余注释（未包含在输入数组中的注释）。
此函数成功后，相关PDF页面中所有注释的索引都将更改。

参数

  [in] | annot_array | 将首先为结构Tab键顺序重新排序的注释数组。 此数组中的所有注释都应属于与当前Tab键顺序管理器相关的同一页面。 这些注释都应该是有效的，并且应该彼此不同。

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

## ◆ GetFirstAnnot()

annots::Annot foxit::pdf::TabOrderMgr::GetFirstAnnot | ( |  | ) |

获取当前Tab键顺序中的第一个注释。

返回
  第一个注释。如果返回的注释对象的annots::Annot::IsEmpty函数返回值为true， 则表示没有注释。

## ◆ GetLastAnnot()

annots::Annot foxit::pdf::TabOrderMgr::GetLastAnnot | ( |  | ) |

获取当前Tab键顺序中的最后一个注释。

返回
  最后一个注释。如果返回的注释对象的annots::Annot::IsEmpty函数返回值为true， 则表示没有注释。

## ◆ GetNextAnnot()

annots::Annot foxit::pdf::TabOrderMgr::GetNextAnnot | ( | const annots::Annot & | annot | ) |

获取当前Tab键顺序中指定注释的下一个注释。

参数

  [in] | annot | 有效的指定注释。

返回
  下一个注释。如果返回的注释对象的annots::Annot::IsEmpty函数返回值为true， 则表示指定注释是当前Tab键顺序中的最后一个注释。

## ◆ GetOrderType()

OrderType foxit::pdf::TabOrderMgr::GetOrderType | ( |  | ) | const

获取Tab键顺序类型。

返回
  Tab键顺序类型。请参考从TabOrderMgr::e_None开始的值， 这将是这些值中的一个。

## ◆ GetPrevAnnot()

annots::Annot foxit::pdf::TabOrderMgr::GetPrevAnnot | ( | const annots::Annot & | annot | ) |

获取当前Tab键顺序中指定注释的前一个注释。

参数

  [in] | annot | 有效的指定注释。

返回
  前一个注释。如果返回的注释对象的annots::Annot::IsEmpty函数返回值为true， 则表示指定注释是当前Tab键顺序中的第一个注释。

## ◆ IsEmpty()

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

检查当前对象是否为空。

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

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

## ◆ operator!=()

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

不相等操作符。

参数

  [in] | other | 另一个Tab键顺序管理器对象。此函数将检查当前对象是否不等于此对象。

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

## ◆ operator=()

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

赋值操作符。

参数

  [in] | other | 另一个Tab键顺序管理器对象，其值将被赋给当前对象。

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

## ◆ operator==()

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

相等操作符。

参数

  [in] | other | 另一个Tab键顺序管理器对象。此函数将检查当前对象是否等于此对象。

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

## ◆ Reload()

void foxit::pdf::TabOrderMgr::Reload | ( |  | ) |

重新加载注释的Tab键顺序。

在以下情况下应该调用此函数：

- 相关PDF页面中的任何注释被移动/删除/添加；
- 相关页面的旋转发生更改；
- 相关PDF文档的阅读方向发生更改；
- 使用TabOrderMgr::SetOrderType或调用TabOrderMgr::AdjustStructureOrder 函数来更改Tab键顺序类型或结构顺序。

返回
  无。

## ◆ SetOrderType()

void foxit::pdf::TabOrderMgr::SetOrderType | ( | OrderType | order_type | ) |

设置Tab键顺序类型。

参数

  [in] | order_type | 新的Tab键顺序类型。应为以下值之一： TabOrderMgr::e_None：表示不使用Tab键顺序。 TabOrderMgr::e_Row：表示使用行顺序。 TabOrderMgr::e_Column：表示使用列顺序。 TabOrderMgr::e_Structure：表示使用结构顺序，然后可以调用 TabOrderMgr::AdjustStructureOrder函数来设置顺序。

返回
  无。