テンプレートタグを使用すると、データが自動的に入力されるドキュメントテンプレートを作成できます。 ドキュメントの生成時に、Box Doc Genは、テンプレート内のタグを探し、それらをJSON入力のフィールドと照合して、各タグを対応する値に置き換えます。
動的に生成するには、以下のテンプレートタグを使用します。
1. テキストタグ
テキストタグは、文字列型、数値型、または日付型のデータフィールドです。 以下の例では、id、date、customerId、customerName、currency、amountをテキストタグに変換できます。
{
"invoice":{
"id": "Inv1203",
"date": "13-03-2023",
"customerId": "90158",
"customerName": "Acme Inc",
"currency": "$",
"amount": 5060.50
}
}
生成される出力ドキュメントでは、すべてのテンプレートタグが入力データに置き換えられます。
{{first name}} や {{first-name}} はサポートされません。| ドキュメントテンプレート | 出力ドキュメント |
|
請求書 請求書ID: 請求日:
|
請求書 請求書ID: Inv1203 請求日: 13-03-2023
$5060.50 |
省略可能なタグ
| 入力形式 | 入力データ | 出力データ |
{{invoice.customerName}} |
- | {{invoice.customerName}} |
{{invoice.customerName :: optional}} |
- |
デフォルト値
| 入力形式 | 入力データ | 出力データ |
{{invoice.customerName}} |
- | {{invoice.customerName}} |
{{invoice.customerName :: default(“Box Inc”)}} |
- | Box Inc |
テキストタグの書式設定
| 入力形式 | 入力データ | 出力データ |
スクリプトによる サポート |
アドインによる サポート |
{{invoice.customerName :: uppercase}} |
Acme Inc | ACME INC | 〇 | × |
{{invoice.customerName :: lowercase}} |
Acme Inc | acme inc | 〇 | × |
{{invoice.date :: format(“dd-mm-yyyy”) }}
|
13-03-2023 | 13-03-2023 | 〇 | × |
{{invoice.date :: format(“mm-dd-yyyy”) }} |
13-03-2023 | 03-13-2023 | 〇 | × |
{{invoice.date :: format(“dd-mmm-yy”) }} |
13-03-2023 | 13-Mar-23 | 〇 | × |
{{invoice.id :: format(“xxx-xxxx”) }} |
Inv1203 | Inv-1203 | 〇 | × |
{{invoice.amount :: format(“EU-Number”) }} |
300000 | 300.000 | 〇 | × |
{{invoice.amount :: format(“US-Number”) }} |
300000 | 300,000 | 〇 | × |
リッチテキスト
Box Doc Genでは、リッチテキストを含むドキュメントを生成できます。 入力用のJSONデータにHTMLタグ (太字、斜体、下線、改行、段落、アンカー、画像など) が含まれている場合、Doc Genでは、自動的にそのタグがリッチテキストとして解釈され、関連する書式が適用されます。
| HTMLタグ | JSONデータ | 出力 |
| 太字 | { "company": "<b>Acme Inc.</b> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<b> 999-999-9999</b>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 斜体 | { "company": "<i>Acme Inc.</i> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<i> 999-999-9999</i>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 下線 | { "company": "<u>Acme Inc.</u> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<u> 999-999-9999</u>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 太字、斜体、下線 | { "company": "<b><i><u>Acme Inc.</u></i></b>ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<b><i><u> 999-999-9999</u></i></b>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 強調 | { "company": "<strong>Acme Inc.</strong> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<strong> 999-999-9999</strong>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 範囲 | { "company": "<span>Acme Inc.</span> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<span> 999-999-9999</span>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 強調 (斜体) | { "company": "<em>Acme Inc.</em> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:<em> 999-999-9999</em>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 改行 | { "company": "<b>Acme Inc.</b> \n ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 \n 電話:<b> 999-999-9999</b>" } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 段落 | { "company": "<b>Acme Inc.</b> <p> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 </p> <p> 電話:<b> 999-999-9999</b>"</p> } |
Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999 |
| 順序付きリスト | <ol><li>青</li><li>緑</li><li>赤</li></ol> |
|
| 順序なしリスト | <ul><li>青</li><li>緑</li><li>赤</li></ul> |
|
2. 画像タグ
Doc Genでは、Box内の任意の画像ファイルを、生成されたドキュメントに埋め込むことができます。 そのためには、以下の手順に従う必要があります。
1. 画像ファイルをBoxにアップロードする
ドキュメント生成に使用される画像ファイルは、Boxにアップロードする必要があります。
APIによるドキュメントの生成
APIを使用してドキュメントを生成する際にサービスアカウントを使用している場合は、そのサービスアカウントでファイルにアクセスできることを確認してください。
2. Doc Genテンプレートを作成する
Doc Genでは、以下の方法で、画像を使用したドキュメントの生成が可能です。
- プレースホルダ画像からドキュメントを生成する
- HTML画像を使用してドキュメントを生成する
プレースホルダ画像からドキュメントを生成する:
Microsoft Word用アドインを使用したDoc Genテンプレートの作成
アドインを使用して画像タグを挿入するには、以下の手順に従います。
- Box Doc Gen Template Creatorアドインで、希望するプレースホルダ画像を使用して画像タグを作成します。
- [ドキュメントタグ] > [画像タグ] に移動します。
- ドキュメント内で、画像タグを挿入する領域を選択します。
- 画像タグをダブルクリックして挿入します。
これにより、プレースホルダ画像が挿入されます。この画像は、Box Doc Gen APIやその他の上流システムによる入力データに動的に置き換えられます。
プレースホルダ画像のサイズと配置は、Microsoft Wordの機能を使用して変更でき、 これらのプロパティは出力ドキュメントで維持されます。
プレースホルダ画像の「代替テキスト」には次のコードが追加されています。 これを表示するには、画像を選択して、右クリックし、代替テキストを表示します。
{
"image-path": "singleImage",
"alt-text": ""
}注:
- image-pathは、ドキュメント生成リクエストを作成する際に使用されるJSONペイロード内の画像に関する主要なフィールドです。
- プレースホルダ画像の追加も可能です。追加するには、その画像をドキュメントにドラッグアンドドロップするか、画像のプレースホルダを挿入するだけです。 ただし、必要なコードは必ず、ALT TEXTフィールドに手動で入力してください。
forループ内で画像を反復処理する:
forループで複数の画像を含むドキュメントを生成するには、以下のように、画像がFor関数でラップされていることを確認してください。
{{ for item in multipleImages }}
{{ endfor }}
tableループ内で画像を反復処理する:
tableループで複数の画像を含むドキュメントを生成するには、以下のように、画像がTable関数でラップされていることを確認してください。
| {{ tablerow item in multipleImages }} | |
| {{ item.name }} | |
| {{ endtablerow }} |
注: 画像のALT TEXTセクションに必ず画像パスを含めるようにしてください。
{
"image-path": "singleImage",
"alt-text": ""
}HTML画像を含むドキュメントを生成する:
JSONペイロードからHTML画像を含むドキュメントを生成するには、テンプレートにテキストタグを含めます。
例: {{htmlImage}}注: この方法は、単純な画像の生成のみに対応しており、ForループやTableループで繰り返される画像の生成には対応していません。
3. ドキュメントを生成するためのJSONペイロードを作成する
プレースホルダ画像からドキュメントを生成する:
Box内の画像ファイルを含むドキュメントを生成するには、以下のスキーマを使用します。
- プレースホルダ画像で使用されるキー (例: singleImage)
- id - Box内の画像ファイルのファイルIDを渡すため
- type - これがドキュメントに埋め込む画像ファイルであることを示すため
{
"singleImage": {
"id": "1948600448426",
"type": "image",
"name": "Title for image 1"
}注: ここで言及されている画像ファイルIDは、Box内のファイルIDを指しています。
{
"image-path": "singleImage",
"alt-text": ""
}
複数の画像を含むプレースホルダからドキュメントを生成する
Box内の複数の画像ファイルを含むドキュメントを生成するには、以下に示すように、画像スキーマの配列を実行します。
{
"multipleImages": [
{
"id": "1948600448426",
"type": "image",
"name": "Title for image 2"
},
{
"id": "1948600448427",
"type": "image",
"name": "Title for image 3"
},
{
"id": "1948600448428",
"type": "image",
"name": "Title for image 4"
}
]
}HTML画像を含むドキュメントを生成する:
HTML画像タグを使用してBox内の画像をドキュメントに含めるには、次の形式でJSONスキーマを定義します。
{
"htmlImage": "<img src='file://2097093405102' alt='here is a sample image' height='500' width='500'/>"
}この例では、以下のように定義されています。
- file://2097093405102は、Boxに保存されている画像のファイルIDを指します
- heightとwidthでは、画像の表示サイズを定義します
- altでは、画像の代替テキストを指定します
4. ドキュメント生成リクエストを作成する
Doc Genを使用すると、Boxから直接取得した画像が埋め込まれたドキュメントを作成できます。 生成されたドキュメントに画像を含めるには、以下のいずれかの方法を使用できます。
- Box Doc Gen API – 画像を含むドキュメントをプログラムで生成します。 手順を説明するガイダンスについては、Box Doc Gen APIのドキュメントを参照してください。
- Box Doc Genウェブアプリ – ウェブインターフェースを使用して、画像が埋め込まれたドキュメントを作成します。 手順の詳細については、ドキュメントを参照してください。
Salesforce統合 – BoxファイルIDを参照して、画像を含むドキュメントを生成します。 必要なJSONスキーマパターンに従っていることを確認してください。 設定や使用方法については、Salesforce統合のドキュメントを参照してください。
3. 表タグ
入力データの配列を使用して、表を生成して動的に書式設定できます。
以下に例を示します。
-
itemsは、動的な表として表示することができる配列です。 -
id、name、quantity、price、amountは、配列内の変数であり、個々の列として動的な表に表示されます。
{
"invoice":{
"number": "Inv1203",
"date": "13-03-2023",
"customerId": "90158",
"currency": "$",
"amount": 5060.50,
"items": [
{
"id": 1,
"name": "A4用紙",
"quantity": 100,
"price": 29,
"amount": 2900
},
{
"id": 2,
"name": "インクカートリッジ",
"quantity": 40,
"price": 39,
"amount": 1560
},
{
"id": 3,
"name": "接着テープ",
"quantity": 20,
"price": 30,
"amount": 600.50
}
]
}
}
ドキュメントテンプレート
タグが挿入されたドキュメントテンプレートは次のようになります。
| ID | 名前 | 数量 | 価格 |
{{tablerow item in invoice.items}} | |||
{{item.id}} |
{{item.name}} |
{{item.quantity}} |
{{item.price}} |
{{endtablerow}} | |||
出力
Box Doc Genは、ドキュメントテンプレートに追加された表タグを自動的に識別して、入力JSONデータのフィールドと照合し、反復処理を数回実行して入力データに対応した表全体を生成します。
生成されたドキュメントに出力される表は次のようになります。
| ID | 名前 | 数量 | 価格 |
| 1 | A4用紙 | 100 | 29 |
| 2 | インクカートリッジ | 40 | 39 |
| 3 | 接着テープ | 20 | 30 |
4. リストタグ
入力データの配列を使用して、順序付きリストまたは順序なしリストを動的に生成できます。
以下に例を示します。
-
itemsは、動的なリストとして表示することができる配列です。 -
id、name、quantity、price、amountは、配列内の変数であり、リスト内で繰り返されるフィールドとして表示されます。
{
"invoice":{
"number": "Inv1203",
"date": "13-03-2023",
"customerId": "90158",
"currency": "$",
"amount": 5060.50,
"items": [
{
"id": 1,
"name": "A4用紙",
"quantity": 100,
"price": 29,
"amount": 2900
},
{
"id": 2,
"name": "インクカートリッジ",
"quantity": 40,
"price": 39,
"amount": 1560
},
{
"id": 3,
"name": "接着テープ",
"quantity": 20,
"price": 30,
"amount": 600.50
}
]
}
}
入力データを使用して、さまざまな種類のリストを生成できます。
| ユースケース | ドキュメントテンプレート | 出力ドキュメント |
| 箇条書きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含む箇条書きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含む、行頭文字が四角形の箇条書きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含む、行頭文字が白丸の箇条書きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含む番号付きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含むローマ数字付きリストの追加 |
製品のリスト:
|
製品のリスト:
|
| 1つ以上の変数を含むアルファベット付きリストの追加 |
製品のリスト:
|
製品のリスト:
|
リストの書式設定
Box Doc Genテンプレートは、ドキュメントテンプレートで使用できるさまざまなカスタムコードをサポートしています。 次のJSON入力データを参考に、さまざまな区切り記号や区切り文字を使用できます。
{
"items": ["A4用紙", "インクカートリッジ", "接着テープ"]
}
| リストのタイプ | ドキュメントテンプレート | 出力ドキュメント |
| リスト - コンマ区切りを使用 | {{ items :: delimiter(“,”)}} |
A4用紙, インクカートリッジ, 接着テープ |
| リスト - セミコロン区切りを使用 | {{ items :: delimiter(“;”)}} |
A4用紙; インクカートリッジ; and 接着テープ |
| リスト - カスタム区切りを使用 | {{ items :: delimiter(“~”)}} |
A4用紙~ インクカートリッジ~ 接着テープ |
| リスト - コンマ区切りと最後の区切り文字を使用 | {{ items :: delimiter(“,”) , lastdelimiter (“, and”)}} |
A4用紙, インクカートリッジ, and 接着テープ |
| リスト - セミコロン区切りと最後の区切り文字を使用 | {{ items :: delimiter(“;”) , lastdelimiter (“; and”)}} |
A4用紙; インクカートリッジ; and 接着テープ |
| リスト - カスタム区切りと最後の区切り文字を使用 | {{ items | delimiter(“~”)}}, lastdelimiter (“~ and”)}} |
A4用紙~ インクカートリッジ~ and 接着テープ |
5. 条件
条件を使用して、出力ドキュメントに入力を追加できます。 Box Doc Gen Template Creatorアドインは、ドキュメントテンプレート内でこれらの条件を定義するのに役立ちます。
サポートされている条件と演算子
| タグの種類 | サポートされている条件 | 条件のつなぎとしてサポートされている演算子 |
| 文字列 | == (に等しい)、!= (に等しくない)、isPresent | AND、OR |
| 日付 | isPresent | AND、OR |
| 数値 | <、>、==、!=、>=、<= | AND、OR |
以下のJSONを、Box Doc Genテンプレートの条件を定義するための入力とします。
{
"invoice":{
"number": "Inv1203",
"date": "13-03-2023",
"customerId": "90158",
"currency": "$",
"amount": 5060.50,
"paymentMethod": "小切手",
"paymentTerms": "Net60",
"deliveryDate": "23-03-2023",
"items": [
{
"id": 1,
"name": "A4用紙",
"quantity": 100,
"price": 29,
"amount": 2900
},
{
"id": 2,
"name": "インクカートリッジ",
"quantity": 40,
"price": 39,
"amount": 1560
},
{
"id": 3,
"name": "接着テープ",
"quantity": 20,
"price": 30,
"amount": 600.50
}
]
}
}
| ユースケース | ドキュメントテンプレート | 出力ドキュメント |
| 支払い方法と支払い条件に基づいたコンテンツの導入 |
支払い条件:
|
支払い条件:
|
| 請求書の金額と支払い方法に基づいた処理手数料の追加 |
処理手数料:
|
処理手数料:
|
| 請求書の納品日に基づいた納品条件の追加 |
納品条件:
|
納品条件:
|
表を伴う条件
Doc Genでは、表や画像など、任意のコンテンツを条件に応じて表示できます。
{{ if invoice.customerId isPresent }}
| ID | 名前 | 数量 | 価格 |
{{tablerow item in invoice.items}} | |||
{{item.id}} |
{{item.name}} |
{{item.quantity}} |
{{item.price}} |
{{endtablerow}} | |||
{{ endif }}
表内の条件
Doc Genでは、表内の列で条件に応じてコンテンツを表示できます。
例
| ID | 名前 | 数量 | 価格 |
{{ tablerow item in invoice.items }} | |||
{{ item.id}} |
{{ item.name}} |
{{ item.quantity}} |
{{ if item.price isPresent}}{{item.price}}{{ else }}-{{ endif }} |
{{ endtablerow }} | |||
6. 計算
Box Doc Genテンプレートは動的な計算をサポートしています。 手動でタグ付け言語に計算コードを書き込むか、Box Doc Gen Template Creatorアドインを使用することができます。
サンプルコードの計算は以下のようになります。
- 請求書: 個々の明細項目から正味請求額の合計を決定する。
例: Sum (請求書の個々の明細項目の金額) - 発注書: 最大調達額の上限を設定する。
例: 5% * 正味発注額 - 販売契約書: SLA違反に対する違約金を定義する。
例: 10% * 総販売額
サポートされている演算
| 算術演算 | 集約演算 |
| % | PERCENT |
| + | SUM |
| * | AVERAGE |
| - | COUNT |
以下のJSONを、ドキュメントテンプレートに計算を追加するための入力とします。
{
"invoice":{
"number": "Inv1203",
"invoiceDate": "13-03-2023, 12:10 PM",
"deliveryDate": "23-03-2023",
"customerId": "90158",
"currency": "$",
"taxRate": 3,
"taxAmount": 151.8,
"shippingCharge": 15,
"grossAmount": 5060,
"penaltyRate": 10,
"billCap": 25,
"items": [
{
"id": 1,
"name": "A4用紙",
"quantity": 100,
"price": 29,
"amount": 2900
},
{
"id": 2,
"name": "インクカートリッジ",
"quantity": 40,
"price": 39,
"amount": 1560
},
{
"id": 3,
"name": "接着テープ",
"quantity": 20,
"price": 30,
"amount": 600
}
]
}
}
例:
| ユースケース | ドキュメントテンプレート | 出力ドキュメント |
|
指定の総額と税額から正味金額を計算する 算術計算 |
正味金額: {{ invoice.grossAmount + invoice.taxAmount}}
|
正味金額: 注釈: |
|
指定の総額、税額、送料から正味金額を計算する 算術計算 |
正味金額: {{ invoice.grossAmount + invoice.taxAmount + invoice.shippingCharge}}
|
正味金額: 注釈: |
|
指定の税率と総額から税額を計算する 算術計算 |
税額:{{ invoice.taxRate % * invoice.grossAmount}}
|
税額: 注釈: |
|
個々の明細項目の金額から総額を計算する 集約計算 |
総額:{{ $sum(invoice.items.amount) }}
|
総額: 注釈: |
|
明細項目の数を計算する カウント計算 |
カウント:{{ $count(invoice.items.amount) }}
|
カウント: 3 |
| 明細項目の平均を計算する |
平均金額:{{ $average(invoice.items.amount) }}
|
平均金額: 1686.66 |
|
指定の明細金額と税率から正味金額を計算する 算術計算 + 集約計算 |
正味金額:{{ $sum(invoice.items.amount) + invoice.taxRate % * $sum(invoice.items.amount)}}
|
正味金額: 注釈: |
7. Box Signテンプレートタグ
Box SignテンプレートタグをBox Doc Genテンプレートに追加することで、Box Doc Genによって作成された出力ドキュメントを電子サイン用に送信できます。
以下の表に、Box Doc Gen Template Creatorアドインとタグ付けスクリプトで利用できるタグを示します。
| フィールド | Box Signのテンプレートコード |
タグ付けスクリプト によるサポート |
アドインによる サポート |
| テキストフィールド | [[t|0]] |
〇 | 〇 |
| 日付フィールド | [[d|0]] |
〇 | 〇 |
| チェックボックスフィールド | [[c|0]] |
〇 | 〇 |
| 署名フィールド | [[s|0]] |
〇 | 〇 |
| スタンプフィールド | [[st|0]] |
〇 | 〇 |
| イニシャルフィールド | [[i|0]] |
〇 | 〇 |
| 名前フィールド | [[n|0]] |
〇 | 〇 |
| 名フィールド | [[fn|0]] |
〇 | 〇 |
| 姓フィールド | [[ln|0]] |
〇 | 〇 |
| 会社フィールド | [[co|0]] |
〇 | 〇 |
| メールフィールド | [[e|0]] |
〇 | 〇 |
| タイトルフィールド | [[ti|0]] |
〇 | 〇 |
| 添付ファイルフィールド | [[a|0]] |
〇 | 〇 |