# Images et séparateurs

> Insérez des images gérées, mettez à jour leurs ressources et ajoutez des séparateurs vectoriels aux pages PDF.

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

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

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

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

---

Les images PDF sont des ressources modifiables gérées. Utilisez `insertImageAsync()` avec une URL, un UUID, une chaîne base64 ou une source blob, ou le builder détaché pour une insertion par étapes.

## Insérer une image

```ts
const image = await page.insertImageAsync(
  'https://example.com/assets/signature.png',
  {
    left: 36,
    top: 36,
    width: 144,
    height: 72,
    opacity: 0.9,
  }
)

image.setRotation(-4).bringToFront()
```

La détection automatique reconnaît les URL absolues `http` et `https`. Les chemins URL relatifs ne sont pas acceptés comme sources URL ; utilisez une URL absolue, un UUID valide de ressource gérée ou des données base64.

## Utiliser le builder d'images

```ts
const imageInfo = page
  .newImage()
  .setSource('https://example.com/assets/chart.png')
  .setAbsolutePosition(216, 36)
  .setSize(240, 135)
  .setOpacity(0.85)
  .build()

const chart = page.insertImage(imageInfo)
```

`build()` est détaché et ne modifie pas le PDF. Transmettez son résultat à `insertImage()`. Modifiez une image gérée existante avec ses méthodes actives de source, transformation, recadrage et opacité.

## Ajouter un séparateur

```ts
const divider = page.insertDivider({
  left: 36,
  top: 144,
  width: 420,
  strokeWidth: 1,
})

divider.setStroke({
  width: 2,
  color: '#3366ff',
})
```

La géométrie du séparateur et les longueurs de trait utilisent des points PDF. `getStroke()` retourne un snapshot détaché et `setStroke()` remplace le trait sans modifier la géométrie.

`FPdfImage` expose aussi `getSource()`, `getImageSourceType()`, `setSource()`, `getCrop()`, `setCrop()`, `getOpacity()`, `setOpacity()` et `remove()`. L'opacité doit être comprise entre `0` et `1`.
