自分には無縁だと最初から諦めていないか

自分があこがれている事をふと考えてみた。その中で「自分には縁がないなぁ」という事がいくつかあった。なぜ最初から諦めているんだろう?確かに今の自分には無縁で、到底実現が不可能かもしれないが、本当に実現したいなら諦めないべきだと思った。たとえば

1億円の豪邸に住みたいなぁ。でも、現状の自分を考えると到底そんな未来は想像できない。普通のサラリーマンの自分には無縁の話だよなぁ。宝くじで3億円当たったら、住んでもいいかもね(笑)

これは例え話ですが、こういう現状の自分から考えたら現実味の無いあこがれは誰でもありますよね。あこがれはするが、自分には無縁だと思っている事。さて、本当に無縁だろうか?確かに現状の自分では目標に遠すぎて、無縁だと感じられるかもしれないが、目に見えないくらい小さい縁がそこにはあると思う。そこで諦めなければ限りなく0に近いかもしれないが、決して0では無い縁があるはず。

その時はどう実現するかなんて考えなくても、まずは諦めないことが大事だと思います。私も初めっから諦めていた目標を掘り起こして、不可能では無いと思うようにしました。絶対に実現してやる。この強い意志が大事だと思います。

夢は見るものであり、語るものであり、目指すものであり、実現するものです。

帳票印刷をブラウザの印刷機能で代替する

最近やってます。PDFによる出力をするのがベストなんですが、そこまで凝る必要の無さそうな画面はブラウザのページ印刷で補えないかと提案して、いくつかの印刷機能で採用されることになりました。

もちろん単純に印刷するのではありません。印刷用のスタイルシートを指定して、必要の無い項目は消し、必要な項目を追加しています。たとえば

  • 画面上のボタンなんかは必要ないので消して欲しい
  • メモを書き込む欄が欲しいからメモ欄を出して欲しい
  • 帳票にはこの列がいらないから、印刷時には消して欲しい

こういう要望は全てスタイルシートで実現する事ができます。印刷用のスタイルシートを指定しておくと、実際の画面の見た目とは異なるものを印刷することができます。印刷の時だけ適用されるスタイルシートの指定方法はlinkタグのmedia属性にprintを指定します。普通に表示される画面用のスタイルシートはmedia="screen"と指定します。

↓画面用
<link rel="stylesheet" href="screen.css" type="text/css" media="screen">
↓印刷用
<link rel="stylesheet" href="print.css" type="text/css" media="print">

項目の表示、非表示は単純にスタイルシートのdisplay属性を使用します。印刷時に消したい項目にあらかじめスタイルシートのクラスを指定しておくだけです。例えば印刷時にボタンを消したい場合

<style media="print">
    .NoPrint { display:none; }
</style>

<input type="submit" value="送信!" class="NoPrint">

こんな感じですね。これの問題は印刷用紙の方向がデフォルトで縦になっているので、縦に印刷されるのを意識したHTMLにするか、毎度印刷用紙の方向を横に設定してもらう必要があるということです。

これで要求が満たせるのなら帳票定義を作ったり、プログラムを作ったりするより遥かに工数が浮きます。レイアウトもHTMLなので帳票のように自由とはいきませんが、簡単にデザインができます。もし適用できそうな箇所があったら、試してみてはいかがでしょう?