PDF生成モジュールの開発

2010年5月8日 15:55
  • 神楽坂ショールーム
  • 資料請求・お問い合わせ
  • 概算見積もり

バイバイ タイムカードの出勤簿や勤務表などのPDFを生成しているPDF生成モジュールが新しくなりました!

これまでは、一般に販売されているPDF生成モジュールを利用していたのですが、バイバイ タイムカードで要求されるパフォーマンスを実現出来なかったため、

「じゃあ作っちゃおう!」

っということになりました^^

実はバイバイ タイムカードのPDF生成は、以前にいくつかの工夫によって「圧縮」に取り組み、かなりのパフォーマンス改善を実現しています。

バイバイ タイムカード日記 2008年5月1日 「PDFの圧縮」

しかしユーザーは増え続け、社内外からの要求水準も上がり続けている(笑)ので、更なる改善が必要になったのです。


白羽の矢が立ったのは、弊社の山下君。品質チームの所属で、主にシステムのテストを担当している(っと言いつつ、Webサイトやドキュメントも担当。このブログのシステム構築・管理も全部山下君)のですが、開発リーダーからの、

「ちょっとやってみる?」

の問いかけに、休日利用でPDFの勉強をし、開発してくれました。


まずは成果ですが・・・

なんと、PDFの生成速度が従来の3倍になりました!!

つまり、同じPDFの出力を、従来の1/3の時間で実現出来るようになったということです。

ではどうして速くなったのか?

山下君に聞いてみたところ、主なポイントはこんな感じでした。

●機能をPDFに特化させ、直接PDFを生成するようにした
 →実は従来利用していた市販モジュールは、PDFだけではなく、その他の様々な形式のファイルを生成出来るもので、処理の順序が、「抽象化→PDF化」となっていたとのことです。

●そのファイルに必要な文字だけに限定し、フォントを軽量化した
 →PDFファイルに含まれるフォントデータが実は結構大きい。そこで、そのファイルで必要な文字だけを抜粋する仕組みを実装。フォントって、結構独特な世界で、なかなか苦労したようです。

●工夫により、命令文を減らした
 →まとめられる命令を出来るだけまとめることにより、ファイルサイズが小さくなったとのことです。


ちなみに、「サイズが小さい」と、サーバー側で生成する時間やダウンロードする時間が短くなるだけではなく、手元でそのファイルを開くときの時間も短くなるとの事です。


山下君としては、もう何点かの工夫であと30%くらいは高速化出来るのでないかとのこと。でもまぁとりあえず、現時点ではこれで十分です。

さすが山下君!

今後の活躍にも、乞うご期待です!!

  • バイバイ タイムカード日記

このページの先頭へ