- 勤怠管理 バイバイ タイムカード HOME
- ブログ
- PDFの圧縮
PDFでダウンロードする帳票の種類や利用量が増えてくる中で、1つのプログラムで、設定によって様々な種類の帳票を効率よく提供するため、PDFファイルの圧縮に取り組みました。
結果、ファイルサイズが半分程度まで小さくなり、サーバーでのPDFファイルの生成時間、ダウンロード時間、更に、手元のPCでこれらのファイルを開く時間やスクロール操作の速さまで、全てが大きく改善されました!
実現方法はと言うと・・・
バイバイ タイムカードから出力されるPDFは、従来は、「セルを1つ1つ描いていく」という方式を取っていました。
(バイバイ タイムカードで出力されるPDFは、タイムカードのようなもの(打刻実績型 PDF出勤簿)や集計結果の一覧(就業実績型 PDF出勤簿)、シフト表などで、いづれもExcelで作成するような表形式のものとなっています。)
ひとつセルを描き、色を付け、値を入れて、次のセルを描く、っといった具合です。
この方式だと、例えば横10列×縦33列の表を描くのに、330回の描画処理を行うことになります。
新しい方式では、ページ全体に対して、「色を塗る」、「線を引く」、「値を入れる」という3つのステップで処理を行うこととし、連続する色や線はまとめて描くという方法を取りました。
実際の処理としては、処理された情報を、色の層、線の層、値の層に分離するプログラムと、分離されたそれぞれの層を順に描くプログラムを連携させて実現しているとのことです。
イメージとしては、「絵描きさんがページの端から順番にひとつひとつ描いていく」という方式から、「下絵を描く人」、「下絵から3つの版を作る人」、「3つの版でさっと版画を刷る人」に分業した、っといった感じでしょうか?
バイバイ タイムカードは、今日も、見えるところでも、見えないところでも、着実に進化しています!