# Slides Print

- Human documentation: [https://docs.univer.ai/reference/facade/slides-print](https://docs.univer.ai/reference/facade/slides-print)

- Agent Markdown: [https://docs.univer.ai/reference/facade/slides-print.md](https://docs.univer.ai/reference/facade/slides-print.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/slides-print.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/slides-print.mdx)

---

| Packages | `@univerjs-pro/slides-print` |
| -------- | ---------------------------- |

Facade API for printing Univer Slides presentations.

> Import `@univerjs-pro/slides-print/facade` before using this API in plugin mode.

## Overview

### univerAPI

| Method                  | Signature                                                         |
| ----------------------- | ----------------------------------------------------------------- |
| `printSlidesAsync`      | printSlidesAsync(options?: ISlidePrintOptions): Promise\<boolean> |
| `openSlidesPrintDialog` | openSlidesPrintDialog(options?: ISlidePrintOptions): boolean      |

## APIs

### `printSlidesAsync`

Open the browser print dialog for the active presentation.

**Signature**

```typescript
printSlidesAsync(options?: ISlidePrintOptions): Promise<boolean>
```

**Parameters**

* `options` `ISlidePrintOptions` *(optional)* — Print options. `range` accepts 1-based page ranges. Overlapping ranges are de-duped and printed in the original slide order.

**Returns**

* `Promise\<boolean\>` — Whether the print operation was started.

**Examples**

```ts
await univerAPI.printSlidesAsync()

await univerAPI.printSlidesAsync({
  range: [{ from: 1, to: 3 }],
  layout: univerAPI.Enum.SlidePrintLayoutType.Handout,
  slidesPerPage: 6,
  handoutOrder: univerAPI.Enum.SlidePrintHandoutOrder.Horizontal,
  frameSlides: true,
  showSlideNumber: true,
})
```

### `openSlidesPrintDialog`

Open Univer's Slides print settings and preview UI.

```typescript
openSlidesPrintDialog(options?: ISlidePrintOptions): boolean
```

`ISlidePrintOptions` also accepts `paperSize`, `direction`, `margin`, and `marginCustom`. Layouts are `FullPage`, `Handout`, and `NotesPage`; handouts support 1, 2, 3, 4, 6, or 9 slides per page.

Source: 

`@univerjs-pro/slides-print`
