[System Environment] | ||||||||||||
lprコマンドでバイナリ・モードで印刷する
|
||||||||||||
|
解説 |
TIPS「LPR(LPD)プロトコルでプリンタを公開する」「LPRプロトコルでプリンタへ接続する」では、LPRプロトコルを使ってプリンタを公開したり、LPRプロトコルを使ってデータを送信する方法について説明した。
印刷を行う場合、通常はアプリケーションから印刷メニューを選び、印刷する。だが場合によっては、プリンタに送るべき印刷データそのものを使って印刷したいことがある。例えばWindows以外のOS環境で作成されたPostScriptの印刷データ(PostScriptのコードが含まれているファイル)を持っている、もしくは送付してもらった場合は、そのデータを直接PostScriptプリンタにLPRプロトコルで送信すれば、それを作成したアプリケーションやプリンタ・ドライバ、OS環境などがなくても、データを印刷することができる(例えば、Macintosh上の特殊なグラフィックス・アプリケーションで作成された印刷データはあるが、手元のWindowsコンピュータではそれを開くことができないといった状態。UNIXやMacintosh、メインフレームなど、さまざまな機種が混在している環境で起こりうる)。
このような状況ではプリンタに対して、印刷データ・ファイルをそのままlprコマンドなどで送信すれば印刷できるが、1つだけ注意点がある。データの送信は「バイナリ・モード」で送信しなければならないということだ。
LPRプロトコルでは、データの種類としてテキスト・モードとバイナリ・モードという2つの種類が選択できる。テキスト・モードとは、プリンタに対して純粋なテキスト・データのみを送信するというモードである。テキスト以外の制御文字やバイナリ・データなどの不適切なデータが含まれていると、それらは空白や改行、制御文字などに変換されたり、削除されてしまうことがある。またPostScriptのデータが、PostScriptのコードのまま印字されてしまったりする(例えば先頭の方に「%!PS-Adobe-3.0……」のような文字列が見える状態で印刷される)。現在のプリンタでは、送信するデータにはさまざまな制御コードやバイナリ・データなどが含まれており、これをテキスト・モードで印刷しようとしても、正しく印刷できないばかりか、意味不明な文字が印刷された紙が大量に出力されるなどのトラブルが発生する。
このように、本来プリンタに送信するべきデータをLPRプロトコルで直接プリンタに送信して印刷するには、バイナリ・モードを利用する。本TIPSでは、lprコマンドでバイナリ・モードで印刷する方法について紹介する。
操作方法 |
lprコマンドは、LPR(LPD)プロトコルをサポートしたサーバに対して、印刷データを送信するためのプログラムである。その使い方はTIPS「LPR(LPD)プロトコルでプリンタを公開する」で紹介したlpqコマンドと類似しており、次のようになっている(「-S」と「-P」は大文字であることに注意)。
lpr -S サーバ名 -P プリンタ名 印刷ファイル名 |
印刷ファイル名には、送信したいデータが含まれているファイル名を指定する。例えば、sample.txtというテキスト・ファイルをテキスト・モードで印刷したければ、次のようにする(lprはデフォルトではテキスト・モードで送信する)。
C:\>lpr -S server1 -P printer1 sample.txt |
ただし、sample.txtに半角英数字以外の文字が含まれていると、印刷できないことがある。プリンタがその文字コードを理解できない場合があるからだ(このあたりはプリンタに依存する)。
バイナリ・モードで印刷させるためには、「-o l」というオプション(「l」は小文字の“エル”)を追加して指定する。例えば、sample.psというPostScriptのファイルをPostScriptプリンタに送信するには、次のようにする。なおオプション指定は「-o l」ではなく、「-ol」でも動作するようである(lprのヘルプには前者のみが記述されている)。
C:\>lpr -S server1 -P psprinter2 -o l sample.ps |
PostScriptファイルに限らず、通常のレーザー・プリンタやインクジェット・プリンタでも同様である。文字以外のグラフィックス描画命令が含まれたバイナリ・データをプリンタに送信する場合は、必ずこのオプションを忘れないようにする。
プリンタにデータが送信され、印刷されているかどうかは、次のようなlpqコマンドで確認できる。
lpq -S サーバ名 -P プリンタ名 |
関連記事(Windows Server Insider) | ||
Windows TIPS:LPR(LPD)プロトコルでプリンタを公開する | ||
Windows TIPS:LPRプロトコルでプリンタへ接続する | ||
Windows TIPS:LPRプロトコルと標準TCP/IPポート・モニタの違い | ||
この記事と関連性の高い別の記事
- LPR(LPD)プロトコルでプリンタを公開する(TIPS)
- WindowsからLPRプロトコルでプリンタへ接続する(TIPS)
- LPRプロトコルと標準TCP/IPポート・モニタの違い(TIPS)
- 異なるアプリケーションの複数のファイルをいっぺんに印刷する(TIPS)
- Webページの一部分だけを印刷する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|