@artifact-kit/pptxgenjs-jsx

中文文档
0.1.6发布于 2026/04/29MITTypeScriptESM + CJS近 30 天下载 2.9万

PptxGenJS的LLM友好JSX声明层.

中文使用文档
文档目录8 节
  1. 它能生产什么
  2. 安装
  3. 基本用途
  4. HTML 为可编辑的 PPTX
  5. 何时使用
  6. 文档布局
  7. 构建产出
  8. 发展

@ artifact- kit/ pptxgenjs- jsx

将可编辑的PowerPoint甲板写入JSX. 将 HTML 和 SVG 重新创建为本地 .pptx 当截图不够好时对象.

这个包包包 PptxGenJS 密码 具有LLM友好组件模型:

  • 将甲板描述为可读树: <Deck><Slide><Text /></Slide></Deck>。 。 。 .
  • 使用专用组件用于文本,形状,图像,表格,图表,行,和生PptxGenJS逃出舱门.
  • 在写入文件前验证结构 .
  • 在浏览器工作流程中,测量真正的DOM节点并将其映射入PowerPoint坐标.
  • 导出可编辑的PowerPoint对象,而不是将一个页面平整成一个位图 .

它能生产什么

注意的例子就是这个repo中最清楚的证据. 它从1600x900 HTML/Tailwind/SVG 讲座幻灯片开始,测量浏览器中渲染的DOM,然后重建幻灯片作为可编辑的PowerPoint文本,形状,行,箭头,图表对象,和图表部分.

来源 HTML :

Source HTML slide

生成的 PPTX 预览 :

Generated PPTX preview

可编辑的本地PowerPoint对象 :

Editable native PowerPoint objects

在 实例/注意/出口者.html它进行DOM测量, SVG原始绘图, LineBetween, (中文(简体) ), CustomGeometry,本地图表输出,验证,和浏览器下载行为.

安装

pnpm add @artifact-kit/pptxgenjs-jsx

基本用途

当您已经知道幻灯片结构和坐标时使用 JSX :

/** @jsxImportSource @artifact-kit/pptxgenjs-jsx */
import { BarChart, Deck, RoundRect, Slide, Text, renderPptx, validateDeck } from "@artifact-kit/pptxgenjs-jsx";

const deck = (
  <Deck title="Q1 Review" layout={{ name: "WIDE", width: 13.333, height: 7.5 }}>
    <Slide background={{ color: "FFFFFF" }}>
      <RoundRect x={0.7} y={0.6} w={3.8} h={0.6} fill={{ color: "EEF2FF" }} />
      <Text x={0.9} y={0.78} w={3.4} h={0.3} fontSize={18} bold>Q1 Review</Text>
      <BarChart data={[{ name: "Revenue", labels: ["Jan", "Feb", "Mar"], values: [12, 18, 24] }]} x={6.5} y={1} w={5.5} h={3} />
    </Slide>
  </Deck>
);

const issues = validateDeck(deck);
if (issues.some((issue) => issue.level === "error")) throw new Error(JSON.stringify(issues, null, 2));
await renderPptx(deck, { fileName: "q1-review.pptx" });

如果你不想JSX变换,请使用 pptxElement(Component, props, ...children)。 。 。 .

HTML 为可编辑的 PPTX

对于本地工具和代理生成的导出者,您可以在浏览器中直接用IIFE架构加上 Babel 独立编写 JSX. 当真实的来源是已渲染的 HTML 页面、仪表板、报告或类似幻灯片的文档时,这样做是有用的.

工作流程如下:

  1. 保持源 HTML 干净.
  2. 复制到出口页面.
  3. 在一个垂直文档中显示每个幻灯片/页面.
  4. 添加 data-ak-slide, (中文(简体) ), data-ak-width, (中文(简体) ), data-ak-height, (中文(简体) ), data-ak-px-per-in,以及 data-ak-measure 标记.
  5. 输出时, 呼叫 measureArtifacts({ document })。 。 。 .
  6. 使用 readSlideLayout(), (中文(简体) ), readPptBox(),以及 readFontPt() 以放置本地 PowerPoint 对象.
  7. 运行 validateDeck(),则 renderPptx()。 。 。 .

