[toc]
概要
本記事では、D3Workerのサービス「ワーク実行 - PDF結合」を活用して、既存のPDFとOPROARTSで生成したPDFを結合し、結合したPDFをWeb配信する方法を紹介します。
注文書(既存PDF)と請求書(生成するPDF)の結合を例として説明します。
事前準備
本シナリオを実行するには、以下の2点を準備します。
-
請求書の帳票テンプレート
OPROARTSで請求書のPDFを生成するために、請求書の帳票テンプレートを用意します。
今回は、OPROARTS Designerの「新規作成」で選べるこちらのサンプルを使用します。 -
結合する既存PDF(注文書)
本記事では例として以下の注文書を使用します。
シナリオ:既存PDFとOPROARTSで生成したPDFを結合して配信する
このシナリオでは、以下の2つのワークを組み合わせることで、請求書PDFと注文書PDFを自動的に結合し、メール送信することが可能になります。
- ワーク①: 請求書のPDFを生成して、手元にある注文書PDFと結合し、ワーク②に渡すワーク
- ワーク②: ワーク①から受け取った結合済みPDFをメール送信するワーク
ワーク①:PDFの生成と結合
サービス設定
使用するサービスは以下の2つです。
-
OPROARTS
詳しくは「D3Workerのサービス設定(OPROARTS連携)(Salesforce)」をご参照ください。
-
ワーク実行 - PDF結合
詳しくは「D3Workerのサービス設定(ワーク実行 - PDF結合)(Salesforce)」をご参照ください。
💡補足「ワーク実行 - PDF結合」サービスの設定において、以下の点に留意してください。
- 「PDFの結合方法」で既存PDF(注文書)と生成する文書(請求書)をどの順番で結合するか指定します。
- ワーク②では渡されたCSVデータのフィールド値を使用しませんが、実行するワークのデータCSVでは形式的に最低1つのフィールドを用意して値を設定する必要があります。
フィールド値を指定しないとワーク②が動作しません。
エンベロープ設定
文書化サービスに「OPROARTS」を基に作成したサービスを指定し、配送サービスに「ワーク実行 - PDF結合」を基に作成したサービスを指定します。
-
文書化サービス
-
配送サービス
ワーク設定
基本設定で名称とメモを入力したら、「データソース」「エンベロープ」「文書とデータのマッピング」の設定をします。
-
データソース
ワーク①が受け取るCSVデータのフィールドを順番通りに定義します。
受け取ったCSVデータは、「文書とデータのマッピング」で指定する帳票テンプレートにCSVデータとして渡します。今回はSalesforceやkintoneと連携せずに直接D3WorkerにCSVデータを渡します。
使用するCSVデータに合わせて文字コードを指定し、先頭行が項目名である場合(実際に使用する値でない場合)は先頭行の「データとして使用しない」にチェックを入れます。 -
エンベロープ
同じ請求番号を含むCSVデータの行を1つのエンベロープ単位に含めるため、エンベロープフィールドには請求番号フィールドを指定します。
「ELSEとして使用する」にチェックを入れます。 -
文書とデータのマッピング
ここではデータソースのフィールドと帳票テンプレートのCSVフィールドを結びつけます。
文書名に任意の名前を入力し、OPROARTS Designerでテンプレートを作成している場合は、テンプレート名に「live_{作成したテンプレート名}」と入力します。
今回使用する帳票テンプレートはヘッダー明細型のためデータセットを2つ用意し、「単一行のCSV」(非明細部分)と「複数行のCSV」(明細部分)で設定します。
データソースのフィールドを帳票テンプレートのCSVフィールドの順番通りになるように並べます。
ワーク②:結合済みPDFのメール送信
サービス設定
使用するサービスは以下の2つです。
-
アップロード文書
詳しくは「D3Workerのサービス設定(アップロード文書)(Salesforce)」をご参照ください。
-
メール送信
詳しくは「D3Workerのサービス設定(メール_SMTPサーバー連携)(Salesforce)」をご参照ください。
エンベロープ設定
文書化サービスに「アップロード文書」を基に作成したサービスを指定し、配送サービスに「メール送信」を基に作成したサービスを指定します。
-
文書化サービス
-
配送サービス
ワーク設定
-
データソース
このワークではデータソースのフィールド値を使用しないため、フィールドは追加しません。
-
エンベロープ
ワーク①から渡されるCSVデータは1行のみであるため、エンベロープフィールドには「データソースの行番号」を指定します。 「ELSEとして使用する」にチェックを入れます。
-
文書とデータのマッピング
ワーク②のエンベロープでは文書化サービスとしてアップロード文書サービスを用いるため、何も設定せずに保存します。
ワークの実行
ワークの作成が終わったら、ワークを実行します。
D3WorkerはSalesforceやkintoneなどのクラウドサービスと連携させてその画面上から呼び出すことが多いですが、 今回は説明を簡潔にするためCSVデータを用いて直接ワークを呼び出します。
以下のURLからファイルのアップードを含むワーク実行ができます。
https://d3w.ap.oproarts.com/d3w/a/{お客様のテナント名}/al/facade/upload1.html
| 項目名 | 説明 |
|---|---|
| UID | ユーザーIDを入力します。 |
| UPW | パスワードを入力します。 |
| ワーク | ワーク①を指定します。 |
| CSVファイル | 請求書の帳票テンプレートに渡すCSVデータを含んだファイルを指定します。 |
| 追加ファイル | 「ワーク実行 - PDF結合」サービスで指定したリクエストパラメータ名を入力し、注文書のPDFを指定します。 |
使用したCSVデータは以下です。
「実行」ボタンをクリックすると、注文書と請求書を結合したPDFがメール送信されます。
添付ファイルを開くと、PDFが結合されていることが分かります。
まとめ
OPROARTSを用いて自動生成したPDFに既存のPDFを結合することで、複数の帳票を効率的に配信することが可能になります。
PDFの結合が必要な帳票業務の際は、ぜひ本シナリオをご参照ください。