# @embedpdf/react-pdf-viewer 中文文档

规范地址：https://npmcn.com/package/%40embedpdf/react-pdf-viewer/

版本：2\.15\.1
npm 元数据更新时间：2026-09-16T20:53:20.428Z
中文译文更新时间：2026-11-13T14:47:14.112Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40embedpdf/react-pdf-viewer
原文对照：https://npmcn.com/package/%40embedpdf/react-pdf-viewer/?lang=original
项目主页：https://www.embedpdf.com/react-pdf-viewer
源码仓库：https://github.com/embedpdf/embed-pdf-viewer

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：22.5 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：react \>=17\.0\.0，react-dom \>=17\.0\.0
- 首次发布：2025-12-12T14:58:50.086Z
- 最新版本发布：2026-09-16T20:53:20.261Z
- 近 30 天下载量：928381（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 35 个）

## 中文简介

嵌入 PDF 文档的反应组件

## 安装

```sh
npm install @embedpdf/react-pdf-viewer
```

也可以使用：`pnpm add @embedpdf/react-pdf-viewer`、`yarn add @embedpdf/react-pdf-viewer`、`bun add @embedpdf/react-pdf-viewer`

## README

[![EmbedPDF logo](https://www.embedpdf.com/logo-192.png)](https://www.embedpdf.com/react-pdf-viewer)

# 反应 PDF 查看器

在您的 React 应用程序中嵌入 PDF 文件的简单方法, 包括一个完整、 随时可用的界面 .

[![Documentation](https://img.shields.io/badge/View%20Docs-0af?style=for-the-badge&labelColor=000000)](https://www.embedpdf.com/react-pdf-viewer) [![Live Demo](https://img.shields.io/badge/Try%20Live%20Demo-ff1493.svg?style=for-the-badge&labelColor=000000)](https://app.embedpdf.com/) [![NPM Version](https://img.shields.io/npm/v/@embedpdf/react-pdf-viewer?style=for-the-badge&labelColor=000000&color=blue)](https://www.npmjs.com/package/@embedpdf/react-pdf-viewer)

* * *

## 页:1

完全通过,先进的例子,和API的参考文献,在我们的文件网站上:

👉 **[https://www.embedpdf.com/resact-pdf-viewer (中文(简体) )](https://www.embedpdf.com/react-pdf-viewer)**

* * *

## 导 言

这个 `@embedpdf/react-pdf-viewer` 软件包为 React 应用程序提供了完整、生产准备的 PDF 查看体验.

它被设计成最快的方式 让一个高质量的 PDF 查看器进入您的应用程序。 你不需要建立工具栏,处理布局逻辑, 或担心CSS——它只是工作.

### 关键特性

-   **准备使用** 包括被打磨的工具栏、边栏和缩略图.
-   **响应** ——能无缝地适应移动和桌面屏幕.
-   **主题** ——内置灯光/暗色模式及支持自定义品牌颜色.
-   **可配置** ——轻松地禁用你不需要的特性(如打印或下载).
-   **类型脚本** ——为优秀的开发者体验打出满打字.
-   **下一个. Js 准备** - 与Next.js App路由器和SSR毫无瑕疵地工作.

* * *

## \* 安装

```bash
npm install @embedpdf/react-pdf-viewer
# or
pnpm add @embedpdf/react-pdf-viewer
# or
yarn add @embedpdf/react-pdf-viewer
```

* * *

## 基本用途

导入 `PDFViewer` 组件,并带有PDF来源.

```tsx
import { PDFViewer } from '@embedpdf/react-pdf-viewer';

export default function App() {
  return (
    <div style={{ height: '100vh' }}>
      <PDFViewer
        config={{
          src: 'https://snippet.embedpdf.com/ebook.pdf',
          theme: { preference: 'light' },
        }}
      />
    </div>
  );
}
```

就这样! 您现在有一个功能完备的 PDF 查看器 .

### Next.js App路由器

该组件与Next.js无缝地工作. 由于它使用浏览器APIs(Canvas, WebAssembly),所以确保用在一个 **客户部分**数字 :

```tsx
'use client';

import { PDFViewer } from '@embedpdf/react-pdf-viewer';

export default function ViewerPage() {
  return (
    <div style={{ height: '100vh' }}>
      <PDFViewer
        config={{
          src: 'https://snippet.embedpdf.com/ebook.pdf',
        }}
      />
    </div>
  );
}
```

* * *

## 🎨自定义

### 主题

取景器包括一个强大的主题系统. 您可以设置偏好 `'light'`, (中文(简体) ), `'dark'`,或 `'system'`,甚至覆盖特定的颜色来匹配你的品牌.

```tsx
<PDFViewer
  config={{
    src: '/document.pdf',
    theme: {
      preference: 'system',
      light: {
        accent: {
          primary: '#9333ea', // Custom brand color (Purple)
        },
      },
    },
  }}
/>
```

### 残疾特征

方便定制用户界面,通过功能化功能,您不需要这些功能 `disabledCategories` 选项 :

```tsx
<PDFViewer
  config={{
    src: '/document.pdf',
    disabledCategories: ['annotation', 'print', 'export'],
  }}
/>
```

现有类别包括: `zoom`, (中文(简体) ), `annotation`, (中文(简体) ), `redaction`, (中文(简体) ), `document`, (中文(简体) ), `page`, (中文(简体) ), `panel`, (中文(简体) ), `tools`, (中文(简体) ), `selection`,以及 `history`。 。 。 .

* * *

## QQ 配置选项

这个 `config` prop 接受以下顶级选项 :

| 选项 | 类型 | 说明 |
| :-- | :-- | :-- |
| `src` | `string` | PDF 文档的 URL 或路径. |
| `theme` | `object` | 主题配置( 首选, 覆盖) . |
| `tabBar` | `'always' | 'multiple' | 'never'` | 控制文档标签栏的能见度 . |
| `disabledCategories` | `string[]` | 按类别隐藏特定的UI特性. |
| `i18n` | `object` | 配置本地和翻译 . |
| `annotations` | `object` | 配置注释默认值( 作者, 工具) . |
| `zoom` | `object` | 配置默认缩放级别和限制 . |
| `scroll` | `object` | 配置滚动方向和逻辑 . |

* * *

## 访问引擎和注册

对于高级用例,您可以使用参考文献访问基本的PDFium引擎或插件注册.

```tsx
import { useRef } from 'react';
import { PDFViewer, PDFViewerRef } from '@embedpdf/react-pdf-viewer';

function App() {
  const viewerRef = useRef<PDFViewerRef>(null);

  const getMetadata = async () => {
    // Access the plugin registry
    const registry = await viewerRef.current?.registry;
    if (!registry) return;

    // Access the engine directly
    const engine = registry.getEngine();
    console.log('Engine ready:', engine);
  };

  return (
    <>
      <button onClick={getMetadata}>Get Metadata</button>
      <PDFViewer ref={viewerRef} config={{ src: '/doc.pdf' }} />
    </>
  );
}
```

* * *

## QQ 无头模式

需要完全控制UI吗? 打造定制设计系统??

看看我们 **无头组件** 提供了没有UI的钩和逻辑:

```bash
npm install @embedpdf/core @embedpdf/plugin-zoom ...
```

读取 [无头文档](https://www.embedpdf.com/docs/react/headless/introduction) 更多细节.

* * *

## 许可证

嵌入PDF为 [麻省理工学院执照](https://github.com/embedpdf/embed-pdf-viewer/blob/main/LICENSE)商业用途是受欢迎的——保持版权标题完整.

## 常见问题

### @embedpdf/react-pdf-viewer 是什么？

嵌入 PDF 文档的反应组件

### 如何安装 @embedpdf/react-pdf-viewer？

在项目目录运行 npm install @embedpdf/react-pdf-viewer，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=17\.0\.0）、react-dom（\>=17\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @embedpdf/react-pdf-viewer 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @embedpdf/react-pdf-viewer 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @embedpdf/react-pdf-viewer 可以商用吗？

@embedpdf/react-pdf-viewer 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @embedpdf/react-pdf-viewer 的下载量有多少？

根据 npm 官方下载统计，@embedpdf/react-pdf-viewer 在 2026/10/14 – 2026/11/12 这 30 天内被下载 928,381 次，日均约 30,946 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @embedpdf/react-pdf-viewer 还在维护吗？

最新版本 2\.15\.1 发布于 2026/09/17（1 个月前）；至今共发布 35 个版本，其中过去 12 个月发布了 35 个；首次发布于 2025/12/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

