ネットワーク Zebra プリンタで印刷する必要があります。いくつかの理由から、winspool 印刷 ( http://support.microsoft.com/kb/154078 ) を使用できません。IP とポートのソケットを介して直接印刷する必要があります。ここに私の印刷方法があります:
System.Net.Sockets.TcpClient zebraClient = new System.Net.Sockets.TcpClient();
try
{
zebraClient.SendTimeout = 5000;
zebraClient.Connect(IP, port);
}
catch (Exception ex)
{
Utils.ShowError(ex);
}
if (zebraClient.Connected)
{
NetworkStream nStream;
nStream = zebraClient.GetStream();
StreamWriter wStream;
using (nStream)
{
wStream = new StreamWriter(nStream);
using (wStream)
{
wStream.Write(content);
wStream.Flush();
}
}
zebraClient.Close();
}
問題は、時々「ターゲットコンピュータが積極的に拒否したため、接続を作成できませんでした」という例外が発生することです。なぜそれが起こっているのかわかりません(おそらくプリンターバッファーがいっぱいです-もしそうなら、どうすれば両方の言語でそれを確認できますか?)。それで、誰かがこの問題を抱えているかどうか、どうすれば修正できるかを尋ねます。