プレゼンテーションデータ構造
ISlideData
ISlideData は、1 つの Univer Slides プレゼンテーションを永続化するスナップショットです。プレゼンテーションのメタデータ、順序付きのスライドコレクション、任意のマスターおよびレイアウト層、画面切り替え、テーマ、リソースを保存します。
必須プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
id | string | プレゼンテーション unit の一意な ID。 |
name | string | プレゼンテーションの表示名。 |
defaultPageSize | ISlidePageSize | ページ固有のサイズがない場合に使用する既定の幅と高さ。 |
slideOrder | string[] | プレゼンテーション順に並んだスライドの ID。 |
slides | Record<string, ISlidePage> | スライド ID をキーとする通常スライド。 |
任意プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
rev? | number | スナップショットのリビジョン。 |
appVersion? | string | スナップショットを生成した Univer のバージョン。 |
locale? | LocaleType | プレゼンテーションのロケール。 |
masterPageOrder? | string[] | 保存順に並んだマスターページ ID。 |
masterPages? | Record<string, ISlideMasterPage> | ID をキーとするマスターページ。 |
layoutPageOrder? | string[] | 保存順に並んだレイアウトページ ID。 |
layoutPages? | Record<string, ISlideLayoutPage> | ID をキーとするレイアウトページ。 |
handoutMasterPageOrder? | string[] | 保存順に並んだ配布資料マスター ID。 |
handoutMasterPages? | Record<string, ISlideHandoutMasterPage> | ID をキーとする配布資料マスター。 |
notesMasterPageOrder? | string[] | 保存順に並んだノートマスター ID。 |
notesMasterPages? | Record<string, ISlideNotesMasterPage> | ID をキーとするノートマスター。 |
activeSlideId? | string | アクティブなスライドの ID。 |
transitionRecords? | Record<string, ISlideTransition> | 画面切り替え ID をキーとする再利用可能な画面切り替え。 |
slideTransitionRefs? | Record<string, string> | スライド ID から画面切り替え ID への対応。 |
theme? | ISlideThemeData | プレゼンテーションの既定テーマ。 |
themes? | Record<string, ISlideThemeData> | テーマ ID をキーとする追加テーマ。 |
zoomRatio? | number | 永続化されるプレゼンテーションのズーム率。 |
resources? | IResources | Slides と機能プラグインが提供するリソース。 |
custom? | SlideCustomData | アプリケーション定義のプレゼンテーションメタデータ。 |
順序付きページレコード
slideOrder の各 ID は slides のエントリに対応している必要があります。任意のマスター、レイアウト、配布資料マスター、ノートマスター層も、順序配列と ID をキーとするレコードの同じ組み合わせを使用します。activeSlideId を指定する場合は、slides のエントリに対応させてください。
TypeScript
import type { ISlideData } from '@univerjs-pro/slides'import { PageTypeEnum } from '@univerjs-pro/slides'const slideData: ISlideData = { id: 'deck-1', name: '製品ロードマップ', defaultPageSize: { width: 960, height: 540 }, slideOrder: ['slide-1'], slides: { 'slide-1': { id: 'slide-1', name: 'オープニング', pageType: PageTypeEnum.Slide, elementOrder: [], elements: {}, }, }, activeSlideId: 'slide-1',}使用方法
univerAPI.createPresentation(slideData) にスナップショットを渡すと、プレゼンテーションを復元できます。現在の ISlideData を永続化、エクスポート、印刷、サーバー側処理に使用する場合は、presentation.save() で取得します。
注意
スナップショットは永続化用データであり、実行中の SlideModel ではありません。プレゼンテーションの開始後は、スナップショットオブジェクトを直接変更せず、Slides の Facade メソッドまたは登録済みコマンドを使用してください。
このガイドはいかがですか?