PDF の自動生成と再生成
承認対象の書面を承認すると、その時点での確定版 PDF が自動で生成され、テナントごとに分離された R2 ストレージに保存されます。ダウンロード時はこの保存済み PDF が配信されます。
なぜサーバー側で生成するのか
Section titled “なぜサーバー側で生成するのか”利用者のブラウザの印刷機能だけに依存すると、Chrome / Safari / Edge で余白・改ページ・フォントが微妙に異なり、同じ書面でも見た目が変わってしまいます。承認時点の固定 PDF を保存することで、どの環境からダウンロードしても同一ファイルが配られます。
対象書面: 重要事項説明書・売買契約書・査定書・媒介報告書。
- 承認ボタンを押した時点で生成がバックグラウンドで走り、数秒〜十秒程度で完了します。
- 「PDF」ボタンを押すと R2 から保存済みファイルがダウンロードされます。
生成に失敗したとき(管理者向け)
Section titled “生成に失敗したとき(管理者向け)”何らかの理由で生成に失敗すると、書面詳細画面の右パネルに「PDF の再生成」カードが表示されます。
- 失敗の理由:「承認時の PDF 生成に失敗しています」と表示されます。原因は Browser Rendering の一時障害が大半です。
- 再生成ボタン:押すとその場で再試行します。成功すると次回からは保存済み PDF が配信されます。
- 監査ログに
generated.regenerate_pdfとして記録されます。
R2 保管の方針
Section titled “R2 保管の方針”- 保存先は テナント単位で分離 された R2 キー(
<tenantId>/pdfs/<docId>.pdf)。他社の書面へクロステナントアクセスはできません。 - 配信時は Worker で承認状態とテナント所属を毎回再確認してから R2 ストリームを返します。
- 日次の orphan sweeper は承認 PDF を「既知」として扱うため、誤って削除されることはありません。
- 同じ書面を 複数回再生成しても、R2 上の同じキーを上書きします(履歴は残りません)。承認後に payload を編集することはできないため、毎回同じ内容が生成されます。
- 承認前の書面(下書き状態)には PDF はありません。ブラウザの印刷機能で出力してください。
- マイソクは例外として、編集中でも PDF プレビューとダウンロードを利用できます。完了後も同じく、保存済みの Grid レイアウトからオンデマンドで出力します。