1

主題として、私はPOSプリンターMatrixPoint MP-3250を持っています。マニュアルによるとサポートコマンド: ESC/POS 互換

Google で検索してみましたが、うまくいきません。少なくとも、圧縮フォント、太字、斜体、および用紙の切り取りコマンドを設定します。

ランニング仕様:

  1. ウィンドウズ7 32ビット
  2. プリンター インターフェイスはパラレル スロットで、BAFO パラレル - USB アダプターを使用します。
  3. BAFO のドライバーをインストールすると、次のようになりました。 USB001 - USB 用の仮想プリンター ポート
  4. 「デバイスとプリンター」でプリンターを手動で追加します(ローカルプリンターを追加し、USB001ポートに設定し、汎用/テキストのみのプリンタードライバーを使用します。
  5. winspool API (WritePrinter) を使用してコマンドを送信します
  6. Delphi XE

私を助けてください、コメントをいただければ幸いです。

このESC/POSマニュアルを使ってみました。

編集。

方法は次のとおりです。

function WriteToPrinter(const Data: string): DWord;
var Temp: AnsiString;
begin
  // write directly to printer device
  { ----
    Note:
    This method is also able to send Escape command sequences directly,
    so you're no longer need to call Win32 API complicated Escape() function.
  }

  // We need convert to raw string since I'm using Delphi XE
  // string = UnicodeString

  Temp := AnsiString(Data);

  Result := 0;
  if (fPrnStatus = rpsPageStarted) then
    WritePrinter(fPrnHandle, PAnsiString(Temp), Length(Temp), Result);
end;

WriteToPrinter(#27'@'); // init printer
WriteToPrinter(#27'S'); // normal mode?
WriteToPrinter('Printing to default printer.'); // data
WriteToPrinter('GSV0'); // Cut the paper

印刷された紙で得られたもの: OWOTOFT既定のプリンターに印刷(奇妙な文字が表示される)

紙が切れませんでした(ノッティングが発生しました)

編集:ほとんど忘れていましたが、上記のものはEpson互換/ IBM 9068A通帳プリンター(ドットマトリックス)で正常に動作します。(確かではありません)プリンターは、アダプターを使用せずにUSB /パラレルポートに直接接続されています(今のようにUSBにパラレル)。

このアダプターまたはそのドライバーの間で何か問題があると思いますか?

ありがとうございました

4

2 に答える 2

1

切断コマンドが間違って送信されています。

GSv0 は次のように分割されます: GS (グループ セパレータ) #29 v は小文字の 'v' 0 バイナリ値のゼロ #0

これでうまくいくはずです。

于 2011-03-24T11:04:25.620 に答える
0

ケースを閉じました。私の最終的な容疑者は正しかった、問題は BAFO だった - USB アダプタへのパラレル。はぁ、このセミワーキングアダプター(互換性なし)のせいで、私は多くの時間を費やしています。別のタイプ/分岐アダプターに交換することで、正常に動作するようになりました。

すべての貢献者に感謝します

于 2011-03-29T03:17:43.467 に答える