# @file-viewer/renderer-presentation 中文文档

规范地址：https://npmcn.com/package/%40file-viewer/renderer-presentation/

版本：3\.3\.3
npm 元数据更新时间：2026-10-31T11:23:32.994Z
中文译文更新时间：2026-11-14T17:42:09.781Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40file-viewer/renderer-presentation
原文对照：https://npmcn.com/package/%40file-viewer/renderer-presentation/?lang=original
项目主页：https://doc.file-viewer.app/guide/on-demand-renderers
源码仓库：https://github.com/flyfish-dev/file-viewer

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

- 包体积（解压后）：23.4 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-06-23T06:20:42.620Z
- 最新版本发布：2026-10-31T11:23:32.678Z
- 近 30 天下载量：105288（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 58 个）

## 中文简介

二进制PPT和OpenXML PPTX演示文稿格式的独立PowerPoint渲染器.

## 安装

```sh
npm install @file-viewer/renderer-presentation
```

也可以使用：`pnpm add @file-viewer/renderer-presentation`、`yarn add @file-viewer/renderer-presentation`、`bun add @file-viewer/renderer-presentation`

## README

# @file-viewer/renderer-presentation

[English](https://github.com/flyfish-dev/file-viewer/blob/main/packages/renderers/presentation/README.md) · [简体中文](https://github.com/flyfish-dev/file-viewer/blob/main/packages/renderers/presentation/README.zh-CN.md)

Flyfish File Viewer 的独立演示文稿 renderer 包。PowerPoint 97–2003 二进制 `.ppt` / `.pot` 使用独立的 `@file-viewer/ppt@1.0.2` TypeScript 引擎，PPTX/PPTM/POTX/POTM/PPSX/PPSM 使用 `@file-viewer/pptx`；两条链路都接入统一缩放、打印和 HTML 导出。

## 用法

```ts
import FileViewer from '@file-viewer/vue3'
import { presentationRenderer } from '@file-viewer/renderer-presentation'

const options = {
  rendererMode: 'replace',
  renderers: presentationRenderer,
}
```

只需要一种 PowerPoint 格式族时，使用稳定子路径避免另一条引擎进入生产 bundle：

```ts
import { pptRenderer } from '@file-viewer/renderer-presentation/ppt'
import { pptxRenderer } from '@file-viewer/renderer-presentation/pptx'

const pptxOnlyOptions = {
  rendererMode: 'replace',
  renderers: pptxRenderer,
}
```

Vite 项目也可以让插件生成同一条 PPTX-only import：

```ts
import { fileViewerRenderers } from '@file-viewer/vite-plugin'

fileViewerRenderers({ formats: ['pptx'] })
```

这种配置不会将二进制 `.ppt` 引擎带入生产产物；需要同时支持两种格式时继续使用根入口 `presentationRenderer`。

也可以和其他 renderer 组合：

```ts
const options = {
  rendererMode: 'replace',
  renderers: [presentationRenderer],
}
```

## 说明

-   二进制 `.ppt` 与 OOXML 演示文稿保持独立解析链路，不会把传统 PPT 误送进 ZIP/PPTX 解析器。
-   `odp` 仍由 core 的 OpenDocument 兼容 renderer 负责，避免把不同格式族的解析链路混在一起。
-   File Viewer 按需加载独立版本的 `.ppt` 引擎。Demo、Full 资产包和 CDN/IIFE 在 `vendor/ppt/` 交付经过校验的完整包；独立模块和解析 Worker 位于 `vendor/ppt/dist/`，完整部署生成的资产即可使用默认 URL。
-   TypeScript 引擎通过模块 Worker 解析，SVG 布局与 Canvas 快照在主线程完成；Worker 不可用时回退直接解析。无需 WASM 和内置字体包，文字布局使用宿主浏览器字体。
-   `options.presentation.pptModuleUrl`、`pptWorkerUrl` 用于自定义静态路径；`pptWorker` 选择解析路径。旧 `pptWasmUrl`、`pptFontUrl`、`pptCache` 参数仅为迁移兼容而接受，不加载原生资源、不启用持久帧缓存。
-   新 TypeScript 公共编译包采用 Apache-2.0，源码保持私有，交付时保留其 LICENSE 和 NOTICE.md。旧 native/WASM 发行线的许可与水印要求不变。复杂效果与缺失的宿主字体仍可能影响预览。

## 迁移说明

`@file-viewer/core` 已不再直接依赖 `@file-viewer/pptx`，PowerPoint 预览能力由本包和 `@file-viewer/preset-all` 承接。只安装 core 时，PPTX 会提示安装对应 renderer；需要官方 Demo 的完整格式矩阵时，直接传入 `allRenderers` 即可。

## 常见问题

### @file-viewer/renderer-presentation 是什么？

二进制PPT和OpenXML PPTX演示文稿格式的独立PowerPoint渲染器\.

### 如何安装 @file-viewer/renderer-presentation？

在项目目录运行 npm install @file-viewer/renderer-presentation，或使用 pnpm add / yarn add / bun add。

### @file-viewer/renderer-presentation 支持 TypeScript 吗？

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

### @file-viewer/renderer-presentation 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @file-viewer/renderer-presentation 可以商用吗？

@file-viewer/renderer-presentation 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @file-viewer/renderer-presentation 的下载量有多少？

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

### @file-viewer/renderer-presentation 还在维护吗？

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

