テンプレートとデータ

SlidePackの入力データはzipファイルで、PPTX形式のテンプレートファイルと、JSON形式のデータファイルが必要です。 画像などのアセットも必要な場合は同梱します。

input.zip
├─ template.pptx   (必須)
├─ data.json       (必須)
├─ :
└─ :               (任意、画像ファイルなど)

template.pptx

テンプレートは、PugやMustacheのようなテンプレートエンジンにおけるテンプレートに似ていますが、 ここではPowerPointのPPTX形式で作成します。 このファイルは必ず template.pptx というファイル名で保存してください。

テンプレートのスライドには {key} のようなプレースホルダを配置できます。 これらが data.json の該当 キー の値で置き換えられます。

template.pptx

1
template.pptx slide 1
2
template.pptx slide 2

様々な種類のオブジェクトを置換したりデータを流し込んだりできますが、それぞれオブジェクトの指定方法が異なります。

  • テキスト・箇条書き: スライド内の {key} が指定の文字列で置き換えられます。
  • 表組み・グラフ: スライド内の 代替テキストキー と一致する表組みやグラフに、データが流し込まれます。
  • 画像・動画: スライド内の {key} を含むシェイプやテキストボックスが、画像・動画で置き換えられます。

data.json

data.json はテンプレートに流し込むデータを指定するデータファイルです。出力PowerPointのスライド構成もdata.jsonで決まります。

data.json

{
  "slides": [
    {
      "template": 1,
      "some_text": {
        "type": "text",
        "value": "配置する文字列"
      },
      "more_text": {
        "type": "text",
        "value": "もっと文字列"
      }
    },
    {
      "template": 2,
      "my_image": {
        "type": "image",
        "src": "pics/client_logo.png"
      }
    },
    {
      "template": 2,
      "my_image": {
        "type": "image",
        "src": "pics/our_logo.png"
      }
    }
  ]
}

トップレベルslides 配列が、生成されるプレゼンテーションのスライド構成を表します。 この例では合計3枚のスライドからなるpptxが出力されます(一枚目はテンプレートスライド1が元になり、 二枚目と三枚目はテンプレートスライド2が元になります)。

Slideオブジェクト ではまず必須の "template": で使用するテンプレートスライド番号を指定し、 続いて、各 キー に対応するデータオブジェクトを指定していきます。

データオブジェクトでは、まず type プロパティによってどの種類のオブジェクトか(textimage等)を指定してから、 データの内容やオプションを指定します。 対応しているオブジェクトの一覧と、各オブジェクトのデータとオプション指定方法については data.jsonのレファレンス を参照してください。

作成時のTips

  • フォントサイズや色等のスタイルはテンプレートで指定されたものがそのまま適用されますが、一部 data.json のオプション指定により上書きすることができます。
  • SlidePackは正規のJSONにのみ対応していますので、配列やオブジェクトの末尾にコンマ , がつかないようご注意ください。