2022/08/10

【Salesforce】render asを使ってPdfを表示させる方法

 
  

【Salesforce】render as属性でPdfを表示させる方法

Salesforceで業務用のシステムを構築している場合、「見積書や納品書、作業報告書などの帳票を出力して使用したい」、「HPを出力できるようにしたい」というような要望が出てくることもよくあります。 そんな時に持つ疑問として、「SalesforceでPdfって使えるの」というものがあります。 結論から言うと、SalesforceでPdfを使用することは可能です。 ここでは、SalesforceでPdfを使用する方法について詳しく解説していきます。

Visualforceページとは

はじめにSalesforceでPdfを使用するための説明でVisualforceページという言葉が頻繁に出てくるのでVisualforceページについて簡単に説明しておきます。 会社の業務システム等としてSalesforceを使用する際、Lightning Platformをカスタマイズする必要があります。そんな時に、使用するのがVisualforceです。 Visualforceは、モバイル端末やパソコン上で使用できるユーザーインターフェイスをカスタマイズするために使うWeb開発フレームワークのことです。 このVisualforceで、コンポーネントやHTML、スタイル設定等をおこない作成されるのがVisualforceページです。

SalesforceでPdfを保存させる方法

それでは、いよいよここからSalesforceでPdfを表示・ダウンロードさせるのに必要なカスタマイズ作業について説明していきます。

render As属性とは

ある特定の帳票やページをPdfとして表示させるのに欠かせないのがrender as属性です。 renderメソッドは、利用者がユーザーインターフェイス上で帳票の出力や表示といった指示を出した時に反応して、命令通りに出力や表示をしてくれるメソッドのことです。 このメソッドを使ってカスタマイズの設定をおこなうことで便利な機能や様々な操作が簡単におこなえるようになります。

Pdfを表示させるための操作

この画面から帳票やPdfを表示させたいというページのコンポーネントにrender as属性を追加する必要があります。 Pdfを表示させたい時には、apex:page renderAs=””pdf””というように指定します。

Pdfはどうやって表示されるのか

renderAsでPdfを指定すると、ユーザーインターフェイス上で帳票出力等のボタンをクリックすると、Visualforceページがブラウザの設定にあわせて、ブラウザに表示するかPdfのファイルとしてダウンロードさせるようになります。

rendeAsで表示させたPdfの弱点とは

Salesforceでは、renderas属性を使用してPdfを表示させるように設定すると、ボタン1つでPdfをユーザーインターフェイスに表示させることが出来ます。 この機能はとても便利で業務の効率をアップさせ、生産性を上げてくれるという長所もあります。 しかし、その一方でrenderasを使ってSalesforceのユーザーインターフェイス上でPDFを表示させることの弱点もあります。

コーディング知識が必要

1つめはコーディングの知識が必要であるという点です。renderasを使ってPdfを表示するように設定する際、Salesforceのコードを変更する必要があります。 そのため、間違ったコードを埋めてしまうと正しくPdfが表示されなくなることもあるので、コーディングの知識は必須です。

開発コストがかかる

2つめは、開発のコストがかかるという点です。ごく簡単なPdfを表示させるだけという場合であれば、社内で簡単に作業しコストを抑えることも可能です。 しかし、帳票の仕様が複雑であれば、場合によっては外部の力を借りる必要性が出てくるケースもあり、手間と開発にかかるコストが増えます。

ガバナ制限がある

3つめは、ガバナンス制限があるという点です。Salesforceでは、多数のユーザーがサーバーのリソースを共有して使用しています。 そのため、1つの組織が過度にリソースを食いつぶしてしまうと、サーバーに負荷がかかって、ほかのユーザーがSalesforceを利用する際に正常に表示できない、動作が重いといった不具合が発生してしまいます。 そうならないために、Salesforceを開発するうえでのルールとして、ガバナ制限があります。 これらのガバナ制限では、それおれの項目で数値が決められています。また、Pdfの表示を設定する際に使用するAPEXについても文字数制限があるので注意が必要です。

フォントが固定

