# Изображения и разделители

> Вставляйте управляемые изображения, обновляйте их ресурсы и добавляйте векторные разделители на страницы PDF.

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

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

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

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

---

Изображения PDF являются управляемыми редактируемыми ресурсами. Используйте `insertImageAsync()` для URL, UUID, строки base64 или blob либо отдельный построитель для поэтапной вставки.

## Вставка изображения

```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()
```

Автоопределение распознаёт как URL только абсолютные адреса `http` и `https`. Относительные пути URL не принимаются; используйте абсолютный URL, допустимый UUID управляемого ресурса или данные base64.

## Использование построителя изображений

```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()` работает отдельно и не изменяет PDF. Передайте его результат в `insertImage()`. Существующее управляемое изображение изменяйте его активными методами источника, преобразования, обрезки и непрозрачности.

## Добавление разделителя

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

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

Геометрия разделителя и длины штриха задаются в пунктах PDF. `getStroke()` возвращает отдельный снимок, а `setStroke()` заменяет штрих без изменения геометрии.

`FPdfImage` также предоставляет `getSource()`, `getImageSourceType()`, `setSource()`, `getCrop()`, `setCrop()`, `getOpacity()`, `setOpacity()` и `remove()`. Непрозрачность должна быть от `0` до `1`.