最小浏览器模式 :

<script src="https://unpkg.com/@artifact-kit/pptxgenjs-jsx/dist/pptxgenjs-jsx.browser.iife.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel" data-presets="typescript,react">
  /** @jsx pptxElement */
  const {
    Deck,
    Slide,
    Text,
    measureArtifacts,
    pptxElement,
    readFontPt,
    readPptBox,
    readSlideLayout,
    renderPptx,
    validateDeck,
  } = window.ArtifactKitPptxGenJsx;

  document.querySelector("#export-pptx").addEventListener("click", async () => {
    await measureArtifacts({ document });

    const deck = (
      <Deck title="Measured deck" layout={readSlideLayout("slide-1")}>
        <Slide background={{ color: "FFFFFF" }}>
          <Text {...readPptBox("title-1")} fontSize={readFontPt("title-1")} bold margin={0}>
            {document.querySelector('[data-ak-measure="title-1"]').textContent.trim()}
          </Text>
        </Slide>
      </Deck>
    );

    const issues = validateDeck(deck);
    if (issues.some((issue) => issue.level === "error")) throw new Error(JSON.stringify(issues, null, 2));
    await renderPptx(deck, { fileName: "measured-export.pptx" });
  });
</script>

见 实例/浏览器-jsx.html 对于一个小浏览器示例和 实例/注意/出口者.html 用于完整计量的第一个 HTML 至 PPTX 示例.

何时使用

需要时使用此软件包 :

  • 从TypeScript,浏览器工具或代理授权代码生成的可编辑的PowerPoint文件.
  • 一个声明表层,比命令的紧急呼叫更容易让LLMs写作和审查.
  • 原生图表,表格,形状,图像,文本运行,行,和自定义几何.
  • HTML-to-PPTX重建,其中的布局来自真实的浏览器测量.
  • 用于编码剂的机器可读文档和组件表.

当一个单一的截图图像是预定的最终文物时,不要使用. 当生成的甲板必须保持可编辑性时,这个包最有价值.

文档布局

这种回购是为人类和代理人组织的:

构建产出

产出文件
节点无害环境管理dist/pptxgenjs-jsx.es.js
节点 CJSdist/pptxgenjs-jsx.cjs
浏览器ESMdist/pptxgenjs-jsx.browser.es.js
浏览器IIFEdist/pptxgenjs-jsx.browser.iife.js 全球 ArtifactKitPptxGenJsx

发展

pnpm install
pnpm docs:generate
pnpm test
pnpm test:attention

版本与发布记录

@artifact-kit/pptxgenjs-jsx 共发布 4 个版本,首次发布于 2026/04/29;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.1.6latest2026/04/296 个月前
0.1.52026/04/296 个月前
0.1.12026/04/296 个月前
0.1.02026/04/296 个月前

关于 @artifact-kit/pptxgenjs-jsx 的常见问题

@artifact-kit/pptxgenjs-jsx 是什么?

PptxGenJS的LLM友好JSX声明层.

如何安装 @artifact-kit/pptxgenjs-jsx?

在项目目录运行 npm install @artifact-kit/pptxgenjs-jsx,或使用 pnpm add / yarn add / bun add。

@artifact-kit/pptxgenjs-jsx 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@artifact-kit/pptxgenjs-jsx 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@artifact-kit/pptxgenjs-jsx 可以商用吗?

@artifact-kit/pptxgenjs-jsx 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@artifact-kit/pptxgenjs-jsx 的下载量有多少?

根据 npm 官方下载统计,@artifact-kit/pptxgenjs-jsx 在 2026/10/07 – 2026/11/05 这 30 天内被下载 29,120 次,日均约 971 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@artifact-kit/pptxgenjs-jsx 还在维护吗?

最新版本 0.1.6 发布于 2026/04/29(6 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/04/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。