動的文書生成とは、ソースからの動的データを用いてパーソナライズされた文書のバッチを自動的に作成するプロセスです。例えば、請求書は各受取人の名前で宛名を付けるなど、パーソナライズされた形式で作成できます。動的データを用いた文書を作成するには、リスト、スプレッドシート、データベース、JSON、配列などのデータソースが必要です。差し込みフィールドは、定義済みのテンプレート内のプレースホルダーであり、上記データソース、またはその他のサポートされているデータソースからのデータを使用して後で置き換えられます。
動的なデータを含む請求書を作成するには、メールマージやマージフィールドの使用などの技術を適用する必要があります。動的なドキュメント生成の最も一般的な方法の1つは、 口ひげのレンダリングテンプレートの設計がはるかに容易になります。カスタム請求書は、Word またはその他のフォーム作成ツールを使用して作成されたドキュメント テンプレートに基づいており、フィールド機能をマージする必要があります。ここでは、マスタッシュ構文を使用して作成されたテンプレートの使用について説明します。 {{placeholder field}} これは後に動的データに置き換えられます。
PDF4me MakeのGenerate Documentアクション 動的なドキュメントを生成するシナリオを作成し、それを自動化できます。テンプレートと動的なデータが準備できていれば、生成プロセスを自動化できます。テンプレートは、Word ファイル、HTML、またはその他のサポートされている形式です。データは、スプレッドシート、CSV、JSON、XML、またはデータリストです。
動的な請求書を生成する
Makeを使用して動的データを含む請求書を生成するには、テンプレートとデータをクラウドストレージプラットフォームに保存する必要があります。少なくともテンプレートはDropboxなどのクラウドストレージに保存する必要がありますが、データは入力データフィールドに直接渡すことができます。
それでは、Makeシナリオを使用して、以下のようなサンプル請求書を作成してみましょう。
私たちのユースケースでは、以下のサンプルがDropboxの場所に用意されていることが想定されます。
ファイル監視トリガーを追加してシナリオを開始
テンプレートの到着を監視するDropboxモジュールを作成します。新しいテンプレートファイルがフォルダに到着するとすぐに、シナリオがトリガーされます。

ファイルのダウンロード Dropbox アクションを追加する
ソースフォルダ内でテンプレートファイルが検出されると、ダウンロードファイルアクションを持つDropboxモジュールが、ストレージからPDF4meアクションにファイルを渡します。ダウンロードファイルアクションを2つ追加する必要があります。
テンプレートをダウンロードするためのもの。

JSONデータをダウンロードするための別の方法

ドキュメント生成アクションにPDF4meモジュールを追加する
次に、PDF4meモジュールを「ドキュメント生成」アクションとともに追加する必要があります。ここでは、テンプレートタイプ、出力タイプ、および入力データを設定する必要があります。入力データは、フィールドに直接入力することも、今回のようにJSONファイルからデータを取得するように設定することもできます。

ユースケースにおけるテンプレートの入力フィールドのデータは、以下のようになるはずです。
{
"Documents": [
{
"header": {
"docType": "Original Copy"
},
"body": {
"Column1": "Quantity",
"Column2": "Description",
"Column3": "Unit Price",
"Column4": "Total",
"Invoice": {
"number": 14957,
"date": "25-02-2022",
"instructions": "Instruction Invoice 1",
"subTotal": 200150,
"tax": "18%",
"dueDate": "25-03-2022",
"shipping": "200"
},
"Biller": {
"phone": "989797",
"fax": "998463",
"web": "www.doc1.com",
"address": {
"company": "Organization 1",
"street": "Street 1",
"city": "City 1",
"zip": "123456"
}
},
"Recepient": {
"name": "recepeint 1",
"address": {
"street": "testveien 3 ",
"city": "City 1",
"zipcode": "0555",
"country": "Country 1"
}
},
"Product": [
{
"quantity": 1,
"description": "item 1",
"unitPrice": 45,
"totalPrice": 867
},
{
"quantity": 2,
"description": "item 2",
"unitPrice": 123,
"totalPrice": 3464
},
{
"quantity": 3,
"description": "item 3",
"unitPrice": 323,
"totalPrice": 6564
}
]
},
"footer": {
"phone": "phone123",
"fax": "fax123",
"web": "www.123.com"
}
}
]
}
複数の出力ファイルを処理するためのイテレータを追加します。
明らかなように、PDF4meアクションはデータに基づいて複数のファイルを生成します。これを処理するには、各ファイルを次のアクションのために処理するMake Iteratorモジュールが必要です。
出力ファイルを保存するためにDropboxアップロードモジュールを追加します。
Dropboxモジュールを作成し、「ファイルのアップロード」アクションを設定して、すべてのファイルを目的のフォルダに保存します。

このシナリオの出力は、以下の文書と似たものになるはずです。
