슬라이드 데이터 구조

ISlideData

ISlideData는 하나의 Univer Slides 프레젠테이션을 영속화하는 스냅샷입니다. 프레젠테이션 메타데이터, 순서가 있는 슬라이드 모음, 선택적 마스터 및 레이아웃 계층, 전환, 테마, 리소스를 저장합니다.

필수 속성

속성타입설명
idstring프레젠테이션 유닛의 고유 ID입니다.
namestring프레젠테이션 표시 이름입니다.
defaultPageSizeISlidePageSize페이지에 자체 크기가 없을 때 사용하는 기본 너비와 높이입니다.
slideOrderstring[]프레젠테이션 순서로 나열한 슬라이드 ID입니다.
slidesRecord<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?IResourcesSlides 및 기능 플러그인이 제공하는 리소스입니다.
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 메서드나 등록된 명령을 사용하세요.

이 가이드는 어떠셨나요?

© 2026 DreamNum Co., Ltd.