2006-02-07(Tue)
Internet Explorerにおける印刷の問題について
たまにはアニメ、エロゲ以外の話をしましょう。
昨今のWebシステム開発において、ブラウザからの印刷はほぼ必須条件といえるでしょう。
また、お客が使用するブラウザの8割が、マイクロソフトのInternet Explorer(以下、IE)というのも
ごく一般的なシステム開発における条件といえると思います。
このときにシステム面だけを詰めて、印刷面はIEの機能を使えばいいやと考えていると後々、問題になる可能性がでてきます。
私が経験したプロジェクトで問題になった事例は次のようなことでした。
お客は今回導入するWebシステム以前のシステムで、プリンタの用紙を横固定で使用して印刷するシステムがあります。
Webシステムでの導入にともない、web上で表示した伝票をフォームに配置したボタンを押したら
印刷するということになり、伝票の形式等を詰めることで、伝票は横で印刷しようということになりました。
また、既存資源は有効活用ということで、プリンタは新規に購入する事なく、今のプリンタを使うということになりました。
また、前システムもリプレースでなく平行稼動ということでした。
開発を進め、結合テストも済み、導入テストの段階で印刷面の問題が発生しました。
開発時は、印刷するプリンタの設定が「横」になっていたためになんら問題がなかったのですが、
実際にお客先でテストをしてみると、伝票が縦で出力されてしまったのです。
これは、お客のプリンタが別システムで使用しており、またそれが縦設定のため縦で出てしまっていたのでした。
そのために、印刷前のプリンタ設定画面にて、用紙を横にすることで横に印刷することができるようになりました。
ただ、お客としては印刷のたびに用紙の向きをかえることは煩わしいから、「横」固定で出力できるように
してくれないかという話が持ち上がり、次の方法を試しました。
・縦固定のプリンタと別に、同じプリンタで横固定のプリンタを作り、印刷時にそちらを選んでもらうようにした。
この方法で、試してみたのですが、印刷は縦で印刷されてしまいました。
この方法を試した時、通常使うプリンタは縦設定のプリンタとなっていました。
このことから、いくつかのパターンを試して次のことがわかりました。
・IEは起動する前の「通常使うプリンタ」の設定を起動時に取得し、保持し続けると考えられる。
・印刷設定にて、その「通常使うプリンタ」の用紙の向きを変える場合は、変えた向きで印刷することができる。
・縦設定のプリンタ、横設定のプリンタと二つに分けている場合に「通常使うプリンタ」が縦設定のままで
IEを起動し印刷時のプリンタ選択で、横設定のプリンタを選んだとしても印刷は縦で印刷されてしまう。
・「通常使うプリンタ」を横設定のプリンタにし、IEを起動し印刷したところ、横で印刷された。
以上のことより、IEは起動時にプリンタ設定を保持し、通常使うプリンタの設定変更ならば適応されるが
同じプリンタの別設定は、適応されずに印刷されてしまう。
これは、マイクロソフトには何もでてないが、IEに関するバグもしくは、便利(に使える)な機能だと考えられる。
このときのお客はコンピュータスキルにばらつきがあり、一日2、3回の印刷においても用紙設定の変更はできない
ということから、伝票の向きをかえることで対応しました。
このように、開発時の打ち合わせにおいてしっかりとした仕様の取り組み、技術上の問題を
調査していなかったために、赤字となる場合があります。
上記は、私がやって調べた結果なのでちゃんとした回避する方法があるかもしれません。
もしここを見て、別の回避方法を知っている方はよければ教えてください。
昨今のWebシステム開発において、ブラウザからの印刷はほぼ必須条件といえるでしょう。
また、お客が使用するブラウザの8割が、マイクロソフトのInternet Explorer(以下、IE)というのも
ごく一般的なシステム開発における条件といえると思います。
このときにシステム面だけを詰めて、印刷面はIEの機能を使えばいいやと考えていると後々、問題になる可能性がでてきます。
私が経験したプロジェクトで問題になった事例は次のようなことでした。
お客は今回導入するWebシステム以前のシステムで、プリンタの用紙を横固定で使用して印刷するシステムがあります。
Webシステムでの導入にともない、web上で表示した伝票をフォームに配置したボタンを押したら
印刷するということになり、伝票の形式等を詰めることで、伝票は横で印刷しようということになりました。
また、既存資源は有効活用ということで、プリンタは新規に購入する事なく、今のプリンタを使うということになりました。
また、前システムもリプレースでなく平行稼動ということでした。
開発を進め、結合テストも済み、導入テストの段階で印刷面の問題が発生しました。
開発時は、印刷するプリンタの設定が「横」になっていたためになんら問題がなかったのですが、
実際にお客先でテストをしてみると、伝票が縦で出力されてしまったのです。
これは、お客のプリンタが別システムで使用しており、またそれが縦設定のため縦で出てしまっていたのでした。
そのために、印刷前のプリンタ設定画面にて、用紙を横にすることで横に印刷することができるようになりました。
ただ、お客としては印刷のたびに用紙の向きをかえることは煩わしいから、「横」固定で出力できるように
してくれないかという話が持ち上がり、次の方法を試しました。
・縦固定のプリンタと別に、同じプリンタで横固定のプリンタを作り、印刷時にそちらを選んでもらうようにした。
この方法で、試してみたのですが、印刷は縦で印刷されてしまいました。
この方法を試した時、通常使うプリンタは縦設定のプリンタとなっていました。
このことから、いくつかのパターンを試して次のことがわかりました。
・IEは起動する前の「通常使うプリンタ」の設定を起動時に取得し、保持し続けると考えられる。
・印刷設定にて、その「通常使うプリンタ」の用紙の向きを変える場合は、変えた向きで印刷することができる。
・縦設定のプリンタ、横設定のプリンタと二つに分けている場合に「通常使うプリンタ」が縦設定のままで
IEを起動し印刷時のプリンタ選択で、横設定のプリンタを選んだとしても印刷は縦で印刷されてしまう。
・「通常使うプリンタ」を横設定のプリンタにし、IEを起動し印刷したところ、横で印刷された。
以上のことより、IEは起動時にプリンタ設定を保持し、通常使うプリンタの設定変更ならば適応されるが
同じプリンタの別設定は、適応されずに印刷されてしまう。
これは、マイクロソフトには何もでてないが、IEに関するバグもしくは、便利(に使える)な機能だと考えられる。
このときのお客はコンピュータスキルにばらつきがあり、一日2、3回の印刷においても用紙設定の変更はできない
ということから、伝票の向きをかえることで対応しました。
このように、開発時の打ち合わせにおいてしっかりとした仕様の取り組み、技術上の問題を
調査していなかったために、赤字となる場合があります。
上記は、私がやって調べた結果なのでちゃんとした回避する方法があるかもしれません。
もしここを見て、別の回避方法を知っている方はよければ教えてください。















