# 列印

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

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

- Requested language: `zh-TW`

- Content language: `zh-TW`

- Documentation version: `1.2.0`

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

---

#### Package metadata

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

`@univerjs-pro/pdfs-print` 為目前 PDF 加入瀏覽器列印操作。它會具現化目前頁面並開啟系統列印對話方塊。

## 註冊列印

#### 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
```

在瀏覽器設定中加入列印語言套件和樣式，然後在 `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)
```

此外掛會加入自己的選單項目和列印進度 UI。`FUniver` 上沒有 PDF 列印方法；使用者透過已註冊的瀏覽器 UI 開始列印。

## 列印不是檔案匯出

| 工作流程 | 結果                          | 是否需要伺服器 | 環境           |
| ---- | --------------------------- | :-----: | ------------ |
| 列印   | 開啟瀏覽器或作業系統列印對話方塊            |    否    | 僅瀏覽器         |
| 匯出   | 傳回轉換後的 PDF `File`，供應用程式控制下載 |    是    | Exchange 客戶端 |

列印對話方塊可能提供「另存為 PDF」，但這是瀏覽器功能。當應用程式需要 PDF 檔案物件、確定性的下載流程或伺服器端轉換時，請使用 `exportPdfByUnitIdAsync` 或 `exportPdfBySnapshotAsync`。
