Структура данных презентации
ISlideData
ISlideData — сохраняемый снимок одной презентации Univer Slides. Он хранит метаданные презентации, упорядоченную коллекцию слайдов, необязательные слои образцов и макетов, переходы, темы и ресурсы.
Обязательные свойства
| Свойство | Тип | Описание |
|---|---|---|
id | string | Уникальный 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 | Метаданные презентации, определённые приложением. |
Упорядоченные записи страниц
Каждый ID из slideOrder должен соответствовать записи в slides. Необязательные слои образцов, макетов, образцов раздаточных материалов и образцов заметок используют ту же пару из массива порядка и записей по ID. Если задан activeSlideId, он должен соответствовать записи в slides.
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 или зарегистрированные команды вместо непосредственного изменения объекта снимка.
Насколько полезно это руководство?