当前位置:首页 > 行业动态 > 正文

hummus.js

hummus.js是Node.js库,可生成含文本、图像、表格的PDF,适用于服务

简介

Hummus.js 是一个基于 Node.js 的开源库,用于操作 PowerPoint 文件(.pptx),它通过解析和生成 OpenXML 格式的 PPT 文件,实现对幻灯片内容的读取、修改和创建,该库适合需要自动化处理 PPT 的场景,例如批量生成报告、动态填充模板等。


安装与环境

安装命令

npm install hummus

依赖环境

  • Node.js:需 v12+ 版本
  • OpenXML SDK Tools:部分功能依赖微软 OpenXML SDK,需提前安装(Windows 系统通常已内置)。

核心 API

读取 PPT 文件

方法名 参数说明 返回值
read filePath: string(文件路径) Presentation 对象

示例

const hummus = require('hummus');
const presentation = hummus.read("example.pptx");

创建 PPT 文件

方法名 参数说明 返回值
create Presentation 对象

示例

const presentation = hummus.create();
presentation.save("new.pptx");

修改幻灯片内容

方法名 参数说明 返回值
modifySlide slideIndex: number, data: object(修改数据) boolean(是否成功)

示例

presentation.modifySlide(0, { title: "新标题", content: "新内容" });

保存文件

方法名 参数说明 返回值
save filePath: string(保存路径) void

示例

presentation.save("output.pptx");

应用场景

  1. 批量生成报告:通过模板填充数据,自动生成多份 PPT。
  2. 替换:修改现有 PPT 中的文本、图片或图表。
  3. PPT 转其他格式:结合其他库(如 pdf-lib)将 PPT 转为 PDF。

注意事项

问题 解决方案/说明
仅支持 OpenXML 格式 无法处理旧版二进制格式(.ppt),需先用 Office 另存为 .pptx。
浏览器不兼容 仅支持 Node.js 环境,需服务器端运行。
性能瓶颈 大型文件处理可能较慢,建议分页处理或优化逻辑。
版权限制 修改后的 PPT 可能包含原始模板的版权信息,需注意合规性。

相关问题与解答

问题 1:如何将 Word 文档内容导入到 PPT 中?

解答Hummus.js 本身不支持直接操作 Word 文件,需先通过其他库(如 mammoth)提取 Word 内容,再通过 Hummus.js 的 API 将文本插入到 PPT 的指定位置。

问题 2:如何处理包含复杂动画的 PPT?

解答:Hummus.js 对动画的支持有限,复杂动画可能在读取或修改后丢失,建议简化动画效果,或仅通过 Hummus.js 处理静态内容,动画部分

0