@file-viewer/renderer-presentation

中文文档
3.3.3发布于 2026/10/31Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 10.5万

Standalone PowerPoint renderer for binary PPT and OpenXML PPTX presentation formats.

原始使用文档
文档目录3 节
  1. 用法
  2. 说明
  3. 迁移说明

@file-viewer/renderer-presentation

English · 简体中文

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

用法

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

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

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

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:

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

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

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

也可以和其他 renderer 组合:

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 共发布 58 个版本,首次发布于 2026/06/23;过去 12 个月发布了 58 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.3.3latest2026/10/3114 天前
3.3.12026/10/3015 天前
3.3.02026/10/2718 天前
3.2.22026/10/1827 天前
3.2.12026/10/1530 天前
3.2.02026/10/1530 天前

关于 @file-viewer/renderer-presentation 的常见问题

@file-viewer/renderer-presentation 是什么?

Standalone PowerPoint renderer for binary PPT and OpenXML PPTX presentation formats.

如何安装 @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 和提交记录判断。