快速开始
简介
office-open 项目及其包的概述
office-open 是一个用于生成 Office Open XML 文档的 TypeScript monorepo 项目。它提供声明式 API 来创建 .docx、.pptx 和 .xlsx 文件,无需安装 Microsoft Office。
Monorepo 结构
项目由四个包组成,每个包职责明确:
@office-open/core
基础共享包。提供:
- 跨文档类型通用的 XML 组件
- 值验证工具
- OOXML 格式化辅助函数
- 单位转换器(如 EMU、磅、twips)
你通常不需要直接安装此包——它是各文档生成包的依赖项。
@office-open/xml
XML 解析和序列化层:
- 将 XML 字符串转换为兼容 JSON 的对象树
- 将对象树序列化回 XML 字符串
- 处理 OOXML 特有的 XML 约定(命名空间、前缀)
@office-open/docx
Word 文档生成:
- 创建包含段落、表格、图片、页眉、页脚等的
.docx文件 - 支持样式、节、页面布局和编号
- 导出为
Buffer(Node.js)或Blob(浏览器)
@office-open/pptx
PowerPoint 演示文稿生成:
- 创建包含幻灯片、形状、图片和图表的
.pptx文件 - 支持幻灯片布局、母版和切换效果
- 导出为
Buffer(Node.js)或Blob(浏览器)
工作原理
- 使用声明式 API 描述文档(如
new Document(...)、new Paragraph(...)) - 每个元素映射到一个 XML 组件,生成合法的 OOXML 标记
Packer将所有组件序列化为 Office Open XML 包(ZIP 归档)- 你将获得一个可直接保存或提供的
Buffer或Blob