主題として、私はPOSプリンターMatrixPoint MP-3250を持っています。マニュアルによるとサポートコマンド: ESC/POS 互換
Google で検索してみましたが、うまくいきません。少なくとも、圧縮フォント、太字、斜体、および用紙の切り取りコマンドを設定します。
ランニング仕様:
- ウィンドウズ7 32ビット
- プリンター インターフェイスはパラレル スロットで、BAFO パラレル - USB アダプターを使用します。
- BAFO のドライバーをインストールすると、次のようになりました。 USB001 - USB 用の仮想プリンター ポート
- 「デバイスとプリンター」でプリンターを手動で追加します(ローカルプリンターを追加し、USB001ポートに設定し、汎用/テキストのみのプリンタードライバーを使用します。
- winspool API (WritePrinter) を使用してコマンドを送信します
- 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にパラレル)。
このアダプターまたはそのドライバーの間で何か問題があると思いますか?
ありがとうございました