LoginSignup
0
1

More than 3 years have passed since last update.

[OutSystems]Screenを帳票作成に使用する方法(UltimatePDF)

Posted at

Forge上にあるコンポーネント「UltimatePDF」を使うことで、Screenの表示結果をPDFとして出力できます。帳票作成に使えます。

ただし、Traditional Webのコンポーネントなので、ScreenもTraditional Webのもの。Reactive Web Appからダウンロードさせたければ、ブラウザ内の別タブとして開く、などの対応が必要。

そのUltimatePDFの簡単なチュートリアルを書いてみます。

環境

Personal Environment(Version 11.9.0 (Build 16900))
Service Studio (Version 11.8.11)
UltimatePDF (Version 2.1.0)

チュートリアル

モジュールと参照

Traditional Webのモジュールを用意してください。
参照は、以下の通り、UltimatePDFの全Web Blockを追加しておきます。

qUltimatePDF0.PNG

画面はテンプレートから作成する

作成手順

UltimatePDFにScreen Template「PDF Report」が付属しているので、これをベースに画面を作ります。

  1. UI Flowを選択し、右クリック
  2. Add Web Screenを選択
  3. 「PDF Report」テンプレートを選択して「CREATE SCREEN」ボタンをクリックして画面作成

qUltimatePDF1.PNG

作成したページの構造

このテンプレートから作った画面のWidget Treeは以下のようになります。
qUltimatePDF2.PNG

UltimatePDFが提供する2つのWeb Blockで画面が構成しています。

  • PrintLayout:印刷用のヘッダ・本文・フッタ構成。余白をパラメータで指定できる
  • ScreenToPDF:このWeb Block内を置くと、画面アクセスと同時に画面をPDFに印刷してダウンロードしてくれます

Previewパラメータ

テンプレートから作った画面にはデフォルトで入力パラメータPreviewがあります。
この値をTrueにすると、画面にアクセスしたときに自動でPDFがダウンロードされなくなります。
その状態でもブラウザの印刷機能を使えば、ヘッダ、改ページ、フッタが適用されたPDFが作れます。

帳票用画面のコンテンツを作成する

作成中は画面のPreviewのDefault ValueをTrueにしておくと、ブラウザ上で表示を確認できます(やっておかないと毎回PDFファイルをダウンロードすることになる)。

ここでは、動作確認なので非常に簡単に以下の構成にします。

ヘッダに固定のテキストを表示

各ページのヘッダ部分にテキストを表示するには、そのコンテンツをHeader Placeholderに配置します。

qUltimatePDF3.PNG

上の例では、ユーザー名と実行日時をだしています。
誰がいつ出したかを後で確認できるようによくあるやつです。
サポートに問い合わせするときにこれが出ていると、ログを追いかけるのが楽ですね。

本文は改ページを挟んで2ページ出力する

任意の場所で改ページを行うには、改ページしたい場所にPagination\PageBreak Web Blockを配置します。

本文は、MainContent Placeholderに配置です。
qUltimatePDF4.PNG

上の配置では、1ページ目の左上に数字の1、2ページめの左上に数字の2が出力されます。

フッタには、「現在のページ / 総ページ数」

現在のページを表すには、PageNumbers\PageNumber Web Block、総ページ数はPageNumbers\PageCountを表示したい場所に配置してください。

qUltimatePDF5.PNG

動作確認

画面作成が終わったら、Preview入力パラメーターのDefault ValueをFalseに戻して該当画面にアクセスします。

ScreenToPDFの機能によってアクセスすると直ちにダウンロードが起こり、(設定にもよるかもしれませんが)ブラウザのダウンロードダイアログが開きます。

1ページ目のスクリーンショット
qUltimatePDF6.PNG

ページサイズはA4です。
これは、PageLayout Web BlockのPaperSizeパラメータで指定するのですが、デフォルトがA4であるため。

余白サイズも変更できて、MarginSizeを指定します。

0
1
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
1