# Estructura de datos de diapositivas

- Human documentation: [https://docs.univer.ai/es-ES/guides/slides/model/slide-data](https://docs.univer.ai/es-ES/guides/slides/model/slide-data)

- Agent Markdown: [https://docs.univer.ai/es-ES/guides/slides/model/slide-data.md](https://docs.univer.ai/es-ES/guides/slides/model/slide-data.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

- Source: [slides/model/slide-data.es-ES.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/slides/model/slide-data.es-ES.mdx)

---

## ISlideData

`ISlideData` es la instantánea persistente de una presentación de Univer Slides. Almacena los metadatos de la presentación, la colección ordenada de diapositivas, las capas opcionales de páginas maestras y diseños, las transiciones, los temas y los recursos.

### Propiedades obligatorias

| Propiedad         | Tipo                         | Descripción                                                                    |
| ----------------- | ---------------------------- | ------------------------------------------------------------------------------ |
| `id`              | `string`                     | ID único de la unidad de presentación.                                         |
| `name`            | `string`                     | Nombre visible de la presentación.                                             |
| `defaultPageSize` | `ISlidePageSize`             | Anchura y altura predeterminadas cuando una página no define un tamaño propio. |
| `slideOrder`      | `string[]`                   | IDs de las diapositivas en el orden de la presentación.                        |
| `slides`          | `Record<string, ISlidePage>` | Diapositivas normales indexadas por su ID.                                     |

### Propiedades opcionales

| Propiedad                 | Tipo                                      | Descripción                                                   |
| ------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
| `rev?`                    | `number`                                  | Revisión de la instantánea.                                   |
| `appVersion?`             | `string`                                  | Versión de Univer que generó la instantánea.                  |
| `locale?`                 | `LocaleType`                              | Configuración regional de la presentación.                    |
| `masterPageOrder?`        | `string[]`                                | IDs de páginas maestras en el orden almacenado.               |
| `masterPages?`            | `Record<string, ISlideMasterPage>`        | Páginas maestras indexadas por ID.                            |
| `layoutPageOrder?`        | `string[]`                                | IDs de diseños en el orden almacenado.                        |
| `layoutPages?`            | `Record<string, ISlideLayoutPage>`        | Páginas de diseño indexadas por ID.                           |
| `handoutMasterPageOrder?` | `string[]`                                | IDs de patrones de folletos en el orden almacenado.           |
| `handoutMasterPages?`     | `Record<string, ISlideHandoutMasterPage>` | Patrones de folletos indexados por ID.                        |
| `notesMasterPageOrder?`   | `string[]`                                | IDs de patrones de notas en el orden almacenado.              |
| `notesMasterPages?`       | `Record<string, ISlideNotesMasterPage>`   | Patrones de notas indexados por ID.                           |
| `activeSlideId?`          | `string`                                  | ID de la diapositiva activa.                                  |
| `transitionRecords?`      | `Record<string, ISlideTransition>`        | Transiciones reutilizables indexadas por su ID.               |
| `slideTransitionRefs?`    | `Record<string, string>`                  | Relación entre IDs de diapositiva e IDs de transición.        |
| `theme?`                  | `ISlideThemeData`                         | Tema predeterminado de la presentación.                       |
| `themes?`                 | `Record<string, ISlideThemeData>`         | Temas adicionales indexados por ID.                           |
| `zoomRatio?`              | `number`                                  | Nivel de zoom persistente de la presentación.                 |
| `resources?`              | `IResources`                              | Recursos aportados por Slides y sus complementos funcionales. |
| `custom?`                 | `SlideCustomData`                         | Metadatos de presentación definidos por la aplicación.        |

### Registros de páginas ordenados

Cada ID de `slideOrder` debe corresponder a una entrada de `slides`. Las capas opcionales de páginas maestras, diseños, patrones de folletos y patrones de notas siguen el mismo patrón de lista de orden y registro por ID. `activeSlideId`, si existe, debe corresponder a una entrada de `slides`.

```typescript
import type { ISlideData } from '@univerjs-pro/slides'
import { PageTypeEnum } from '@univerjs-pro/slides'

const slideData: ISlideData = {
  id: 'deck-1',
  name: 'Hoja de ruta del producto',
  defaultPageSize: { width: 960, height: 540 },
  slideOrder: ['slide-1'],
  slides: {
    'slide-1': {
      id: 'slide-1',
      name: 'Apertura',
      pageType: PageTypeEnum.Slide,
      elementOrder: [],
      elements: {},
    },
  },
  activeSlideId: 'slide-1',
}
```

### Uso

Pasa una instantánea a `univerAPI.createPresentation(slideData)` para restaurar una presentación. Usa `presentation.save()` para obtener la instantánea `ISlideData` actual y conservarla, exportarla, imprimirla o procesarla en el servidor.

> [!WARNING: Precaución]
> Una instantánea es un dato persistente, no el `SlideModel` activo. Después de iniciar la presentación, usa los métodos de Facade de Slides o comandos registrados en lugar de modificar el objeto de instantánea.
