テンプレートのフォーマット

テンプレートとは

テンプレートは、レポートを生成する元となるpptxファイルです。

このpptxファイルの中のスライドで {title}{image} などのように変数を指定しておくと、指定したデータソース(テキストや画像)の内容を使って変数を置き換えたpptxファイルを生成します。

ここでは、利用できる変数の種類について説明します。


テキストの置き換え

テキストの変数は、{title} のように中括弧で指定します。変数名は、任意の英数字とハイフン(-)、アンダースコア(_) の組み合わせを自由に決めることができます。文字サイズや文字色などのスタイルは、テンプレートで指定されたものが維持されます。

テンプレート例

Screenshot

データソース例 (JSON)

[
    {
        "template_slide": 1,
        "title": "ページタイトル",
        "message": "メッセージライン",
        "0_1": "表の",
        "0_2": "中も",
        "1_1": "置き換えられ",
        "1_2": "ます"
    }
]

アウトプット

Screenshot


画像の置き換え

画像の変数もテキストと同様に中括弧で定義しますが、{!photo} のように変数名が ! ではじまります。画像のサイズは、テンプレートに配置されたオブジェクトの大きさに応じて自動調整することができます。

テンプレート例

Screenshot

データソース例 (JSON)

[
    {
        "template_slide": 1,
        "title": "画像の挿入",
        "image1": {
            "src_path": "image.png",
            "scaling": "auto"
        },
        "image2": {
            "src_path": "image.png",
            "scaling": "fit-width"
        }
    }
]

src_path は画像ファイルのパスです。

scaling は、画像を拡大・縮小するためのルールです。次のオプションが利用できます。なお、どのオプションを指定した場合でも縦横比は維持されます。

  • auto: 画像全体がテキストボックスのサイズに収まるように調整されます。(デフォルト)
  • fit-width: 画像の横幅をテキストボックスの横幅に揃えます。縦幅ははみ出ることがあります。
  • fit-height: 画像の縦幅をテキストボックスの縦幅に揃えます。横幅ははみ出ることがあります。
  • original: オリジナル画像のサイズのまま配置します。位置は、テキストボックスの左上が起点となります。

アウトプット

Screenshot


グラフの置き換え

グラフの場合は、 代替テキスト という属性を変数として利用します。以下の例では、 chart という変数を指定しています。系列の数は、あらかじめ用意するテンプレートと揃っている必要がありますが、系列ごとの値の数は可変です。

テンプレート例

Screenshot

データソース例

[
    {
        "template_slide": 1,
        "title": "グラフの挿入",
        "chart": {
            "is_chart": true,
            "series1": {
                "name": "系列1",
                "values": [1, 2, 3],
                "labels": ["a", "b", "c"]
            },
            "series2": {
                "name": "系列2",
                "values": [10, 15, 20],
                "labels": ["a", "b", "c"]
            }
        }
    }
]

アウトプット

Screenshot


単純な繰り返し

同じ要素を、縦方向または横方向に繰り返し配置することもできます。繰り返す変数は、{#people}{age}歳 {gender}性{/people} のように、#ではじまる名前を利用します。

テンプレート例

Screenshot

データソース例

[
    {
        "template_slide": 1,
        "title": "単純な繰り返し",
        "images": {
            "direction": "vertical",
            "interval": "60mm",
            "data": [
                {
                    "description": "1つ目",
                    "image": {
                        "src_path": "ogimage.png",
                        "scaling": "auto"
                    }
                },
                {
                    "description": "2つ目",
                    "image": {
                        "src_path": "ogimage.png",
                        "scaling": "auto"
                    }
                }
            ]
        }
    }
]

繰り返しの方向は direction で指定します。vertical を指定すると縦方向に、horizontal を指定すると横方向に繰り返します。

繰り返しの間隔の指定方法は2通りあります。

  • interval: 指定した間隔ごとに要素を配置します。間隔が短いと、要素は重なることがあります。
  • margin: 要素と要素の間にどれだけの隙間をあけるかを指定します。

アウトプット

Screenshot


表の繰り返し

表に、任意の数の列や行を追加することができます。表の繰り返しは、グラフと同じように表の 代替テキスト をキーにしてデータの流し込みを行います。以下の例では、 sometable という変数を指定しています。

テンプレート例

Screenshot

データソース例

[
    {
        "template_slide": 1,
        "sometable": {
            "is_table": true,
            "rows": [
                ["a", "b", "c", "d"],
                ["e", "f", "g", "h"],
                ["i", "j", "k", "l"],
                ["m", "n", "o", "p"],
                ["q", "r", "s", "t"]
            ]
        }
    }
]

rows には、セルが結合していない状態での配列を指定します。結合しているセルに値を挿入するためには、結合していない状態で左上にくるセルの部分に値を指定します。

アウトプット例

Screenshot