文档数据结构
IDocumentData
IDocumentData 是 Univer Docs 使用的快照格式。
它用于描述一个完整的文档单元,包括正文、文档级样式、页眉页脚、图片、列表、表格以及插件资源。
属性
| 属性 | 类型 | 描述 |
|---|---|---|
| id | string | 文档单元的唯一 ID。 |
| rev? | number | 文档版本号,用于协同编辑。 |
| locale? | LocaleType | 文档语言环境。 |
| title? | string | 文档标题。 |
| body? | IDocumentBody | 正文富文本内容。详情 |
| documentStyle | IDocumentStyle | 文档级页面、排版、页眉页脚和默认文字样式配置。 |
| settings? | IDocumentSettings | 运行时设置,例如 zoomRatio。 |
| resources? | IResources | 插件资源。 |
| disabled? | boolean | 文档是否禁用。 |
| headers? | IHeaders | 以页眉 ID 为 key 的页眉正文。 |
| footers? | IFooters | 以页脚 ID 为 key 的页脚正文。 |
| lists? | ILists | 段落项目符号使用的列表定义。 |
| drawings? | IDrawings | 图片等绘图对象。 |
| drawingsOrder? | string[] | 绘图对象渲染顺序。 |
| tableSource? | ITables | 被正文引用的表格定义。 |
示例
TypeScript
const documentData: IDocumentData = { id: 'doc-1', title: '示例文档', locale: LocaleType.ZH_CN, body: { dataStream: 'Hello Univer\r\n', textRuns: [ { st: 0, ed: 12, ts: { fs: 14 }, }, ], paragraphs: [ { startIndex: 12, paragraphId: 'paragraph-1', }, ], }, documentStyle: { pageSize: { width: 595, height: 842 }, marginTop: 72, marginBottom: 72, marginLeft: 72, marginRight: 72, },}使用场景
IDocumentData 主要用于:
- 创建 Univer Docs 文档
- 保存 Univer Docs 快照
- 导入或导出
.docx文件 - 通过
ICellData.p在 Sheets 单元格中存储富文本
快照是用于持久化的数据结构。文档运行后不要直接修改快照对象,请通过 Facade API 或命令修改文档内容。
你觉得这篇文档如何?