mcpField
E
export-pptx

export-pptx

github.com/bluzirドキュメント10752 回インストール27 週間前に更新
リポジトリ

export-pptx について

HTMLスライドを、各ページを画像にしたPPTXへ変換するスキルです。スピーカーノートも追加できますが、PowerPoint上でスライド内容をネイティブ編集することはできません。

主な機能

  1. 01HTMLスライドを画像として出力
  2. 02スライドごとのノート追加
  3. 0316:9のPPTX出力
  4. 04JPEG圧縮オプション

活用シーン

  1. 01HTMLプレゼンテーションのPPTX変換
  2. 02ノート付きスライドの共有
  3. 03JPEGによる出力ファイルの縮小

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bluzir/claude-code-design --skill export-pptx

インストール後、Claude Code で/export-pptxを入力して読み込まれたか確認します。

詳細

PPTX のエクスポート

スクリーンショットベースの PPTX エクスポートです。<deck-stage> 内の各 <section> が 1 枚のスライドになります(1920×1080 の画像+任意のスピーカーノート)。

事前確認

  1. Bash(which node) — 見つからない場合は、Node 20 以降をインストールするようユーザーに伝えます
  2. package.json に pptxgenjs と puppeteer が含まれていることを確認します。含まれていない場合は、次を実行します。
    Bash(npm install -D pptxgenjs puppeteer)
    
    (または、先に /doctor を実行するようユーザーに伝えます)

手順

  1. パスを解決します。

    • $0 = デッキの HTML(必須)
    • $1 = 出力先(デフォルト:ベース名+.pptx)
  2. エクスポートスクリプトを実行します。

    Bash(node scripts/export-pptx.mjs "<input>" "<output>")
    
  3. ファイルサイズとパスを報告します。

スクリプトの依存関係

scripts/export-pptx.mjs が存在する必要があります。存在しない場合は作成します(テンプレートは仕様の §4.5 を参照するか、ユーザーに /doctor の実行を依頼してください)。

スクリプトの動作

  • ヘッドレス Chromium(puppeteer)を起動します
  • デッキの HTML を 1920×1080 で読み込みます
  • <deck-stage>.totalSlides を読み取ります
  • 各スライドについて、goToSlide(i) を実行し、noscale を設定して、page.screenshot でクリップ領域 0,0,1920,1080 のスクリーンショットを撮影します
  • #speaker-notes の JSON(存在する場合)を読み取り、スライドごとのノートとして添付します
  • pptxgenjs を使って .pptx を作成します(16:9 のレイアウトで、各スライドに PNG 背景を 1 枚配置)

注意事項

  • 画像のファイルサイズは大きくなる場合があります。1920×1080 では、1 スライドあたり 5 MB が通常です
  • ファイルサイズを小さくするには、スクリプトに --jpeg 0.8 を渡します(品質 80% の JPEG に圧縮します)
  • PowerPoint では編集できません。各スライドはラスター画像です。ネイティブ編集可能なエクスポートは、v3 ではスキルがサポートしていません

コメント