LoginSignup
1
3

More than 3 years have passed since last update.

PDFBox 2.0.21は複数行テキストフィールドの自動フォントサイズに対応

Last updated at Posted at 2020-12-01

PDFBoxでPDFフォームに値を出力するときに、複数行テキストフィールドのフォントサイズを「自動」に設定しても期待通り動作するようになりました。すごくニッチなニーズだと思いますが、実際にこの制限で困っている身としては喜びしかないです。

Sub-task
* [PDFBOX-3910] - Support auto font sizing in multiline text fields

Before

以前は、フォントサイズが自動かつ複数行オプションをONにしたPDFフォームがあっても、PDFBoxでテキストを出力すると自動的に文字サイズが調整されませんでした。そのため、途中改行が多かったり(下図2行目)、文字数が多かったり(下図3行目)すると、固定フォントサイズの場合と同様に文字が見切れる問題がありました。

image.png

After

PDFBox v2.0.21からは、このような場合にも期待通りに文字サイズが調整されてPDF出力されるようになりました。そのため、どれくらいの文字数を出力したいか事前に決まっていない場合でも、(文字は小さくなるものの)見切れることなく出力することが可能になります。いいね :thumbsup:

image.png

なお、フォントサイズには最大値と最小値が定められているようで、例えばあまりにも文字サイズが小さくなる場合は、それ以上縮小されなくなります。なので、従来どおり見切れてしまうことがあります(下図は、3行、5行、7行それぞれ出力して7行が収まらない例)。

  image.png

蛇足

リリースノートでは v2.0.21 で対応したことになっていますが、実際には v2.0.19 から使えるようです。ただ、文字数が少ない場合に過剰に大きく表示されてしまう問題があるようなので、最新版を利用することをおすすめします。

image.png

まとめ

PDFBoxがとうとう複数行テキストフィールドの自動フォントサイズに対応してくれました。PDFフォームとPDFBoxを使って帳票出力する場合に表現の幅が広がるので、試してみてはいかがでしょうか。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3