3

フォント ファイルを Bluetooth 経由でプリンター Zebra RW420 に送信する必要があります。Zebra Windows Mobile SDK を使用していますが、プリンターに送信して保存する方法が見つかりません。Label Vista で手動で行うこともできますが、200 以上のプリンターで行う必要があります。

誰でも何か提案があるか、SDK のどの方法を使用できるか知っていますか?

前もって感謝します。

4

2 に答える 2

5

CISDFが正解です。おそらく、計算しているチェックサム値が正しくありません。USBポートに接続されたRW420にポートスニファを配置しましたが、これが機能することがわかりました。私は実際にいくつかのPCX画像をプリンターに送信し、後でそれらをラベルで使用しました。

! CISDF
<filename>
<size>
<cksum>
<data>

最初の4行の終わりにCRLFがあります。チェックサムとして0000を使用すると、プリンターはチェックサムの検証を無視します(一部のZPLマニュアルで、これに対する非常にあいまいな参照を見つけ、試してみましたが、機能しました)。<filename>は、プリンタのファイルシステムに保存されるファイルの8.3名であり、<size>は、ファイルのサイズであり、長さは8文字で、16進数としてフォーマットされています。<cksum>は、チェックサムとしてのデータバイトの合計の2の補数です。<data>は、もちろん、プリンタに保存されるファイルの内容です。

サンプル画像をプリンターに送信するために使用した実際のC#コードは次のとおりです。

// calculate the checksum for the file

// get the sum of all the bytes in the data stream
UInt16 sum = 0;
for (int i = 0; i < Properties.Resources.cmlogo.Length; i++)
{
  sum += Convert.ToUInt16(Properties.Resources.cmlogo[ i]);
}

// compute the two's complement of the checksum
sum = (Uint16)~sum;
sum += 1;

// create a new printer
MP2Bluetooth bt = new MP2Bluetooth();

// connect to the printer
bt.ConnectPrinter("<MAC ADDRESS>", "<PIN>");

// write the header and data to the printer
bt.Write("! CISDF\r\n");
bt.Write("cmlogo.pcx\r\n");
bt.Write(String.Format("{0:X8}\r\n", Properties.Resources.cmlogo.Length));
bt.Write(String.Format("{0:X4}\r\n", sum));  // checksum, 0000 => ignore checksum
bt.Write(Properties.Resources.cmlogo);

// gracefully close our connection and disconnect
bt.Close();
bt.DisconnectPrinter();

MP2Bluetoothは、BT接続と通信を抽象化するために社内で使用するクラスです。あなたにも独自のクラスがあります。

于 2012-10-30T18:40:16.950 に答える
1

SDK を使用して、あらゆる種類のデータを送信できます。Zebra フォントは、ヘッダー付きの単なるフォント ファイルです。したがって、Label Vista から出力 cpf ファイルをキャプチャすると、SDK からそのファイルを送信できます。write(byte[])接続を作成し、ファイルの内容で呼び出すだけです

于 2012-06-25T18:57:29.973 に答える