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