# Pages et éléments

> Créez des pages PDF, énumérez les éléments modifiables et contrôlez leur géométrie et leur empilement.

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

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

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

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

---

`FPdf` possède les pages et chaque `FPdfPage` expose les overlays modifiables persistants placés sur cette page.

## Lire et insérer des pages

Les index de page commencent à zéro. `insertPage(index?)` insère à un index ou ajoute à la fin si l'index est omis ; un document vide utilise les dimensions 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())
```

## Énumérer les éléments modifiables

`getElements()` retourne les overlays modifiables dans l'ordre z. Il ne retourne pas les objets natifs du PDF importé.

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

Utilisez les getters typés pour obtenir un wrapper spécialisé : `getTextBoxes()`, `getParagraphs()`, `getLists()`, `getTables()`, `getImages()`, `getDividers()` et `getAnnotations()`.

## Transformer et supprimer des éléments

Le placement de la façade utilise des points PDF. La géométrie retournée par `getData()` utilise les unités PDF internes ; modifiez le placement avec les méthodes de façade.

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

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

Utilisez `remove()` pour supprimer un élément modifiable. Après sa suppression, ne réutilisez pas le wrapper devenu obsolète.