4つめはフォントが固定だという点です。Salesforceで表示させるPdfは、普段使用するWordやExcel等と違って、フォントがかなり限定されています。しかも、使用するフォントがあまり恰好のいいものではないため、見栄えはあまりよくありません。 そのため、社内処理やピッキング・出荷等の作業に使うのは問題ないと感じても、見積書や請求書などお客様に送る書類としては不向きと思われるかもしれません。

SalesforceでPdfを表示させるのに注意すべきポイント

SalesforceのVisualforceページでPdfを表示させるように設計する場合、注意すべきポイントがいくつかあります。ここでは、本番環境にする前に必ず確認すべき点をご紹介します。

Pdfは印刷用に最適化

Visualforceページで表示させるPdfは、印刷用として最適化されたものにしておく必要があります。但し、Salesforce1においては、Pdfでの表示をサポートしていないので注意が必要です。

フォームやJavaScriptは使用しない

ボタンや入力などフォーム要素がある標準コンポーネントや書式の設定内にJavaScriptを使用するコンポーネントではSalesforceのPdf表示機能を使うことが出来ません。

フォントは決められたものを使用

Pdfで表示しようとするVisualforceページで使用するフォンはVisualforce Pdf表示サービスで使えるフォントを選ぶ必要があります。サポートしているフォントとしては、Arial Unicode MSやHelvetica、Times、Courierがあります。サポートされていないフォントを使用するとTimesで表記されます。

テキストが表示されない場合の対応

Salesforceのrenderas=””pdf””で表示させたPdfの中には、マルチバイト文字や外国語で使用されるようなアクセント記号がついている文字は、テキストとしてうまく表示されない場合があります。こうした場合には、対応したフォントを使用する必要があります。

Pdfのファイルサイズに注意

Salesforceでは、どんなPdfでも表示できるというわけではありません。Pdfのファイルサイズには上限があるので、規定のサイズ内に収まるよう設計する必要があります。 まず、Salesforceで表示するPdfの作成時、最大応答サイズは表示前のサイズで15MB未満と決まっています。 そして、生成されるPdfで最も大きいサイズは60MBまでです。Pdfの中には、画像が含まれるものもあるかと思いますが、その場合、使用する画像を合計した最大サイズは30MBです。

サポート対象外の画像

SalesforceでPdfを表示する時、Pdf内に画像が含まれていることもあります。 その画像が、data:URLという形式で記載されている場合、この画像はサポートの対象外となっています。

Pdf表示できないケースを知っておこう

Salesforceを使って開発したユーザーインターフェイスで、Pdfが表示できたり、保存できるのはとても便利で、データの管理や情報共有などが容易になり、業務効率のアップにもつながります。 しかし、SalesforceではrenderAs=””Pdfを使用しても、Pdfを表示できないという事象が発生することがあります。 ここでは、どういった場合にPDFが上手く表示されないかをご紹介します。

グラフはPdfで表示されない

Pdfで表示させたいものの中に、グラフが載っているものもあるかもしれません。こうした、Visualforceのグラフは注意が必要です。 Visualforce Chartingで作成するグラフでは、JavaScriptを使用しているのでPdfとして表示することができません。

スタイルシートのurl値が空白

Salesforceをカスタマイズするのに、スタイルシートを使用することがあります。その時に、スタイルシートの中でurl値が空白になっていると、url値の空白があるページはPdfとして表示されなくなります。 スタイルシートを使ってカスタマイズしている際に、Pdfが表示されないという事象が発生した時には、url値が空白になっていないか確認するようにしましょう。

renderasを使用してカスタマイズしてみよう

Salesforceでは、renderasを使用してカスタマイズをすることで見積書や請求書といった帳票類をPdfで表示、ダウンロードすることが可能です。 カスタマイズするのは少し面倒と思われることもあるかもしれませんが、ほんの少しの手間で、会社全体の作業効率化を図ることができます。 さらには、生産性アップや業績のアップにもつながる可能性を含んでいるので、Salesforceでシステム等を構築する際には、Pdf表示・ダウンロード機能をつけておくことをおすすめします。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】