# Структура данных документа

- Human documentation: [https://docs.univer.ai/ru-RU/guides/docs/model/document-data](https://docs.univer.ai/ru-RU/guides/docs/model/document-data)

- Agent Markdown: [https://docs.univer.ai/ru-RU/guides/docs/model/document-data.md](https://docs.univer.ai/ru-RU/guides/docs/model/document-data.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

- Source: [docs/model/document-data.ru-RU.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/model/document-data.ru-RU.mdx)

---

## IDocumentData

[`IDocumentData`](https://docs.univer.ai/ru-RU/reference/types/document-data.md) — формат снимка, используемый в Univer Docs.

Он описывает целый документ, включая текст, стили уровня документа, колонтитулы, графические объекты, списки, таблицы и ресурсы плагинов.

### Свойства

| Свойство       | Тип                 | Описание                                                                                  |
| -------------- | ------------------- | ----------------------------------------------------------------------------------------- |
| id             | `string`            | Уникальный идентификатор документа.                                                       |
| rev?           | `number`            | Ревизия документа, используемая при совместном редактировании.                            |
| locale?        | `LocaleType`        | Локаль документа.                                                                         |
| title?         | `string`            | Заголовок документа.                                                                      |
| body?          | `IDocumentBody`     | Основная часть с форматированным текстом. [Подробнее](https://docs.univer.ai/ru-RU/guides/docs/model/document-body.md)   |
| documentStyle  | `IDocumentStyle`    | Настройки страницы, макета, колонтитулов и стиля текста по умолчанию на уровне документа. |
| settings?      | `IDocumentSettings` | Параметры среды выполнения, например `zoomRatio`.                                         |
| resources?     | `IResources`        | Ресурсы плагинов.                                                                         |
| disabled?      | `boolean`           | Отключён ли документ.                                                                     |
| headers?       | `IHeaders`          | Содержимое верхних колонтитулов с их идентификаторами в качестве ключей.                  |
| footers?       | `IFooters`          | Содержимое нижних колонтитулов с их идентификаторами в качестве ключей.                   |
| lists?         | `ILists`            | Определения списков, используемые для маркеров абзацев.                                   |
| drawings?      | `IDrawings`         | Графические объекты, например изображения.                                                |
| drawingsOrder? | `string[]`          | Порядок отрисовки графических объектов.                                                   |
| tableSource?   | `ITables`           | Определения таблиц, на которые ссылается основная часть документа.                        |

### Пример

```typescript
const documentData: IDocumentData = {
  id: 'doc-1',
  title: 'Demo Document',
  locale: LocaleType.EN_US,
  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` главным образом используется для следующих задач:

1. [Создание документа Univer Docs](https://docs.univer.ai/ru-RU/guides/docs/features/core/docs-api.md#create-document)
2. [Сохранение снимка Univer Docs](https://docs.univer.ai/ru-RU/guides/docs/features/core/docs-api.md#get-document-data)
3. [Импорт и экспорт файлов `.docx`](https://docs.univer.ai/ru-RU/guides/docs/features/import-export.md)
4. Хранение форматированного текста в ячейках Sheets через `ICellData.p`

> [!WARNING]
> Снимок — это сохраняемая структура данных. Не изменяйте её напрямую после запуска документа. Для изменения содержимого документа используйте Facade API или команды.
