# Páginas y elementos

> Cree páginas PDF, enumere elementos editables y controle su geometría y orden de apilamiento.

- Human documentation: [https://docs.univer.ai/es-ES/guides/pdfs/features/core/pages-and-elements](https://docs.univer.ai/es-ES/guides/pdfs/features/core/pages-and-elements)

- Agent Markdown: [https://docs.univer.ai/es-ES/guides/pdfs/features/core/pages-and-elements.md](https://docs.univer.ai/es-ES/guides/pdfs/features/core/pages-and-elements.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

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

---

`FPdf` contiene las páginas y cada `FPdfPage` expone los overlays editables persistentes colocados en ella.

## Leer e insertar páginas

Los índices de página empiezan en cero. `insertPage(index?)` inserta en un índice o añade al final si se omite; un documento vacío usa dimensiones A4.

```ts
const pdf = univerAPI.getActivePdf()

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

const page = pdf.getPageByIndex(0) ?? pdf.insertPage()
const pages = pdf.getPages()
const samePage = pdf.getPageById(page.getId())
```

## Enumerar elementos editables

`getElements()` devuelve overlays editables en orden z. No devuelve objetos nativos del PDF importado.

```ts
const elements = page.getElements()
const [firstElement] = elements
const sameElement = firstElement ? page.getElementById(firstElement.getId()) : null
```

Use los getters tipados cuando necesite un wrapper especializado: `getTextBoxes()`, `getParagraphs()`, `getLists()`, `getTables()`, `getImages()`, `getDividers()` y `getAnnotations()`.

## Transformar y eliminar elementos

La posición de Facade usa puntos PDF. La geometría de `getData()` usa unidades internas de PDF; actualice la posición mediante los métodos de Facade.

```ts
const [element] = page.getElements()

if (element) {
  element
    .setPosition(36, 72)
    .setSize(288, 144)
    .setRotation(5)
    .setVisible(true)
    .setLocked(false)
    .bringToFront()
}
```

Use `remove()` para eliminar un elemento editable. Después de eliminarlo, no reutilice el wrapper obsoleto.
