今回はSalseforceのコンテンツに関するVisualforceページを実装するときに便利な機能を紹介します。 コンテンツにはダウンロードの際にPDF変換してくれる標準機能がついています。
アップロード時は次のようなExcelファイルでも・・・
次のようにPDFに変換できます。
この便利な機能はVisualforceページでも簡単に実装できます。
普通のダウンロードを実行したい場合は次のURLで実行できます。
'/sfc/servlet.shepherd/version/download/' + ContentVersionのID;
PDFに変換したい場合は上記URLの末尾に次のパラメータを追加します。
?asPdf=true
ContentVersionはコンテンツのバージョンを管理しているオブジェクトです。
コンテンツに関するオブジェクトはContentVersionとContentDocumentの2種類ありますが、コンテンツのダウンロードを実行する場合はContentVersionのIDを指定する必要があります。
コンテンツに関するオブジェクトはContentVersionとContentDocumentの2種類ありますが、コンテンツのダウンロードを実行する場合はContentVersionのIDを指定する必要があります。
パラメータ追加後は次のような感じになります。
'/sfc/servlet.shepherd/version/download/06810000001Lk1zAAC?asPdf=true';
次のVisualforce画面を作成して正常に動作するか確認してみました。
ボタンをクリックするとJavaScriptが呼び出され、PDFファイルがダウンロードがされます。
今回の検証に使用したサンプル画面のコードは次のとおりです。
今回はシンプルにしたかったので詳細画面にボタンを表示する形にしてありますが、実際にはコンテンツの一覧画面でそれぞれのレコード内にリンクかボタンを表示してPDF出力できるようにするといった使い方が便利だと思います。