paperjsx について
paperjsxは、JSONのレイアウト仕様からプレゼンテーション、文書、スプレッドシート、PDFを生成するスキルです。PaperJSXで新規ファイルを作成する用途向けで、既存ファイルの編集には対応しません。
主な機能
- 01JSONレイアウト仕様からファイルを生成
- 02PPTXプレゼンテーションの作成
- 03DOCX文書の作成
- 04XLSXスプレッドシートの作成
- 05生成ファイルの検証
活用シーン
- 01プレゼンテーションスライドの生成
- 02Wordのレポートや文書の作成
- 03グラフ付きスプレッドシートの作成
- 04PDFの請求書やレポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
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 レイアウト仕様を作成します- JSON を PaperJSX エンジンに渡す Node.js スクリプトを記述します
- スクリプトを実行して出力ファイルを生成します
- 出力ファイルが存在し、サイズが 0 バイトではないことを検証します
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`);
エンジンがエラーをスローした場合は、エラーメッセージ全体をユーザーに提示してください。
スキーマのリファレンス
すべての対応形式における JSON レイアウト仕様の完全なスキーマについては、references/json-schema.md を参照してください。
コメント
Markdown 対応