# Univer Slides API

- Human documentation: [https://docs.univer.ai/es-ES/guides/slides/features/core/slides-api](https://docs.univer.ai/es-ES/guides/slides/features/core/slides-api)

- Agent Markdown: [https://docs.univer.ai/es-ES/guides/slides/features/core/slides-api.md](https://docs.univer.ai/es-ES/guides/slides/features/core/slides-api.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

- Source: [slides/features/core/slides-api.es-ES.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/slides/features/core/slides-api.es-ES.mdx)

---

La Facade de Slides añade objetos de presentación y diapositiva a `FUniver`. Importe su entrada con efecto secundario antes de crear el objeto API:

```ts
import { FUniver } from '@univerjs/core/facade'

import '@univerjs-pro/slides/facade'

const univerAPI = FUniver.newAPI(univer)
```

## Crear y buscar presentaciones

```ts
const presentation = univerAPI.createPresentation({
  id: 'quarterly-review',
  name: 'Quarterly review',
})

const activePresentation = univerAPI.getActivePresentation()
const samePresentation = univerAPI.getPresentation(presentation.getId())
```

`createPresentation()` acepta una instantánea parcial `ISlideData`. Para restaurar una presentación, pase una instantánea devuelta por `save()`.

## Trabajar con la unidad de presentación

`FPresentation` expone identidad, nombre, tamaño de página, diapositivas, diapositiva activa, transiciones, permisos e instantánea independiente:

```ts
presentation.setName('FY 2027 review')

const opening = presentation.getSlideByIndex(0) ?? presentation.appendSlide({
  name: 'Opening',
})

presentation.setActiveSlide(opening)
const snapshot = presentation.save()
```

No modifique `snapshot` para actualizar una presentación activa. Use métodos Facade o comandos para mantener sincronizados el renderizado y el historial.

## Entrar en una diapositiva

`FSlide` da acceso al fondo, las notas del presentador, la transición y los elementos de una diapositiva:

```ts
const slide = presentation.getActiveSlide()

if (slide) {
  const elements = slide.getElements()
  const notes = slide.getSpeakerNotes()
}
```

Consulte [Diapositivas y diseños](https://docs.univer.ai/es-ES/guides/slides/features/core/slides-and-layouts.md), [Formas y texto](https://docs.univer.ai/es-ES/guides/slides/features/core/shapes-and-text.md) e [Imágenes y grupos](https://docs.univer.ai/es-ES/guides/slides/features/core/images-and-groups.md) para operaciones específicas.

## Resolver destinos de comandos

Los parámetros de un evento de comando pueden incluir identificadores de presentación y diapositiva. Resuélvalos sin depender de la selección actual:

```ts
const listener = univerAPI.addEvent(
  univerAPI.Event.CommandExecuted,
  ({ params }) => {
    const target = univerAPI.getSlideCommandTarget(params)
    console.log(target?.presentation.getId(), target?.slide.getId())
  }
)
```

Libere el listener cuando se retire su componente anfitrión.

## Descargar una presentación

Descargue una unidad de Slides por su ID cuando deje de necesitarla. Destruya la instancia raíz `univer` solo cuando se cierre toda la aplicación.

```ts
const presentation = univerAPI.getActivePresentation()

if (presentation) {
  univerAPI.disposeUnit(presentation.getId())
}
```
