プリンタから「意味不明な文字列」「文字化けしたような文字列」が印刷されたことはありませんか?
今日はこのプリンタから勝手に(自動で)変な文字列が印刷される、という件をご報告します。
結論
この症状は、プリンタ設定がプリンタに合致していない場合に発生することが多いです。
具体的には「ドライバ」と「ポート設定」です。これらが実際のプリンタで使える状態と相違していることで発生することがあります。
各々深堀していきましょう。
ドライバが悪い場合
ドライバが悪い、というのは何もドライバソフトウェアの出来不出来の話ではありません。(もちろんドライバソフトウェアのバグ、ということもありますが、今回はスコープ外にしますね。)
実際のプリンタ用に用意されたドライバではない、他機種のドライバが適用されている場合、このような奇妙な印刷が発生することがある、ということです。
例えば、以下のような画面になっているとします。
図1:プリンタプロパティのドライバ表示画面
ウィンドウタイトルにあるプリンタ名がプリンタの機種名ですが、ドライバに表示されているプリンタドライバの機種名が全く違う機種名になっています。
正しい時はこうなっているはずです。
図2:プリンタプロパティ(正しい時)
プリンタ名とプリンタドライバの機種名とが合致する状態です。(プリンタ名を変更している場合には必ずしも合致するわけではありません。あくまでプリンタの機種名とドライバ表示にある機種名称が合致するかどうか、という意味合いです。)
ドライバが他の機種のドライバになっていると、印刷するコンテンツデータをプリンタが受け取ってもそのデータを解釈することができず、文字化けしたかのような変な印刷を(たくさん)してしまうことになります。ドライバが相違することでそのプリンタが解釈できるデータが送信されない、ということが主な原因です。
ポート設定が問題の場合
ポート設定が問題の場合にも同様の症状が発生することがあります。
以下の図が正しい設定だとします。
図:プリンタのポート設定(RAW画面)
この画面自体はプリンタのプロパティから「ポート」タブを選択して「ポートの構成」を選択するとこの画面を開くことができます。
この画面ではプリンタとPCとの通信に「RAW」プロトコルを利用することになっています。ですが、古いプリンタでは「LPR」プロトコルを使う場合もあります。ポートではそういったプリンタとの通信方式について設定をする画面なのですが、これが誤認識するケースもあるようです。
図:プリンタのポート設定(LPR画面)
どちらが正しいかはプリンタの仕様によりますので、プリンタマニュアルやメーカのサイトで情報を収集する必要があります。
また付属するオプションについても確認しておく方がいいです。例えば、
・FujiXeroxの一部機種では画面下部の「SNMPステータスを有効にする」チェックボックスをオフにして利用することを推奨している
・「LPRバイトカウントを有効にする」チェックボックスはプリンタの機種によってオン/オフが決められている
・「LPRバイトカウントを有効にする」チェックボックスは対象のプリンタをWindowsが自動で認識した場合にLPRの有効化とともに自動的にチェックされていることが多い(必要かどうかに関わらずです。)
という傾向があります。そしてこれらのポート設定がプリンタにとって都合が悪い場合(設定が合致しない場合)
プリンタから「意味不明な文字列」「文字化けしたような文字列」が印刷される
という症状が発生することが多くあります。
このため、ポート設定はメーカ推奨値を把握しておくことをお勧めします。特にWindowsで自動認識した値が正しいかどうかは一番最初の試験導入時に確認しておく、というのが一番です。
自動認識はダメなの?
自動認識はかなり優秀です。特に最近の機種を認識させる分にはかなりの精度でポート設定までを自動認識してくれます。
自動認識でプリンタのNICから取得している設定値が必ずしもベストの設定値ではない(メーカー推奨値ではない)という点が注意する点、ということです。また、一部機種で認識しないことがある、というケースもあります。
これらのやはり「LPRを使うプリンタをセットアップするとき」という傾向が多いですね。LPRは少々レガシな技術なのでLPR経由での印刷を実行するプリンタではよくよく確認しておく方がよいです。
Windows Serverなど(Active Directoryを含め)でプリンタ共有をしている場合にはプリンタサーバ上でプリンタオブジェクトのポート設定値を変更するだけで社内イントラ内の全PCに提供するプリンタ設定を一括で設定することは可能ですのでまだ現実的なのですが、ローカルプリンタを一台一台インストールしているような環境では、PC一台づつ設定を修正しなければならなくなるので結構な手間です。事前の動作検証が重要になりますね。