今まで一番感動したソフト

FinePrintと言う仮想プリンタは意外に知られていないらしい。

俺も、バージョン5の時代にしってそれ以来アップデートを繰り返していて今はバージョン10になっている。

この次にDocuWorksと言う文章管理ソフトもあって、この二つがあるとほぼペーパーレス環境は完璧に整う。

DocuWorksが有ればほぼ完了するが、当時DocuWorks5は5万円していたが、今使っているのはバージョン9だが8千円程に価格も下がって入手しやすくなっている。

DocuWorksはそれ自体が完璧で、仮想プリンタに文章管理ソフトがセットになった様なツールだが、FinePrintはその仮想プリンタ部分だけでもっとカジュアルに使う事ができる。

こnFinePrintはユーザにも導入していて、元々印刷系のロジックが下手くそなエンジニアが組んていたので、VBのPrintコマンドを使って直接印字している。

それはそれで、他のAPI、例えばVB-Reportなんかを使う事無くライセンス的にもすこぶる健全と言えるのだが、ベタで描いてあって、しかも文字をTabで出力していて、位置合わせの修正が発生した場合、もうどうにもならず、感覚的に修正していくしかない状態になる。

これが、OCR絡みの出力なので、徐々にVB-Reportに切り替えているのだが、まぁ解析が面倒なので、そこはぶった切って一切を引き継がず、問題が発生したら修正で取りあえず時間を稼いで、本格的に対応するのはVB-Reportで完全に作り直すという作業にしている。

Print分の使い方で何が問題かというと、例えば1文字多めに描いてしまうと、その後の文章が全部1行ずれて表示されたり、罫線も使っているので、それがまるっぽ抜け落ちるなどプログラム的瑕疵が多すぎるのだ。

まぁそんなへっぽこシステムと向き合ってきて、だいぶ移植も終わってメンテナンスはかなりしやすくなっているが、その移植を実施するよりも今は.NETのC#で作り直す方に重点を置いているので、ちょっと進みが遅くなってユーザには今のVB6の環境を構築して辛うじて使ってもらっている状況だ。

さすがに、windows10にもなってVB6のシステムを動作させるのは問題があって、自動車整備工場なんかだと一般ユーザの扱いが多く、何が問題かというと、漢字が問題で、ユーザの名字にちょっと第2水準の漢字が使われていたりすると的面豆腐になってしまうのだ。

要するにVB6だとUTF8絡みの文字は扱えないので、何人かは誤魔化して入力してもらっている。

勿論、DBなんかには問題無く登録出来るので、単にVB6のコントロールがUTF8対応してないので、これをUTF8対応させるよりも、いっそのこと.NETに移植する手段を選んだと言う訳だ。

そして、FinePrintが役にたったのは、印刷時においてプレビュー機能を全く実装していなくて、印刷すると直接プリンターに出力する優れもののシステムなのだ。

俺はそれが嫌で、一旦プレビューして確認してから出力したいと思ってFinePrintを導入しているのだ。

FinePrintがあれば、実際のプリンタに送る前にワンクッション置けるので、プレビュー機能として使う事ができる。

印刷まで少し工程が増えてしまうが、今まで確認すら出来なかったシステムが一旦プレビュー出来る様になるのはストレスが無くなるのでかなり便利になる。

勿論、直接出力したい場面もあるので、そこはオプション設定で切り替えられる様にしておけば不便は無いと言う訳だ。

そう言うことで、仮想プリンタの便利な所は実際にプリンタをつながなくても印刷までのテストが実施出来ると言うのと、nアップ印刷も便利で、両面印刷とかの制御も楽ちんなのだ。

しかし、このFinePrintを知らないと、現状のプリンタのオプションを制御しようとする為、ユーザからそう言った要望が出ても、非常に難しいなんて回答せざるを得ない様だ。

IT系の特に営業はもっと幅広く色々なツールの存在を自らが試して置けば良いのに、そう言う興味も無いらしく、ましてや今のエンジニアでさえその存在を知らないので、教えてもらってないので出来ませんと回答する有様だ。

もういい加減、自らが学ぶ力を見つければ良いのになぁと思う。

まぁせめてFinePrint知らなくてもOneNoteが仮想プリンタとして使えるのでOneNoteくらい使えば良いのになぁ。