モバイルアプリケーションからPDFを出力できるプラグインがPDF Generator Pluginです。
このプラグインの機能概要と使い方を確認してみます。
なお、テンプレートエンジンを使用してHTMLを出す方法もあるようですが、そこの検証は別の機会に譲ります。
ベースになっているCordova Plugin:https://github.com/cesarvr/pdf-generator
動作確認環境
Platform Version:11.0.212.0
Service Studio Version:11.0.530.0
PDF Generator Plugin:1.0.1(書いている時点の最新版。2017/10更新)
確認端末はiPhoneです。
Table of Contents
部品概要
この部品はURLまたはHTMLのテキストをインプットとして渡してPDFデータを作成し、そのPDFを表すBase64形式のデータを返すか、アプリの共有機能に渡してくれます。
ファイルを直接保存する機能はないようなので、保存が必要であれば、LocalDBか別のプラグインでファイルとして保存することになりますね。
見た限りでは、OutSystemsモバイルアプリケーションのScreenをそのままPDF出力することはできないようです。
使い方(作成したPDFを共有で別アプリへ渡す)
インストール
Service Studio一番左のタブでPDF Generator Pluginを検索してインストール。
あるいはForgeのPDF Generator Pluginのページから。
参照
Mobile Application内にあるMobileのモジュールを開いてください。
Ctrl+Q(ショートカットキー)でManage Dependenciesを開き、左側のリストからPDFGeneratorPluginを選択し、全要素を選択して「APPLY」をクリック。
機能を実装
Screenを一つ作成して、ボタンを配置します。
ボタンに紐付けたScreen ActionにPDFGeneratorPlugin/GenerateAndSharePdf Actionを配置します。
DataかURLのどちらかを入力パラメータとして指定します。
まずは、DataにHTMLのテキストを指定した場合。HTML全体を文字列として設定です。
こちらはURLを指定した場合。OutSystemsのヘルプページを指定してみました。
なお、OrientationはPORTRAITが縦向き、LANDSCAPEが横向きになります。
GenerateAndSharePdfは実行後に共有メニューが開くので、他のアプリを選択してPDFデータを渡せます。例えば、メーラーを起動して添付ファイルにしたり、OneNoteに渡してノートに埋め込んだりと言う使い方ができます。
注意点
Check
Plugin作成時には、プラグインが使えるかどうか判定するためのActionを用意することになっています。プラグインはビルド時に必要なネイティブコードを埋め込むため、プラウザプレビューやOutSystems Nowでは使えない(Nowの場合は一部使えるものもあります)ためです。
このプラグインの場合、CheckのActionは非公開になっていて、公開されているActionの実装の先頭で呼ばれ、結果が出力パラメータに設定されています。
そのため、アプリ側では、Action呼び出し後に出力パラメータをチェックしてきちんと呼べているか確認してください。
License
プラグインは使用しているオープンソースのクレジットを表示するのですが、この部品には、ライセンス表示用のBlockがついていません。
そこは自作して表示した方がいいと思います。
Deprecated(ちょっと古い)
最終更新が古い(この記事を書いている時点で2年弱前)ためか、ラップしているCordova Pluginの最新版に追随していないようです。
該当プラグインの最新版ドキュメントでは、この部品で使用しているAPIがDeprecatedにマークされていました。
プロジェクト使用時には最悪の場合、自分で作り直す可能性も視野に入れる必要があります(ラップするだけですが)。