# 인쇄

- Human documentation: [https://docs.univer.ai/ko-KR/guides/slides/features/print](https://docs.univer.ai/ko-KR/guides/slides/features/print)

- Agent Markdown: [https://docs.univer.ai/ko-KR/guides/slides/features/print.md](https://docs.univer.ai/ko-KR/guides/slides/features/print.md)

- Requested language: `ko-KR`

- Content language: `ko-KR`

- Documentation version: `1.0.4`

- Source: [slides/features/print.ko-KR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/slides/features/print.ko-KR.mdx)

---

#### Package metadata

```json
{
  "mobile": true,
  "preset": [],
  "plugins": [
    {
      "client": "@univerjs-pro/slides-print",
      "locale": "@univerjs-pro/slides-print/locale/ko-KR",
      "facade": "@univerjs-pro/slides-print/facade"
    }
  ],
  "license": true,
  "server": false
}
```

## 인쇄 지원 등록

Slides 편집기에 인쇄 미리 보기 또는 인쇄 관련 facade API가 필요할 때는 `@univerjs-pro/slides-print`를 사용하세요. 이 패키지는 `@univerjs-pro/slides-print/locale/*`도 제공하며 별도의 CSS import가 필요하지 않습니다.

```ts
import { UniverSlidesPrintPlugin } from '@univerjs-pro/slides-print'
import SlidesPrintEnUS from '@univerjs-pro/slides-print/locale/en-US'
import '@univerjs-pro/slides-print/facade'

univer.registerPlugin(UniverSlidesPrintPlugin)
```

## 모바일 지원

먼저 [모바일 에디터](https://docs.univer.ai/ko-KR/guides/slides/getting-started/installation.md#mobile-support)를 구성하세요. 이 페이지의 플러그인 모드 초기화 코드에서 아래 데스크톱 등록을 같은 패키지의 모바일 버전으로 바꾸고 **문서를 열기 전에** 완료하세요. 모델 플러그인, 스타일, 언어 파일과 Facade 가져오기는 유지하며 두 버전을 동시에 등록하지 마세요.

| 패키지                          | 데스크톱 등록                   | 모바일 등록                          |
| ---------------------------- | ------------------------- | ------------------------------- |
| `@univerjs-pro/slides-print` | `UniverSlidesPrintPlugin` | `UniverSlidesPrintMobilePlugin` |

## 요구 사항

인쇄 플러그인보다 먼저 핵심 Slides 모델을 등록하세요.

```ts
univer.registerPlugin(UniverSlidesPlugin)
univer.registerPlugin(UniverSlidesUIPlugin)
univer.registerPlugin(UniverSlidesPrintPlugin)
```

브라우저 편집기에서는 [빠른 시작](https://docs.univer.ai/ko-KR/guides/slides/getting-started/quickstart.md)에 나온 것처럼 렌더링 엔진, UI 플러그인, Docs, Drawing 및 라이선스 플러그인을 등록한 상태로 유지하세요.

## Facade API

facade 진입점을 가져와 `FUniver`에 `printSlidesAsync`를 추가하세요.

```ts
import '@univerjs-pro/slides-print/facade'
```

활성 프레젠테이션의 모든 슬라이드 인쇄:

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

await univerAPI.printSlidesAsync()
```

1부터 시작하는 페이지 번호로 선택한 슬라이드 범위 인쇄:

```ts
await univerAPI.printSlidesAsync({
  range: [
    { from: 1, to: 3 },
    { from: 6, to: 6 },
  ],
})
```

`range`는 양 끝 페이지를 포함하는 범위를 받습니다. 생략하면 모든 슬라이드를 인쇄합니다. 겹치는 범위는 중복을 제거한 뒤 원래 슬라이드 순서대로 인쇄합니다. 슬라이드 자료의 범위를 벗어난 범위는 사용 가능한 슬라이드에 맞게 잘리고, 시작과 끝이 뒤바뀐 잘못된 범위는 무시됩니다.

## 참고 사항

인쇄 결과는 현재 슬라이드 스냅샷, 페이지 크기, 그리기 요소 및 선택적 표 또는 차트 요소에 따라 달라집니다. 슬라이드 자료에 표나 차트가 포함될 수 있다면 인쇄하기 전에 해당 기능 플러그인을 등록하세요.

## 레이아웃과 미리 보기

```ts
univerAPI.openSlidesPrintDialog({
  layout: univerAPI.Enum.SlidePrintLayoutType.Handout,
  slidesPerPage: 6,
  handoutOrder: univerAPI.Enum.SlidePrintHandoutOrder.Horizontal,
  frameSlides: true,
  showSlideNumber: true,
})
```

전체 페이지, 유인물, 발표자 노트 페이지와 용지, 방향, 여백 설정을 지원합니다.

유인물은 페이지당 1, 2, 3, 4, 6, 9장의 슬라이드를 지원합니다. 노트 페이지는 현재 슬라이드의 발표자 노트를 사용합니다.
