月報を紙に出力する機能です。
仕様
印刷機能の要否
労働基準法 第109条 にある「五年間保存」または、労働基準法 第143条にある「三年間」データを保存する方法として、紙に印刷しておくという使い方ができます。
派遣の仕事をしている場合、派遣先で作った月報を派遣元にも送付することがあります。
派遣元へ月報データを送る方法としては紙やPDFを使うのが最も確実で無難だと考えて、印刷機能を実装することにしました。
上記のような用途が無い場合、印刷機能は不要かもしれません。
実現方法
帳票っぽいデザインのHTMLを作成しているだけです。
印刷処理はブラウザの印刷機能に依存しています。
帳票出力用レイアウトを実現するためにpaper-cssを使いました。
https://github.com/cognitom/paper-css
フォント
Google Fontsの「Noto Sans Japanese」を使うことにしました。
ネットワーク構成の都合でクライアントPCがインターネットへ接続できない場合、サーバーからフォントを配布するなど、細工が必要になります。
承認印
出力した紙やPDFを派遣元企業へ送付するという用途を考えた場合、少なくとも派遣先の管理者が内容を承認済みであることが分かるような表示は必要です。
何となく格好良さそうという理由でQRコード化しました。
内部的にはZXingというライブラリを使ってSVG形式の画像を生成しています。
現状では、承認者名や承認日時を示す文字列が直接QRコード化されているだけです。