mcpField
P
paperjsx

paperjsx

github.com/composio-community文档处理17.1k522 次安装14 周前更新
代码仓库

关于 paperjsx

paperjsx 是一项根据 JSON 布局规范生成演示文稿、文档、电子表格和 PDF 的技能,适合使用 PaperJSX 创建新文件。它只负责生成,不编辑现有文件。

主要功能

  1. 01根据 JSON 布局规范生成文件
  2. 02创建 PPTX 演示文稿
  3. 03创建 DOCX 文档
  4. 04创建 XLSX 电子表格
  5. 05验证生成的文件

适用场景

  1. 01生成演示文稿幻灯片
  2. 02创建 Word 报告或文档
  3. 03制作带图表的电子表格
  4. 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

工作原理

  1. 构建符合 references/json-schema.md 中架构的 JSON 布局规范
  2. 编写 Node.js 脚本,将 JSON 传递给 PaperJSX 引擎
  3. 运行脚本以生成输出文件
  4. 验证输出文件存在且大小不为零字节

不要编写命令式 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