IM-FormaDesigner for Accel Platform プログラミングガイド 第16版 2023-10-01

8. PDF出力処理

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

注意

wkhtmltopdf は2023年1月にアーカイブされました。そのため、wkhtmltopdf のセットアップと運用は非推奨となりました。
wkhtmltopdf のインストーラが提供されている環境では、現行どおり wkhtmltopdf を利用する事は可能です。
弊社テクニカルサポートセンターでの問合せ対応も引き続き可能です。
クライアントサイドのPDF出力は、2023 Autumn(Hollyhock) からはブラウザ印刷を利用した機能を提供します。
wkhtmltopdf のPDF出力に代わり利用を検討ください。
次の手段でサーバサイドでPDFを出力している、または出力しようとしている場合は IM-PDFDesigner for Accel Platform の利用を検討ください。
  • JavaEE開発モデル PDF出力API
  • スクリプト開発モデル PDF出力API
  • Office 365 for IM-BIS ファイルアップロードジョブ

コラム

出力された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/ にゴミが残っている場合は、削除してください。