
Unix上のTomcatで動作するサーブレットから直接
プリンターへ印刷する方法を考えています。
PDFをブラウザに出力して、クライアントPCから
印刷する方法はたくさんありますが、これだと
個別の伝票印刷等では使い勝手が悪く、作業者の
ITリテラシーが低いと実用的ではないと考えています。
また、市販のレポーティング・ツールを買えばできる
ようですが、非常に値段が高くて手が届きません。
考えている方法は、例えばESC/PをTCP/IP経由で
受け取れるようなプリンタ機種があれば、Javaから
ソケット経由でESC/Pをプリンタへ送信して、
印刷できるのではないか?と考えていますが、
そのようなプリンタはあるのかどうか、実績が
あるのかどうかわからなくて躊躇しています。
No.2ベストアンサー
- 回答日時:
>例えばESC/PをTCP/IP経由で受け取れるようなプリンタ機種があれば
これを実現しているのはプリンタというよりもネットワークプリンタの役目ではないでしょうか?ネットワークプリンタで対応しているものであれば権限さえ問題がなければ印刷は可能であるはずだと思います。
ただし、ESC/Pであれば事前にドライバのインストールや登録も必要となるので結局のところ自由にとはいかないように思えますが・・・
この回答への補足
私の認識ではESC/Pでテキスト情報の印刷だけであれば、
ドライバがなくてもできると思っています。
(簡単な帳票等ではこれで十分だと思っています。)
例えばWord文書をWindowsで印刷するとすると、
内部的にWord文書が印刷イメージに変換され
(確かWMF形式)、それを各種プリンタで理解可能な
言語(ESC/PやPS)に変換する役割を持つのがプリンタ
ドライバだと認識しています。
直接プリンタへESC/P等のコマンドを送信すればよいと
思っていますが、間違いでしょうか?もちろん、その
印刷プログラムはプリンタ依存になってしまいますが。
No.5
- 回答日時:
>プリントサーバを経由せず直接プリンタに印刷を行う技術がIPプリンティングです。
プリントサーバ機能を内蔵したというイメージで同義だといったつもりなのですが・・・(^^;
まあ、細かい仕様は違うのかもしれませんね。
No.4
- 回答日時:
Q1.そうです。
ちなみにプリンタのIPへ515ポートで接続してみてください。おそらく反応があるはずです。JAVAで同様のことを行えば問題なく接続は行えるはずです。Q2.私がイメージしているネットワークプリンタとはプリントサーバのことです。IPプリンティングについてはあまり知らないのですがおそらく同義だと思われます。
Q1の回答はなるほどです。ありがとうございます。
Q2の回答は理解しましたが、プリントサーバと
IPプリンティングは別物ですね。
「IPプリンティング=プリントサーバを経由せずに
直接ネットワーク上のプリンターに印刷する方法」です。
印刷を実行するPC
→(TCP/IP)→プリントサーバ
→(シリアル)→プリンター
という経路の印刷がプリントサーバを利用した印刷方法で、
印刷を実行するPC
→(TCP/IP)→プリンター
というように、プリントサーバを経由せず直接プリンタに
印刷を行う技術がIPプリンティングです。
No.3
- 回答日時:
いいえ。
大丈夫だと思います。ですが、おそらくですが、プリンタの初期化コマンドはかなり標準化されたとはいえ、それぞれ依存するのではないでしょうか?その辺の差異を吸収できるようであるならばドライバを使わずともできると思います。非常に大変だと思われますが検証を繰り返し対応していくしかないでしょうね。
この回答への補足
すばやい回答ありがとうございます。
Q1:
ご回答の内容を「ネットワークプリンタであれば、
Javaからソケット経由で使用するプリンタのコマンドを
直接送信することで印刷が可能」と理解しましたが、
正しいでしょうか?
Q2:
ネットワークプリンタとIPプリンティング対応プリンタ
は同じ意味でしょうか?別の意味でしょうか?
もしご存知でしたら教えてください。
No.1
- 回答日時:
この回答への補足
Java印刷サービスはどんなものか早速確認してみました。
WindowsのJDKで動かす場合には、Windowsでプリンタの
設定をしたプリンターに対して印刷ができるようです。
つまりはJVM→WindowsOS→プリンタという流れで
印刷するもののようです。プリンタ・ドライバは
Windowsにインストールされたものがそのまま使用される
ものと思われます。
ということはUNIX系の場合も同様にプリンタ・ドライバ
等が必要になってくるのでしょうか?知っている方が
いましたら教えてください。
UNIX系で動作させなければならないのですが、ネットを
検索してもこのAPIの情報は非常に少ないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
VBAで印刷スプール終了の判定を...
-
クリレポのプリンタ設定について
-
VB.NET+ActiveReports で印刷...
-
VB6上から印刷ダイアログを表示...
-
vbaでPDFファイルが印刷されない
-
VBで帳票するサンプル
-
イベントプロシージャ 印刷が...
-
VB.NETで罫線付きのデータを印...
-
リッチテキストファイルの印刷
-
VB6の印刷でメモリリーク
-
PDFファイルを印刷し終了するには
-
ファイルのパス指定での印刷方法
-
ACCESSで設定した帳票の用紙サ...
-
エクセルのVBAでプリンタを変更...
-
プログラムからプリンタジョブ...
-
EXCELファイルの複数ダウンロー...
-
PHPでPDFファイルの直接印刷
-
Designer.vbは直接コードをいじ...
-
C#ソースをCSCファイルにてコン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
印刷ダイアログを表示させない方法
-
PHPでPDFファイルの直接印刷
-
2回以上PDFをコピーや印刷がで...
-
vbaでPDFファイルが印刷されない
-
印刷ダイアログを表示させたくない
-
VBAで印刷の成功判定
-
VB6上から印刷ダイアログを表示...
-
ACCESSで設定した帳票の用紙サ...
-
クリレポのプリンタ設定について
-
オートメーションエラー(214741...
-
プリンターを指定して印刷するには
-
VBでExcel印刷する時のプリンタ...
-
EXCELファイルの複数ダウンロー...
-
VBAで印刷スプール終了の判定を...
-
ActiveReportsを使って[印刷ダ...
-
イベントプロシージャ 印刷が...
-
VB.NET+ActiveReports で印刷...
-
A4の2枚をA3の1枚にする編集方法?
-
VBからプリンタに出力する時に...
おすすめ情報