@diceui/pptx-core

中文文档
0.4.0发布于 2026/11/06Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 9.9万

PPTX 引擎用于解析,渲染,编辑,并保存浏览器中的PowerPoint演示文稿.

中文使用文档
文档目录8 节
  1. 文档
  2. 安装
  3. 放映幻灯片
  4. 完整浏览器
  5. 编辑并保存
  6. 嵌入式字体
  7. OOXML 支持
  8. 许可证

@ diceui/ pptx 核心

一个PPTX引擎,用于在浏览器中解析,渲染,编辑并保存PowerPoint演示文稿.

文档

访问 pptx.diceui.com (中文(简体) ) 查看文件全文.

安装

npm install @diceui/pptx-core

放映幻灯片

import { buildPresentation, readPptx, renderSlide } from "@diceui/pptx-core";

const files = await readPptx(arrayBuffer);
const presentation = buildPresentation(files);
const handle = renderSlide(presentation, presentation.slides[0]);

document.body.appendChild(handle.element);

// When done
handle.dispose();

完整浏览器

PptxViewer 在框外提供导航、缩放、缩略图和文本搜索:

import { PptxViewer } from "@diceui/pptx-core";

const viewer = new PptxViewer(container);
await viewer.open(arrayBuffer);
await viewer.goToSlide(2);

编辑并保存

装入 keepSourcePackage: true 以保留源归档,然后应用已键入的编辑操作并写回 a .pptx (动画、评论、供应商延伸):

import { applyEdit, buildPresentation, readPptx, writePptx } from "@diceui/pptx-core";

const presentation = buildPresentation(await readPptx(buffer, { keepSourcePackage: true }));

const result = await applyEdit(presentation, {
  type: "setTextRun",
  slideId: presentation.slides[0].id,
  nodeId: "2",
  paragraphIndex: 0,
  runIndex: 0,
  text: "Hello",
});

// result.undo() restores the previous state
const bytes = await writePptx(presentation);

支助行动:

  • 文本 : setTextRun, (中文(简体) ), setTextBody, (中文(简体) ), setTextStyle,以及 setParagraphStyle
  • 形状 : setNodeTransform, (中文(简体) ), setSolidFill, (中文(简体) ), setOutline, (中文(简体) ), deleteNode, (中文(简体) ), duplicateNode, (中文(简体) ), reorderNode, (中文(简体) ), addTextBox, (中文(简体) ), addShape, (中文(简体) ), addImage,以及 pasteNodes (与 copyNodes()(中文(简体) )
  • 幻灯片 : addSlide, (中文(简体) ), moveSlide, (中文(简体) ), duplicateSlide, (中文(简体) ), deleteSlide,以及 setSlideBackground
  • batch: 多个操作作为可撤销的步骤

创建幻灯片或形状的编辑器报告其编号 result.createdSlideId 财务报告和审定财务报表 result.createdNodeIds对于拾取者, getPresentationFonts() 列出甲板的字体和 getPresetShapePath() 绘制预设形状为 SVG 路径数据 .

嵌入式字体

字体解码(包括 MTX 压缩的嵌入式字体) 生活在一个单独的切入点,所以它不包含在您的捆绑中, 除非使用 :

import { decodeEmbeddedFont } from "@diceui/pptx-core/fonts";

OOXML 支持

见 OXML-SUPPORT.md (英语) 对ECMA-376的特征矩阵.

许可证

阿帕奇2.0 (英语). 第三方项目产生的部分;见 通知下的文件 LICENSES/ 持有各自的许可证(预定义的表格样式为MPL-2.0).

版本与发布记录

@diceui/pptx-core 共发布 9 个版本,首次发布于 2026/09/01;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.0latest2026/11/066 天前
0.3.02026/11/056 天前
0.2.12026/09/261 个月前
0.2.02026/09/102 个月前
0.1.42026/09/092 个月前
0.1.32026/09/032 个月前

关于 @diceui/pptx-core 的常见问题

@diceui/pptx-core 是什么?

PPTX 引擎用于解析,渲染,编辑,并保存浏览器中的PowerPoint演示文稿.

如何安装 @diceui/pptx-core?

在项目目录运行 npm install @diceui/pptx-core,或使用 pnpm add / yarn add / bun add。

@diceui/pptx-core 支持 TypeScript 吗?

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

@diceui/pptx-core 支持 ESM 还是 CommonJS?

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

@diceui/pptx-core 可以商用吗?

@diceui/pptx-core 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@diceui/pptx-core 的下载量有多少?

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

@diceui/pptx-core 还在维护吗?

最新版本 0.4.0 发布于 2026/11/06(6 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/09/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。