LoginSignup
0
0

More than 1 year has passed since last update.

【OutSystems】UltimatePDFでPDFデータを生成する①

Posted at

0. INDEX

  • 背景
  • 目的
  • UltimatePDFでPDFデータを生成する
  • あとがき

1. 背景

OutSystemsを使ったPDF出力という要件が結構多く、執筆次点(2022/05/14)では、Ultimate PDFというForgeを使用するのがいいぞという話をチームメンバーから聞いていた。
以前は、HTML2PDFだったらしいが。

ただ、このUltimatePDF。Demoを確認するもバイナリデータの生成方法が見つけられなかったが、サーバアクションの出力にバイナリデータが含まれているので、この辺を検証してみた。

image.png

2. 目的

  • プレビュー表示とダウンロードをする
    • 普通の使い方(この記事の内容)
  • サーバアクション経由でバイナリデータを生成する
    • 今回の最終目標(次の記事で触れます)

3. UltimatePDFでPDFデータを生成する

例によってプロジェクトファイルはGitHubに置いている。
PDFOutput.oml - GitHub

デモページは、OutSystemsのPersonalクラウドスペースに置いている(長期間放置でスリープされてたら諦めてくだし…)
https://personal-ppneswkx.outsystemscloud.com/PDFOutput/Home

3.1. 準備

3.1.1. ForgeよりUltimate PDFを導入する

Install from Forgeボタンを押下する

Browse Forgeという画面が開くので、Ultimate PDFで検索し、アイコンを押下する

image.png

Ultimate PDFの画面に来たら、右側にあるInstallというボタンを押下する

image.png

Service Studioに戻って、Developmentを開いた時、Ultimate PDFが追加されていればOK

image.png

3.1.2. Reactive Web Appで作成する

New Application>From scratch>Reactive Web Appと進める

任意のアプリ名を入力して CREATE APPボタンを押下する

Modulesの画面に切り替わったら、ADD MODULEボタンを押下し、名前は任意に、Choose module typeReactive Web AppをしてCREATE MODULEボタンを押下する

3.1.3. アプリの依存関係にUltimate PDFを追加する

電気プラグのようなボタンを押下する

image.png

Manage Dependenciesウインドウが開くので、UltimatePDFを探し、チェックを付けたらAPPLYボタンを押下する

image.png

  • 右上のLogicタブに切り替えた時、UltimatePDFが追加されていればOK
    image.png

3.1.4. Ultimate PDFの初期化処理を追加する

右上のLogicタブを開き、Client ActionsOnApplicationReadyという名前でアクションを作る。

image.png

ちなみに、OnApplicationReadyはホームモジュール読み込み時に一度だけ実行する特別なアクションなのだそうだ。

ともかくこれでやっと準備完了である。

3.2. プレビュー表示とダウンロードをする

3.2.1. PDF用のScreenを作る

PDFはPDF用のScreenを追加する事で生成する。ここではBlank PDFを追加する。
余談だが、メールもScreenから作るのでこの辺はOutSystemsの独特な考え方なのですかね。

image.png

追加した所。

image.png

ちなみに、追加した画面に書かれた内容は、3.1.4. でやっているので、Widget Treeに切り替えてツリーからlayout-print-documentationを消してしまっていい。

image.png

続けて適当にPDFの中身を作る。ここでは単にExpressionを使って現在時刻を出力するようにした。

image.png

3.2.2. Home画面を作り、PDFのプレビュー表示とダウンロードをする

HomeはEmptyというScreenから追加した。

image.png

追加した画面、プレビューとダウンロード用のボタンを用意する(リンクなどでもいい)

image.png

プレビューボタンのクリックイベントには、先に作成したPDF用Screenを指定し、引数のPreviewTrueを設定すればいい。ここは簡単ですね。

image.png

ダウンロードもプレビューとほぼ同じで簡単。ダウンロードボタンのクリックイベントにPDF用Screenを指定するだけでいい。Previewを指定する場合はFalseとする。

image.png

最後に確認。パブリッシュした後、ブラウザで開いてみる。

プレビュー表示。いいね。

image.png

ダウンロードしてみる。これもいいね。

image.png

4. あとがき

記事が長くなってしまったので2部構成にした。
この記事では、Ultimate PDFの普通の使い方(?)について書いたが蛇足だったかもω
眠気がもすぬごい

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0