html-chohyo
※技術検証は終わってますが、雑に書いたのでまだ整備中です。ある程度形になったら npm に公開する予定です。
***** 概要
HTML + CSS でデザインされたレイアウトを JS を使って DOM ツリー上でページ分割し、jsPDF で PDF 出力するライブラリーです。帳票ツールを覚えたくない、HTML + CSS でのレイアウトが普通にできる人向けです。
***** 特徴
フロントエンド上のみで動作するので、サーバー側に帳票ツールをインストールしたりする必要がありません。また、ブラウザーの印刷機能を使わずに jsPDF で直接 PDF を生成するため、ブラウザー間の印刷機能の違いに振り回されることがありません (もちろんブラウザー間での CSS の違いはありますが、HTML + CSS によるレイアウトを楽に行える人であれば気にはならないでしょう)。jsPDF で生成しているため、日本語フォントの埋め込みもできます。
表のようなページをまたいだときに次のページにもヘッダー/フッターを出力するといった場面を想定して、指定した要素を繰り返し出力する機能があります。ただし、現在は限定的な実装となっており、単純なテキストの分割のみが行えます。画像などの分割はできません。
想定してる使い方は、DOM ツリー上でページ分割されたプレビューを表示し、そのあと用意したボタンを押すなどしてそれらを PDF 出力してダウンロードする流れになります。
***** Supported browsers
Microsoft 365 も 2021-08-17 で IE のサポートを終了するので、 IE 以外のブラウザーをサポートします。