Office File Creatorを使って、SalesforceのPDFの帳票出力の設定手順を例とともにご紹介いたします。主にテンプレートファイル作成の手順となります。インストール、権限設定の手順は、こちらを参照してください。
テンプレートファイル作成
PDF出力の場合は、Wordでテンプレートファイルを作成します。前回、SalesforceでWordの帳票を作成する-Office File Creator Word編-で作成したWordテンプレートファイルを使用します。
PDFテンプレート作成時の注意事項があります。
- PDF出力時、フォントはArial Unicode MSで出力されます。Wordテンプレートで設定したフォントは適用されません。斜字体・太字、外字は対応していません。
- ページ番号などのWordのフィールドコードは使用できません。ページ番号、ページ総数を出力する場合は、Office File Creatorの独自関数{!pagenumber()}、{!pagecount()}を使用します。
- 子レコードを縞模様にする場合は、1行ではなく2行設定します。
- 段落の「1ページの行数を指定時に文字を行グリッド線に合わせる」をチェックオンにした場合、PDF出力時に行間隔がWordテンプレートとは異なるので、「1ページの行数を指定時に文字を行グリッド線に合わせる」はチェックオフにします。
PDF出力時、フォントはArial Unicode MSで出力される
PDFファイル出力時、日本語のように全角を含む言語の場合、以下の制約があります。Office File CreatorではPDF作成時、VisualforceのPDF生成機能を使用しており、全角文字出力時のVisualforce機能の制約があるためです。
- Wordテンプレートで設定したフォントで適用されず、すべてArial Unicode MSで出力されます。
- Arial Unicode MSフォントでは、太字や斜体の書式はサポートされません。
- 外字は出力されません。
以下は、Arial Unicode MSフォント出力サンプルです。滑らかさがないような感じのフォントです。
文章参照元:Salesforce オブジェクトおよび項目の概要
参考:Salesforce公式ガイド
Visualforce PDF 表示の使用時に使用可能なフォント
ページ番号などのWordのフィールドコードは使用できない
Wordのフィールドコードは使用できません。ページ番号、総ページ数を出力する場合はOffice File CreatorのPDF独自関数に置き換えます。ファイル出力時、複数ページになった場合は、そのまま1/3、2/3、3/3のように出力されます。
ページ番号 ・・・{!pagenumber()}
総ページ数 ・・・{!pagecount()}
ページ番号、総ページ数を修正
子レコードを縞模様にする場合は、1行ではなく2行設定する
PDF出力時に子レコードの偶数行、奇数行で異なる書式にする場合は、子レコードを2行設定し、それぞれ書式を設定します。PDF出力時、偶数・奇数行でそれぞれの書式で出力されます。
子レコードを2行設定
段落の「1ページの行数を指定時に文字を行グリッド線に合わせる」はチェックオフにする
「1ページの行数を指定時に文字を行グリッド線に合わせる」がチェックオンの場合、PDFファイル出力時、行間がWordテンプレートとは大幅に異なることがあります。WordテンプレートとPDFファイルの行間をなるべく合わせるために、この設定はチェックオフにしてください。
ワードの「スタイル」より、標準のスタイルを右クリックし、「変更」を選択します。
スタイルの変更画面の「書式」より、「段落」を選択します。
「1ページの行数を指定時に文字を行グリッド線に合わせる」をチェックオフにし、「OK」をクリックします。行間が狭くなる場合があるので、必要に応じて行間や間隔でそれぞれ設定します。
これでテンプレート作成は完了です。
テンプレートレコード、カスタムボタン作成
テンプレートレコードとカスタムボタンをExcel編と同様に作成していきます。詳細な手順は、以下をご参照ください。
SalesforceでExcelの帳票を作成する-Office File Creator Excel編-②テンプレートレコード作成
SalesforceでExcelの帳票を作成する-Office File Creator Excel編-③カスタムボタン作成
PDFファイル出力サンプルは以下の用になります。
この記事で作成したテンプレートと出力サンプルファイルは以下よりダウンロードできます。
Wordテンプレート(PDF用)サンプル
商談請求書_PDFテンプレート.docx
PDF出力サンプル
請求書_ABC株式会社_機器一式.pdf