Confluence Data Center での PDF エクスポート
スペースを PDF にエクスポートする場合、Confluence は各ページのコンテンツを HTML にエクスポートし、その HTML を PDF に変換してから、すべてのページを 1 つの PDF ファイルに統合します。この処理は多くのメモリや CPU を消費するため、非常に長いページや複雑なページを処理する際にはメモリ不足エラーが発生することが確認されています。
Confluence Data Center では、Confluence が管理する独立したプロセス プールである外部プロセス プールでエクスポートを処理することで、影響を最小限に抑えることができます。これらのプロセス (サンドボックス) はクラッシュまたは終了する可能性がありますが、Confluence アプリケーションに影響を与えることなく、Confluence によって自動的に再起動されます。
外部プロセス プールは Confluence Data Center でのみ利用できます。
Confluence Server では、PDF のエクスポートは Confluence によって行われるため、このページの情報は適用されません。
失敗したエクスポートのトラブルシューティング
スペースが非常に大きかったり、長いページや複雑なページが含まれている場合、スペース全体の PDF へのエクスポートに失敗することがあります。PDF のエクスポートが失敗した場合、ブラウザに次のいずれかのエラーが表示されます。
Page took too long to convert
このエラーは、ページの HTML から PDF への変換にかかる時間が上限値を超えた場合に発生します。エラー メッセージにはページのタイトルが含まれます。
ページを確認し、内容を簡略できないかどうかを検討します。多数の複雑なマクロや、複数の Web イメージ (ページに添付されていないイメージ) が含まれている場合があります。このエラーが何度も発生する場合は、管理者に時間制限を増やすように依頼することができます。
Error converting page to HTML
このエラーは Confluence でメモリが不足するか、ページの HTML を PDF へ変換しようとしたときに別のエラーが発生したときに表示されます。エラー メッセージにはページのタイトルが含まれます。
上記の "page took too long to convert" エラーと同様、ページを確認し、内容を簡略化できないかどうかを検討します。
Confluence 管理者はこのようなエラーの原因について、Confluence のアプリケーション ログからさらに詳細な情報を取得できます。失敗の原因がメモリ不足エラーの場合、管理者は外部プロセス プール内の各サンドボックスで利用可能なメモリの量を増やすことができます。「Confluence Data Center の外部プロセス プール」を参照してください。
Final PDF file wasn't merged in time
このエラーはプロセスの最後の段階で、個別の PDF ページを 1 つの PDF ファイルに統合するのにかかる時間が上限値を超えた場合に発生します。
このエラーが発生した場合、スペースうのエクスポートを再試行するか、PDF エクスポート画面のカスタム オプションを使用してスペースを 2 つのセクションに分けてエクスポートできます。このエラーが何度も発生する場合は、管理者に時間制限を増やすように依頼することができます。
Error merging the final PDF file
このエラーは Confluence でメモリが不足するか、個別の PDF ページを 1 つのファイルに統合しようとしたときに別のエラーが発生したときに表示されます。
このエラーが発生した場合、スペースのエクスポートを再試行するか、PDF エクスポート画面のカスタム オプションを使用してスペースを 2 つのセクションに分けてエクスポートできます。
Confluence 管理者はこのようなエラーの原因について、Confluence のアプリケーション ログからさらに詳細な情報を取得できます。失敗の原因がメモリ不足エラーの場合、外部プロセス プール内の各サンドボックスで利用可能なメモリの量を増やすことができます。「Confluence Data Center の外部プロセス プール」を参照してください。
Too many concurrent exports
このエラーは、複数のユーザーが同時に PDF をエクスポートしようとしたときに発生します。Confluence は、同時に処理できる PDF エクスポートの数を制限します。
このエラーが発生した場合、ほかの PDF エクスポートが完了したあとにもう一度スペースのエクスポートを試します。
このエラーが何度も発生する場合、管理者は PDF の同時エクスポートの最大数を増やすか、次のシステム プロパティを使用して、同時 PDF エクスポートの最大数に到達した場合の Confluence の待機時間を増やすことができます。
confluence.pdfexport.permits.size
このプロパティを使用して、PDF の同時エクスポートの最大実行数を設定します。このプロパティは、サンドボックス プロセスではなくノードごとに適用されます。
confluence.pdfexport.timeout.seconds
このプロパティを使用して、PDF の同時エクスポートの最大数に到達している場合に新しい PDF エクスポート リクエストを失敗するまでの待機時間を設定します。
時間制限の変更
時間制限を超過するとプロセスは自動的に終了します。次のシステム プロパティを使用して、PDF エクスポートの時間制限を増やすことができます。
pdf.export.sandbox.request.time.limit.secs
このプロパティは、プロセスの終了までにプロセスが完了を待機する時間 (秒単位) を設定します。この時間制限は、HTML から PDF へのコンテンツの変換時間と、最終的な PDF ファイルの統合時間の両方に適用されます。
これらのプロパティの完全な一覧と、特定のアクションに対するサンドボックスの微調整や完全な無効化に使用できる追加プロパティについては、「認証済みのシステム プロパティ」を参照してください。
PDF エクスポートに外部プロセス プールを使用しない
PDF エクスポートに外部プロセス プールを使用したくない場合、次のシステム プロパティを使用して、Confluence Server 方式の PDF エクスポートを生成に戻すことができます。
pdf.export.sandbox.disable
PDF エクスポートを外部プロセス プールで処理しない場合、このプロパティを true に設定します。