---
type: Guide
title:
  en-US: LabelHub
  zh-CN: 标注控制器
order: 12
---

### 构造参数

| 名称        | 类型               | 描述                                  |
|---------------|--------------------|-------------------------------------|
| `dev` | `boolean` | 开启开发模式，将会打印所有 hub 的核心方法执行过程，以及执行时间 |
| `logUnhandledEvents` | `boolean` |打印未处理事件 |
| `logAllEvents` | `boolean` | 打印所有日志|
| `logIgnoreEvents` | `string[]` | 忽略的事件|


### 成员属性
| 名称        | 类型               | 描述                                  |
|---------------|--------------------|-------------------------------------|
| `ready$` | `BehaviorSubject<boolean>` | 在标注引擎准备好标注的准备工作后触发 |
| `searchResult$` | `BehaviorSubject<ISearchResult>` |搜索结果 |
| `pagination$` | `BehaviorSubject<IPagination>` | 页码|
| `zoom$` | `BehaviorSubject<number>` | 缩放比 |


### 成员方法

| 名称                   | 类型                  | 描述                |
|--------------------------|---------------------------|-------------------|
| `init`                | `(options: IInitOptions) => void`            | 初始化标注器|
| `setLabels`           | `(labels: ILabel[]) => void`                 | 设置标注列表 |
| `setTables`           | `(labels: any) => void`                      | 设置表格标注列表|
| `setPagination`       | `(pagination: IPagination)=> void`           | 修改页码|
| `setZoom`             | `(zoom: number) => void`                     | 修改缩放比|
| `setLabelMode`        | `(mode: LabelTextMode | LabelTableMode) => void`| 修改标注模式|
| `setPdfMode`          | `(mode: PdfMode) => void`                    | 修改引擎模式|
| `search`              | `(params: ISerarchParams) => void`           | 搜索|
| `stopLabeling`        | `() => void`                                 | 停止标注 |
| `restore`             | `() => void`                                 | 丢掉临时标注重新渲染 |
| `scrollToLabelByUuid` | `(params: ISearchLabelByUuidParams) => void` | 通过uuid滚动到某个标注|
| `scrollToLabelByIndex`|`(params: ISearchLabelByIndexParams) => void` | 通过索引跳转到某个标注|
| `scrollToTableCell`|`(params: ISearchTableCellParams) => void` | 通过坐标跳转到某个单元格|
| `getTableMatrix`      | `() => any`                                  | 获取表格标注数据|
| `getViewport`         | `() => IViewPort[]`                           | 获取页面的显示相关信息|
| `resetLabelsStyle`      | `(params: ILabelStyle[]) => void`           | 重置已渲染标注填充色和边框|
| `resetSelectedLabels`      | `(params: string[]) => void`             | 重置选中的标注|
| `getSelectedLabels`      | `() => []ILabel`                           | 获取所有被选中的标注数据|
| `getDocContent`      | `() => string`                                 | 获取文档文本内容|
| `enableMergeOrSplitTables`      | `(enable = false) => void`          | 是否启用跨页表格合并|

### 类型定义

你可以在构建产物中获取类型，以上所有类型均在 `@bixi/label` 根级目录有导出

``` typescript
import { ILabel } from '@bixi/label';

const labels = ILabel[];
```

或者直接在[源码](https://git.datagrand.com/frontend_utils/bixi/blob/master/packages/label/src/label.type.ts)中查看类型定义
