# Permisos

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

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

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

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

---

Los permisos de Slides se actualizan mediante comandos y se pueden aplicar a la presentación, a una diapositiva o a un elemento. Un permiso hijo nunca invalida un padre de solo lectura.

## Permisos de presentación

```ts
import { UnitAction } from '@univerjs/protocol'

const presentation = univerAPI.getActivePresentation()

if (!presentation) {
  throw new Error('No active presentation')
}

const permission = presentation.getPermission()

await permission.setPoint(UnitAction.Export, false)
await permission.setPoint(UnitAction.Print, true)

console.log(permission.getPoint(UnitAction.Print))
```

Las acciones de presentación admiten Edit, Copy, Print, Export y Comment. `setReadOnly()` desactiva la edición completa y `setEditable()` vuelve a activarla.

## Permisos de diapositiva y elemento

```ts
const slide = presentation.getSlideByIndex(0)
const element = slide?.getElements()[0]

if (slide && element) {
  await slide.getPermission().setEditable(false)
  await slide.getElementPermission(element.getId()).setEditable(true)

  console.log(slide.getElementPermission(element.getId()).canEdit())
}
```

El resultado final de `canEdit()` aplica los límites de presentación, diapositiva y elemento. Conserve identificadores estables cuando los permisos deban persistir en las instantáneas.
