ネットワークプリンターに接続できているはずなのに、「オフライン」と表示されたまま印刷できないことがありました。
いろいろ試した結果、Spoolerサービスの動作が不安定になっていたようです。
Spoolerサービスを再起動したら、うまく動くようになりました。
1. プリンターがオフライン?
Windows 10のパソコンで Wordから印刷しようとしたら、「プリンターがオフライン」というエラーが表示されて進みません。
どうすればよいでしょうか?
プリンターはオフラインです。
プリンターが接続されていること、プリンターの電源が入っていることを確認してください。それでも解決しない場合は、[解決しない場合は]をクリックしてください。
1-1. プリンターの電源を確認する
まずは、エラーメッセージにしたがって、プリンターの電源を確認してみます。
電源をオフにした後で、用紙トレイを開けた形跡がありました。
まずは、用紙設定の「登録」で完了させます。
しかし、それでも「オフライン」の表示は変わりません。
どうも、パソコンからプリンターが正しく認識できていないようです。
1-2. プリンターの印刷待ち一覧の更新
「印刷待ち一覧」を表示して、「最新の状態に更新」を押してみました。
しかし、それでもオフラインのままでした。
「トラブルシューティング」でも「プリンターをオンにする」ように表示されます。
2. 接続しているSSIDが違う?
ちょっと調べていて気になったのが「SSID」です。
パソコンとプリンターとで 接続しているネットワーク名が違っているのです。
ネットワークプリンターなので、パソコンには Wi-Fi 経由で接続しています。
プリンターの無線LAN設定をみると「pr500k-●●-1」と表示されているのです。
一方、パソコンの方はルーターにイーサネットケーブルで接続していたのですが、「pr500k-●●-3」と表示されています。
同じルータにはつないでいるのですが、SSIDが微妙に異なっています。
自動的に3つ目のSSIDに接続しているようでした。
ルータを見てみると、3種類のSSIDが設定されていました。
機器同士の接続している SSIDが違うと、お互いに通信できるのかな?
2-1. パソコンのIPアドレス(netstat)
ネットワーク上でどのように表示されているのかルートティングテーブルを確認してみました。
コマンドプロンプトで「netstat -r
」を入力します。
「netstat」は、通信中のTCP接続の状態を確認するコマンドです。
「-r」オプションは、ルータが認識しているネットワーク情報を表形式で表示します。
「192.168.1.6」が PC の IPアドレス(ローカル)で、
「192.168.1.1」が ルータの IPアドレスです。
2-2. プリンターのリモートUIにはアクセスできた
プリンターとパソコンがつながっているのか確認するために、パソコンから「リモートUI」を表示してみました。
ネットワークプリンターには、インク残量などの「プリンター情報」をHTML形式で表示する機能があります。
ブラウザのアドレスバーをみると、「IPアドレス/index.html」と表示されます。
つまり、プリンタ自体が、簡易的なHTMLサーバになっているのです。
エラーになっているプリンタでも、この「リモートUI」がちゃんと表示されました。
IPアドレスは「192.168.1.7」になっています。
SSIDが異なっているのですが、プリンターのリモートUIにはアクセスできました。
ということは、「ネットワーク上のプリンターにつながるのに、印刷先としては認識されない」ということのようです。
2-3. WSDポートの構成は変更できなかった
ちなみに「プリンタのプロパティ」からポートを確認してみました。
「WSD Port」と表示されています。
ただし、「ポートの構成」をクリックしたら、エラーになりました。
特に、問題はなさそうなのですが、どうして接続できないのが腑に落ちません。
「WSD(Web Services on Devices)」は、Windows PCからネットワークプリンタにつなぐための規格です。
3. プリンターの再セットアップ
とりあえず、「困ったときは プリンターの再セットアップ」です。
プリンターの初期設定をやり直せば、つながるはずです。
プリンターのドライバをダウンロードして、実行しました。
ちゃんと、ネットワークからプリンターを検出して、設定できました。
ネットワーク上は認識されているんだね。
「コントロールパネル」の「デバイスとプリンター」を確認すると、「Canon 〜(1 コピー)」という項目が追加されています。
無事に印刷できました。
3-1. 「標準のTCP/IPポート」でセットアップされた
ちなみに、ウィンドウタイトルを見ると末尾が「IP_192.168.1.7
」になっています。
以前の設定と少し違います。
プリンターのポートを確認すると、「標準のTCP/IPポート」が追加されていました。
つまり、WSDポートの代わりに、IPアドレスによるポートが追加されているのです。
そのままプリンターのセットアップをしただけなのに、なんで違ったんだろうね。
3-2. WSDポートとTCP/IPポートの違い
基本的には、「TCP/IPポート」より「WSDポート」の方が高機能です。
「WSDポート」だと、プリンターのIPアドレスがリセットされても、プリンターの設定はそのまま有効です。
プロトコル | 特徴 | プリンターの IPアドレスが変更されたら |
---|---|---|
Standard TCP/IP | コンピューターに標準搭載されている通信プロトコル | プリンターのネットワーク設定を設定し直す必要がある |
WSD | Windows Vista以降に標準搭載されている通信プロトコル | 設定し直す必要ない |
Bonjour | Mac OS Xで使われる通信プロトコル | 設定し直す必要ない |
EpsonNet Print | エプソン製のドライバをインストールすると、印刷ポートにEpsonNet Printが設定される(Windowsのみ) Windowsのスプーラー画面の上部に、プリンターのステータスが表示される | 設定し直す必要ない |
4. 不要になったプリンタの削除・名前の変更
何はともあれ、プリンタの印刷ができるようになったので、あとは「後始末」です。
「オフライン」になっているプリンタ項目を消して、正常なプリンタ項名についている「1コピー」を削除する必要があります。
ところが、「設定」からプリンターを削除しようとしても、反応しません。
コマンドから削除しても、「削除中」となったまま反映されません。
4-1. Spoolerの再起動
ここで、やっとプリンターを管理するシステムが正常に動いていないことに気づきました。
Windowsでは、プリンターは「Spooler(Print Spooler)」サービスによって管理されています。
タスクバーを右クリックして「タスクマネージャー」を表示し、「サービス」にある「Spooler」を再起動しました。
「Print Spooler」は、パソコンからプリンター・プリントサーバに送信される「印刷ジョブ」を管理するプログラムです。
複数の印刷ジョブを「印刷キュー」または「バッファ」に保存します。
すると、今までずっと「オフライン」になっていたプリンターが「準備完了」になりました。
元のプリンター設定の方でも、正常に印刷もできるように戻ったのです。
じゃあ、プリンタのセットアップはいらなかったんだね。
ネットワークに接続しているプリンターが印刷先として認識できなかったのも、Spoolerの動作が不安定だったことが原因だったようです。
4-2. プリンター項目の削除・編集
印刷できるようにはなりましたが 2つの項目は必要ないです。
重複したプリンター設定を削除しました。
また、残っているプリンター名も「プリンターのプロパティ」から変更できました。
「プリンターとスキャナー」の項目にも反映されました。
はじめから Spooler を再起動すれば、よかったのかもね。
4-3. スプールファイルの削除(C:¥Windows¥System32¥spool¥PRINTERS)
ついでに、「いつの間にか勝手に追加されていた」というほかのプリンター項目も削除しました。
これらは、パソコンを持ち運んでいたときに接続した Wi-Fi ネットワーク上にあるプリンターが自動セットアップされていたようです。
外出先で Wi-Fi に接続すると、自動的にそこのプリンターにつながる設定が追加されることがあります1。
「設定」からは、すぐにプリンター項目が削除できました。
しかし、Wordなどの「印刷」で「プリンターを選択」すると、まだ過去のプリンターが残っています。
「〜ファイル印刷待ち」と表示されているので、印刷中のデータが残っているようです。
印刷待ち一覧から「ドキュメントをキャンセル」でもよいですが、印刷途中のデータ(スプールファイル)をまとめて削除することにしました。
スプールファイルは、Windowsのシステムフォルダ内(C:¥Windows¥System32¥spool¥PRINTERS
)に保存されています。
プリンターにつながらず印刷に失敗したデータも、いつか接続できるときをずっと待っているのです。
スプールファイルをまとめて削除すると、印刷画面のプリンター選択からも、不要なプリンターが消えてスッキリしました。
今度からは、プリンターの接続が調子悪いときは、まずは Spoolerサービスを再起動してみるようにしたいと思います。
こちらもどうぞ。