# Web Workers

- Human documentation: [https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/worker](https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/worker)

- Agent Markdown: [https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/worker.md](https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/worker.md)

- Requested language: `zh-CN`

- Content language: `zh-CN`

- Documentation version: `1.0.0-rc.0`

- Source: [pdfs/getting-started/worker.zh-CN.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/pdfs/getting-started/worker.zh-CN.mdx)

---

PDFs 支持在 Worker 中渲染页面缩略图。向 `UniverPdfsUIPlugin` 传入 `thumbnailWorkerURL`，Worker 使用 `OffscreenCanvas`。此配置只针对缩略图，不会将整个 PDF 编辑器移入 Worker。

先完成[安装和基本使用](https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/installation.md)。以下代码用于扩展已有配置。请在创建或加载内容之前注册插件；已有的插件注册应直接修改，不要重复注册。

## 主线程

```typescript title="main.ts"
import { UniverPdfsUIPlugin } from '@univerjs-pro/pdfs-ui'

univer.registerPlugin(UniverPdfsUIPlugin, {
  thumbnailWorkerURL: new Worker(new URL('./worker.ts', import.meta.url), { type: 'module' }),
})
```

## Worker 入口

```typescript title="worker.ts"
import { startPdfPageThumbnailWorker } from '@univerjs-pro/pdfs-ui'

startPdfPageThumbnailWorker()
```

使用模块类型的 Worker 和独立入口文件。Worker 与主线程的包版本需要一致，渲染和用户交互仍在主线程执行。
