テンプレートとデータ
SlidePackの入力データはzipファイルで、PPTX形式のテンプレートファイルと、JSON形式のデータファイルが必要です。 画像などのアセットも必要な場合は同梱します。
input.zip
├─ template.pptx (必須)
├─ data.json (必須)
├─ :
└─ : (任意、画像ファイルなど)
template.pptx
テンプレートは、PugやMustacheのようなテンプレートエンジンにおけるテンプレートに似ていますが、
ここではPowerPointのPPTX形式で作成します。
このファイルは必ず template.pptx
というファイル名で保存してください。
テンプレートのスライドには {key} のようなプレースホルダを配置できます。
これらが data.json
の該当 キー の値で置き換えられます。
template.pptx
様々な種類のオブジェクトを置換したりデータを流し込んだりできますが、それぞれオブジェクトの指定方法が異なります。
- テキスト・箇条書き: スライド内の {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
プロパティによってどの種類のオブジェクトか(text
、image
等)を指定してから、
データの内容やオプションを指定します。
対応しているオブジェクトの一覧と、各オブジェクトのデータとオプション指定方法については data.jsonのレファレンス を参照してください。
作成時のTips
- フォントサイズや色等のスタイルはテンプレートで指定されたものがそのまま適用されますが、一部
data.json
のオプション指定により上書きすることができます。 - SlidePackは正規のJSONにのみ対応していますので、配列やオブジェクトの末尾にコンマ
,
がつかないようご注意ください。