4.3. PDF出力がうまくいかない¶
関連する現象
4.3.1. ロードバランサーを利用している環境でPDF出力に失敗する¶
対象バージョン¶
IM-FormaDesigner Version 7.2 の場合
- IM-FormaDesigner Version 7.2.0 ~ IM-FormaDesigner Version 7.2.3
IM-FormaDesigner for Accel Platform の場合
- IM-FormaDesigner for Accel Platform 2012 Autumn (8.0.1) ~ 最新バージョン
条件¶
ロードバランサーを利用している環境でPDF出力を行う。
以下のアプリケーション種別・BIS作成種類の場合に発生します。
- アプリケーション種別「標準」
- アプリケーション種別「IM-Workflow」
- BIS作成種類「BPM」
- BIS作成種類「ワークフロー」
原因¶
以下二つのケースで wkhtmltopdf からのリクエストに対して応答が返却されないためです。① wkhtmltopdf からのリクエストが、ロードバランサーを経由してAPサーバへアクセスできない。統合Windows認証機能が有効な場合などでは、ロードバランサーに wkhtmltopdf からAPサーバへのアクセスが拒否され、エラーが発生します。② wkhtmltopdf からのリクエストが、ロードバランサーを経由すると別APサーバへアクセスされる。ロードバランサーにより別APサーバへリクエストが振り分けられる場合があります。別APサーバには当該のセッションが存在しないため、エラーが発生します。以下の要件、改善モジュールで対応を行っています。
IM-FormaDesigner Version 7.2 の場合
- 要件 #12330 PDF出力リクエスト先サーバのベースURLの設定項目の追加
IM-FormaDesigner for Accel Platform の場合
- forma_pdf_load_balancing-8.0.6.imm
- forma_pdf_load_balancing-8.0.7.imm
- forma_pdf_load_balancing-8.0.8.imm
コラム
これらの改善モジュールは FAQ で公開されているものと同一のものです。
解決方法¶
IM-FormaDesigner Version 7.2 の場合
以下のパッチを適用することで解決します。
- IM-FormaDesigner Version 7.2.4
適用後、要件 #12330 PDF出力リクエスト先サーバのベースURLの設定項目の追加 を参照の上、ベースURLの設定を行ってください。
IM-FormaDesigner for Accel Platform の場合
FAQ の手順に従い、ロードバランシング環境のPDF出力改善モジュールを適用してください。注意
PDF出力改善モジュールは IM-FormaDesigner for Accel Platform 2014 Winter (8.0.5) 以降のバージョンで利用可能です。
4.3.2. wkhtmltopdf のバージョンアップ後、出力されるPDFの表示倍率が変更される¶
対象バージョン¶
IM-FormaDesigner Version 7.2 の場合
- 対象外
IM-FormaDesigner for Accel Platform の場合
- バージョンに関わらず発生します。
条件¶
wkhtmltopdf を 0.11.0 rc1 以前から 0.12.0 以降にバージョンアップした。
以下のアプリケーション種別・BIS作成種類の場合に発生します。
- アプリケーション種別「標準」
- アプリケーション種別「IM-Workflow」
- BIS作成種類「BPM」
- BIS作成種類「ワークフロー」
原因¶
wkhtmltopdf でのPDF出力時の自動倍率調整が、バージョンによって以下のように異なるために発生します。
- wkhtmltopdf 0.11.0 rc1 以前では、アプリケーションの内容がPDFの1ページに収まるように縮小され、出力されます。
- wkhtmltopdf 0.12.0 からは、固定の倍率で出力されます。アプリケーションの内容が縦幅でPDFの1ページに収まらない場合、改ページされるようになり、横幅でPDFの1ページに収まらない場合、切れるようになります。
コラム
IM-FormaDesigner for Accel Platform 環境下で wkhtmltopdf のバージョンに伴って発生が確認されている事象については IM-FormaDesigner for Accel Platform セットアップガイド - 3. セットアップの流れ を確認してください。
以下の要件で対応を行っています。
IM-FormaDesigner for Accel Platform の場合
- 要件 #12365 PDF出力時に利用するwkhtmltopdfコマンドを実行する際のオプションを設定できるようにします
解決方法¶
PDFが1ページ以内に収まるよう、PDF出力のためのオプションを設定します。使用するオプションについては、使用可能なオプションの中から目的に合わせて選択してください。解決方法は以下の2通りがあります。目的に合わせて選択してください。
すべてのアプリケーションの設定を変更したい場合
PDF出力時のオプション設定は、 IM-FormaDesigner for Accel Platform 2014 Winter (8.0.5) 以降で設定できます。 IM-FormaDesigner for Accel Platform 2014 Winter (8.0.5) 以降でない場合には、アップデートしてください。アップデートを行った後、PDFが1ページ以内に収まるよう、適切なオプションを設定してください。詳しくは下記ドキュメントをご参照ください。特定のアプリケーションのみ設定を変更したい場合
プログラムでPDF出力処理を実装してください。実装したプログラム内で、PDF出力のオプションを設定することができます。実装したプログラム内でPDFが1ページ以内に収まるよう、適切なオプションを設定してください。詳しくは下記ドキュメントをご参照ください。コラム
使用可能なオプションの一覧については、バージョンごとの wkhtmltopdf のドキュメントをご確認ください。
4.3.3. 縦方向に改ページが発生する場合、一部が切れて表示される¶
対象バージョン¶
IM-FormaDesigner Version 7.2 の場合
- 対象外
IM-FormaDesigner for Accel Platform の場合
- バージョンに関わらず発生します。
条件¶
以下のバージョンの wkhtmltopdf を使用する。
- 0.12.0
- 0.12.1
以下のアプリケーション種別・BIS作成種類の場合に発生します。
- アプリケーション種別「標準」
- アプリケーション種別「IM-Workflow」
- BIS作成種類「BPM」
- BIS作成種類「ワークフロー」
解決方法¶
wkhtmltopdf 0.12.2 にアップデートしてください。
回避方法¶
改ページが発生しないよう、PDF出力のためのオプションを設定します。使用するオプションについては、使用可能なオプションの中から目的に合わせて選択してください。オプションの指定方法は以下の2通りがあります。目的に合わせて選択してください。
すべてのアプリケーションの設定を変更したい場合
PDF出力時のオプション設定は、 IM-FormaDesigner for Accel Platform 2014 Winter (8.0.5) 以降で設定できます。 IM-FormaDesigner for Accel Platform 2014 Winter (8.0.5) 以降でない場合には、アップデートしてください。アップデートを行った後、改ページが発生しないよう、適切なオプションを設定してください。詳しくは下記ドキュメントをご参照ください。特定のアプリケーションのみ設定を変更したい場合
プログラムでPDF出力処理を実装してください。実装したプログラム内で、PDF出力のオプションを設定することができます。改ページが発生しないよう、適切なオプションを設定してください。詳しくは下記ドキュメントをご参照ください。コラム
使用可能なオプションの一覧については、バージョンごとの wkhtmltopdf のドキュメントをご確認ください。