IM-FormaDesigner for Accel Platform プログラミングガイド 第13版 2018-04-01

8. PDF出力処理

IM-FormaDesigner for Accel Platform では、参照画面をPDFで出力するAPIを提供しています。
PDF出力機能は、Webアプリケーションサーバ内にインストールされた「wkhtmltopdf」を利用します。
そのため、セットアップガイドに記載の通り、「wkhtmltopdf」をインストールしてください。

コラム

出力されたPDFファイルに埋め込まれるフォントは、「wkhtmltopdf」がインストールされている OS に依存します。
そのため、参照画面をブラウザで閲覧する場合とPDFで閲覧する場合に見た目が異なる場合があります。

コラム

API では「wkhtmltopdf」の各種オプションを設定できます。API にオプションを指定しない場合、以下のオプションを付与しています。
また、forma-pdf-config.xmlで設定した内容は、APIを使用する場合は反映されません。
API利用時に個別に設定する必要があります。
  • disable-external-links : リンクを無効にします。
  • print-media-type : 印刷モードで出力します。標準では、forma/css/print.cssが有効になり、ボタンを非表示指定します。
その他利用可能なオプションについては、helpコマンドを参照してください。

helpコマンド
$ wkhtmltopdf -H

コラム

PDF出力が正常に実行できた場合、PDFファイルはWebアーカイブディレクトリの WEB-INF/work/product/forma/tmp/print/ ディレクトリに一時ファイルとして出力されます。
一時ファイルとして出力されたPDFファイルは、使用用途に応じてStorageに永続化したり、クライアントにダウンロードされることを期待しています。
そのため、WEB-INF/work/product/forma/tmp/print/ ディレクトリに出力されたPDFファイルは、API使用後に明示的に削除してください。
※もし削除せず残っていた場合、Webアプリケーションサーバが正常に停止した場合、停止時に上記ファイルは自動的に削除されます。
※Webアプリケーションサーバが異常停止した場合、削除されません。WEB-INF/work/product/forma/tmp/print/ にゴミが残っている場合は、削除してください。