🐇
pdfme 開発者レター 2024年1月
今月やったこと
V4の実装
-
テーブルを粛々と実装していた
- 他の開発者が実装していたものもあったが jsPDF-AutoTable の実装をベースに作成することにした
- Preview環境: https://add-dynamic-table-schema-332.vercel.app/
- まだまだバグやエッジケースの対応、テーブルがページを跨いだ際のテーブルの分割の対応ができない
- 実装進捗というか、メモは一旦下記に書いている
-
技術検証から始めてそのまま勢いで実装した。
-
とりあえずそれっぽい感じでテーブルヘッダー、ボディのスタイリング、カラムを追加・削除・リサイズなどを実装
-
やったことを一個一個書き出せないのだが、とりあえずテーブルをデザインしたり、PDFを生成できるようにはなってきた
-
V3の回収
- UIでvite,webpack等でDesginerがちゃんとエクスポートできない問題が3.1.0からあったので修正
- https://github.com/pdfme/pdfme/pull/415
- UIパッケージにのビルドに問題があった
- pdfjs-distの4系でtop-level awaitが使われており、それをviteでビルドしていたが、esmしかビルドしていなかった。umdが必要なケースでも問答無用でesmも使わせていたので、エクスポートしたモジュールがundefinedになっており、このようなことが起こった。
- umdのビルドを作るようにして修正
- pdfjs-distは3系にダウングレードした
- バーコードでフォーカスがおかしい
- https://github.com/pdfme/pdfme/pull/414
- フォームとして動かした時にバーコードがレンダリングされるとInput要素にフォーカスが当たってしまう問題があった
- 明らかに意図していないフォーカスなのに自動でフォーカスされてしまうので修正
やっていること
動的テーブルの実装に向けて
- V4のテーブルの実装
- テーブルが増加し、ページを跨いだ際にテーブルを分割する処理
- もろもろのバグ修正
- 下記のPRで途中ですがテーブルの実装が見れます
https://github.com/pdfme/pdfme/pull/408
動的テーブルの実現はまだまだ先は長いなと思っています。が、少しづつ前進しています。
ユースケースとしてはInvoiceを想定し、どこまで機能を絞るか、何をサポートするかなど、あらかた決めることができた一月でした。
複雑になりがちなテーブルでも、pdfmeのコンセプトである「ユーザーフレンドリー」という部分をなるべく守りたいなと思いながら実装しています。
楽しい!
やっぱwysiwygはいいですね。
Discussion