# Structure des données d’un document

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

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

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

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

---

## IDocumentData

[`IDocumentData`](https://docs.univer.ai/fr-FR/reference/types/document-data.md) est le format d’instantané utilisé par Univer Docs.

Il décrit une unité de document complète, notamment le corps du texte, les styles appliqués à l’ensemble du document, les en-têtes et pieds de page, les dessins, les listes, les tableaux et les ressources des plugins.

### Propriétés

| Propriété      | Type                | Description                                                                                                                                 |
| -------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| id             | `string`            | Identifiant unique de l’unité de document.                                                                                                  |
| rev?           | `number`            | Révision du document, utilisée pour l’édition collaborative.                                                                                |
| locale?        | `LocaleType`        | Locale du document.                                                                                                                         |
| title?         | `string`            | Titre du document.                                                                                                                          |
| body?          | `IDocumentBody`     | Corps principal en texte enrichi. [Détails](https://docs.univer.ai/fr-FR/guides/docs/model/document-body.md)                                                               |
| documentStyle  | `IDocumentStyle`    | Paramètres de page, de mise en page, d’en-tête et de pied de page, ainsi que styles de texte par défaut appliqués à l’ensemble du document. |
| settings?      | `IDocumentSettings` | Paramètres d’exécution tels que `zoomRatio`.                                                                                                |
| resources?     | `IResources`        | Ressources des plugins.                                                                                                                     |
| disabled?      | `boolean`           | Indique si le document est désactivé.                                                                                                       |
| headers?       | `IHeaders`          | Corps des en-têtes indexés par identifiant d’en-tête.                                                                                       |
| footers?       | `IFooters`          | Corps des pieds de page indexés par identifiant de pied de page.                                                                            |
| lists?         | `ILists`            | Définitions des listes utilisées par les puces des paragraphes.                                                                             |
| drawings?      | `IDrawings`         | Objets graphiques tels que des images.                                                                                                      |
| drawingsOrder? | `string[]`          | Ordre de rendu des objets graphiques.                                                                                                       |
| tableSource?   | `ITables`           | Définitions des tableaux référencés par le corps du document.                                                                               |

### Exemple

```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,
  },
}
```

### Utilisation

`IDocumentData` est principalement utilisé pour :

1. [Créer un document Univer Docs](https://docs.univer.ai/fr-FR/guides/docs/features/core/docs-api.md#create-document)
2. [Enregistrer un instantané Univer Docs](https://docs.univer.ai/fr-FR/guides/docs/features/core/docs-api.md#get-document-data)
3. [Importer ou exporter des fichiers `.docx`](https://docs.univer.ai/fr-FR/guides/docs/features/import-export.md)
4. Stocker du texte enrichi dans des cellules Sheets à l’aide de `ICellData.p`

> [!WARNING]
> Un instantané est une structure de données persistante. Ne le modifiez pas directement après le démarrage d’un document. Utilisez les API Facade ou des commandes pour modifier le contenu du document.
