帳票に画像を出したいというお問い合わせをよくいただきます。固定の画像はもちろん、URLからリアルタイムな画像を取得して動的に表示するなどいくつか方法がありますが、今回はその中でもSalesforceに保存している画像を帳票に出力する方法(PDF篇)をご紹介します。
Excel/Wordアドイン篇はコチラ
また、今回は OPROARTS Connector for Salesforceを使用し、連携先を「Salesforce連携」でテンプレートを作成した場合の手順についてご紹介します。
~作業概要~
・事前準備
・Imageコンポーネントの設置
・Imageコンポーネントの設定
・マッピング
~事前準備~
帳票を出力するオブジェクトに、画像IDを入力することができるカスタム項目(text)を作成してください。
------------------------------------------------------------------------------------------
作成方法例)商談からPDFを出力する場合
1.Salesforce[設定]-[カスタマイズ]-[商談] -[項目]で、「新規」をクリックし新規項目を作成します。
2.データ型「テキスト」を選択して新規項目を作成してください。
→文字数を18桁以上に設定し、項目名等を入力してください。
3.作成したテキスト項目に、Salesforceの画像IDを入力してください。
------------------------------------------------------------------------------------------
Salsforceの以下の方法で保存してある画像のURLの、下15桁(もしくは18桁)が画像IDです。
・ContentDocumentオブジェクト(Salesforce Files)
・Documentオブジェクト(ドキュメント)
・Attachmentオブジェクト(メモ&添付)
・StaticResourceオブジェクト(静的リソース
例えば、メモ&添付の画像を開いた時のURL内のIDです。
※ファイルの画像の場合は以下になります。
アップロードした画像レコードの「ファイルの詳細を表示」をクリックします。
画像の詳細ページのURL内「069」ではじまる文字列が画像IDになります。
後ほど手順を説明しますが、画像IDを格納するカスタム項目(text)を作り、そのカスタム項目をマッピングすることで、動的に画像を出力できるようになります。
ではいざ!帳票に画像を出力したいと思います。
1.画像を出力したい場所にimageコンポーネントを置きます。
imageコンポーネントを設置すると、画像の取得方法を選択するポップアップが開きます。
今回は「Salesforce.comから取得」を選択します。
いい感じの場所に置きます。
2.imageコンポーネントの設定をします。
・縦横比を保持して伸縮
Imageコンポーネントのサイズをはみ出さないよう、縦横比を保持して元画像を伸縮して表示します。
・自動サイズ
元画像のサイズでそのまま出力します。
・枠に合わせて表示
Imageコンポーネントの縦横比に合わせて画像を表示します。
今回は「縦横比を保持して伸縮」を選択しました。
3.マッピングします。
「Salesforce.comから取得」を選んでimageコンポーネントを置くと、マッピング画面の「6th」にimageコンポーネントのマッピングフィールドが出現します。
画像IDを格納している項目をマッピングします。
上記は動的な設定ですが、Salesforceに保存された画像を固定で出力したい場合は、画像IDを文字列として設定します。
例)
'069XXXXXXXX'
また、関数を使用して画像を出し分けることも可能です。
例)
IF({条件式},'{画像ID①}','{画像ID②}')
4.マッピングを保存し、配備を行います。
保存のみでは設定が反映されませんので、配備まで行ってください。
~完成~
こんな感じで画像が出力されました。
以下、補足です。
事前準備で
> 帳票を出力するオブジェクトに、画像IDを入力することができるカスタム項目(text)を作成してください。
と記載しました。
実はこのPDFで使用したカスタム項目(text)は、商談ではなくユーザに作成しています。(印影:UserStamp__c)
ユーザのカスタム項目(text)に、Salesforceのドキュメントとして保存している画像IDを入力し、
商談の所有者(ユーザ)のカスタム項目(印影:UserStamp__c)をマッピングすることで、各ユーザが持つ画像を出力することができます。
今回のように、ユーザごとにそれぞれの印鑑画像を格納しておいて、商談担当者の印鑑として使用することも可能です。
他にも工夫次第で様々な出し分けが可能となりますので、ぜひお試しください。