关于 paperjsx
paperjsx 是一项根据 JSON 布局规范生成演示文稿、文档、电子表格和 PDF 的技能,适合使用 PaperJSX 创建新文件。它只负责生成,不编辑现有文件。
主要功能
- 01根据 JSON 布局规范生成文件
- 02创建 PPTX 演示文稿
- 03创建 DOCX 文档
- 04创建 XLSX 电子表格
- 05验证生成的文件
适用场景
- 01生成演示文稿幻灯片
- 02创建 Word 报告或文档
- 03制作带图表的电子表格
- 04生成 PDF 发票或报告
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ composio-community/ awesome-codex-skills --skill paperjsx安装后在 Claude Code 中输入/paperjsx确认已加载。
附带文件LICENSE.txtreferences/json-schema.md
详细介绍
PaperJSX 文档生成
根据 JSON 布局规范生成专业文档。PaperJSX 仅用于生成——它会创建新文件,不会编辑现有文件。
触发条件
当用户要求以下操作时,使用此技能:
- 创建演示文稿或生成幻灯片
- 制作 PPTX 或 PowerPoint 文件
- 创建 Word 文档或 DOCX
- 生成带图表的 Excel 电子表格
- 创建 JSON 转 PPTX、JSON 转 DOCX 或 JSON 转 XLSX 文件
- 生成 PDF 发票、报告或图表文档
安装
安装与格式对应的软件包:
# Presentations
npm install @paperjsx/json-to-pptx
# Word documents
npm install @paperjsx/json-to-docx
# Spreadsheets
npm install @paperjsx/json-to-xlsx
# PDF documents
npm install @paperjsx/json-to-pdf
工作原理
- 构建符合
references/json-schema.md中架构的 JSON 布局规范 - 编写 Node.js 脚本,将 JSON 传递给 PaperJSX 引擎
- 运行脚本以生成输出文件
- 验证输出文件存在且大小不为零字节
不要编写命令式 PaperJSX API 代码。执行模式始终为:输入 JSON 规范,输出文档文件。
示例:生成 PPTX
import { PaperEngine } from "@paperjsx/json-to-pptx";
import fs from "node:fs";
const spec = {
type: "Document",
meta: { title: "Q4 Review" },
slides: [
{
type: "Slide",
children: [
{ type: "Text", content: "Q4 2025 Business Review", style: { fontSize: 36, bold: true } }
]
}
]
};
const buffer = await PaperEngine.render(spec);
fs.writeFileSync("presentation.pptx", buffer);
console.log("Generated presentation.pptx");
示例:生成 DOCX
import { renderToDocx } from "@paperjsx/json-to-docx";
import fs from "node:fs";
const result = await renderToDocx({
type: "DocxDocument",
pageSize: "a4",
orientation: "portrait",
pages: [
{
elements: [
{ type: "heading", level: 1, text: "Quarterly Report" },
{ type: "paragraph", text: "Section content here." }
]
}
]
});
fs.writeFileSync("report.docx", result.buffer);
console.log("Generated report.docx");
示例:生成 XLSX
import { SpreadsheetEngine } from "@paperjsx/json-to-xlsx";
import fs from "node:fs";
const spec = {
meta: { title: "Revenue Data", creator: "PaperJSX" },
sheets: [{
name: "Revenue",
rows: [
{ cells: [{ value: "Quarter" }, { value: "Revenue" }] },
{ cells: [{ value: "Q1 2026" }, { value: 420000 }] },
{ cells: [{ value: "Q2 2026" }, { value: 510000 }] }
]
}]
};
const buffer = await SpreadsheetEngine.render(spec);
fs.writeFileSync("revenue.xlsx", buffer);
console.log("Generated revenue.xlsx");
验证
生成任何文件后,务必验证:
import fs from "node:fs";
const stats = fs.statSync("output.pptx");
if (stats.size === 0) {
throw new Error("Generated file is empty");
}
console.log(`Output file: ${stats.size} bytes`);
如果引擎抛出错误,请向用户完整展示错误消息。
架构参考
请参阅 references/json-schema.md,了解所有支持格式的完整 JSON 布局规范架构。
评论
支持 Markdown