# Print

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

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

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

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

---

#### Package metadata

```json
{
  "preset": [],
  "plugins": [
    {
      "client": "@univerjs-pro/pdfs-print",
      "locale": "@univerjs-pro/pdfs-print/locale/en-US",
      "style": "@univerjs-pro/pdfs-print/lib/index.css"
    }
  ],
  "server": false
}
```

`@univerjs-pro/pdfs-print` adds a browser Print action for the active PDF. It materializes the current pages and opens the system print dialog.

## Register printing

#### npm

```bash
npm install @univerjs-pro/pdfs-print
```

#### pnpm

```bash
pnpm add @univerjs-pro/pdfs-print
```

#### yarn

```bash
yarn add @univerjs-pro/pdfs-print
```

#### bun

```bash
bun add @univerjs-pro/pdfs-print
```

Add the print locale and style to the browser setup, then register the plugin after `UniverPdfsUIPlugin`:

```ts
import { UniverPdfsPrintPlugin } from '@univerjs-pro/pdfs-print'
import PdfsPrintEnUS from '@univerjs-pro/pdfs-print/locale/en-US'

import '@univerjs-pro/pdfs-print/lib/index.css'

// Merge PdfsPrintEnUS with PdfsUIEnUS and the shared UI locales.
univer.registerPlugin(UniverPdfsPrintPlugin)
```

The plugin adds its own menu item and printing progress UI. There is no PDF print method on `FUniver`; users start printing through the registered browser UI.

## Print is not file export

| Workflow | Result                                                             | Server required | Environment     |
| -------- | ------------------------------------------------------------------ | :-------------: | --------------- |
| Print    | Opens the browser or operating-system print dialog                 |        No       | Browser only    |
| Export   | Returns a converted PDF `File` for application-controlled download |       Yes       | Exchange client |

The print dialog may offer “Save as PDF,” but that is a browser capability. Use `exportPdfByUnitIdAsync` or `exportPdfBySnapshotAsync` when your application needs a PDF file object, a deterministic download flow, or server-side conversion.
