# Univer Slides API

- Human documentation: [https://docs.univer.ai/ja-JP/guides/slides/features/core/slides-api](https://docs.univer.ai/ja-JP/guides/slides/features/core/slides-api)

- Agent Markdown: [https://docs.univer.ai/ja-JP/guides/slides/features/core/slides-api.md](https://docs.univer.ai/ja-JP/guides/slides/features/core/slides-api.md)

- Requested language: `ja-JP`

- Content language: `ja-JP`

- Documentation version: `1.2.0`

- Source: [slides/features/core/slides-api.ja-JP.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/slides/features/core/slides-api.ja-JP.mdx)

---

Slides Facade は、`FUniver` にプレゼンテーションとスライドのオブジェクトを追加します。API オブジェクトを作成する前に、副作用エントリをインポートしてください。

```ts
import { FUniver } from '@univerjs/core/facade'

import '@univerjs-pro/slides/facade'

const univerAPI = FUniver.newAPI(univer)
```

## プレゼンテーションを作成・取得する

```ts
const presentation = univerAPI.createPresentation({
  id: 'quarterly-review',
  name: 'Quarterly review',
})

const activePresentation = univerAPI.getActivePresentation()
const samePresentation = univerAPI.getPresentation(presentation.getId())
```

`createPresentation()` は部分的な `ISlideData` スナップショットを受け取ります。`save()` が返したスナップショットを渡すと、プレゼンテーションを復元できます。

## プレゼンテーション Unit を操作する

`FPresentation` は、ID、名前、ページサイズ、スライド、アクティブスライド、トランジション、権限、切り離されたスナップショットを公開します。

```ts
presentation.setName('FY 2027 review')

const opening = presentation.getSlideByIndex(0) ?? presentation.appendSlide({
  name: 'Opening',
})

presentation.setActiveSlide(opening)
const snapshot = presentation.save()
```

実行中のプレゼンテーションを更新するために `snapshot` を変更しないでください。Facade メソッドまたはコマンドを使い、描画と履歴を同期させます。

## スライドを操作する

`FSlide` は、背景、発表者ノート、トランジション、要素への入口です。

```ts
const slide = presentation.getActiveSlide()

if (slide) {
  const elements = slide.getElements()
  const notes = slide.getSpeakerNotes()
}
```

詳細は[スライドとレイアウト](https://docs.univer.ai/ja-JP/guides/slides/features/core/slides-and-layouts.md)、[図形とテキスト](https://docs.univer.ai/ja-JP/guides/slides/features/core/shapes-and-text.md)、[画像とグループ](https://docs.univer.ai/ja-JP/guides/slides/features/core/images-and-groups.md)を参照してください。

## コマンドの対象を解決する

コマンドイベントのパラメーターには、プレゼンテーションとスライドの ID が含まれる場合があります。現在の選択に依存せず対象を解決できます。

```ts
const listener = univerAPI.addEvent(
  univerAPI.Event.CommandExecuted,
  ({ params }) => {
    const target = univerAPI.getSlideCommandTarget(params)
    console.log(target?.presentation.getId(), target?.slide.getId())
  }
)
```

ホストコンポーネントを取り除くときにリスナーも破棄してください。

## プレゼンテーションをアンロードする

不要になった Slides ユニットは ID を指定してアンロードします。アプリケーション全体を破棄するときだけ、ルートの `univer` インスタンスを破棄してください。

```ts
const presentation = univerAPI.getActivePresentation()

if (presentation) {
  univerAPI.disposeUnit(presentation.getId())
}
```
