POS打印机MatrixPoint MP-3250 ESC / POS命令

时间:2011-03-24 06:47:24

标签: delphi command point-of-sale thermal-printer virtual-printer

作为主题,我有一台POS打印机MatrixPoint MP-3250。 正如手册所说它是支持命令:ESC / POS兼容

我搜索谷歌,试过但不行。至少设置压缩字体,粗体,斜体和剪纸命令。

运行规格:

  1. Windows 7 32位
  2. 打印机接口是Parallel slot,我使用BAFO并行 到USB适配器。
  3. 安装BAFO驱动程序后,我们得到:USB001 - 虚拟 USB打印机端口
  4. 我在“设备和打印机”中手动添加打印机(添加本地 打印机,设置为USB001端口并使用Generic / Text only打印机 驱动程序。
  5. 我使用winspool API(WritePrinter)发送命令
  6. Delphi XE
  7. 请帮助我,任何评论都会表示赞赏。

    我尝试使用此ESC/POS manual

    EDIT。

    以下是:

    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
    

    我们在印刷纸上得到了什么: OWOTOF打印到默认打印机(出现奇怪的字符)

    该论文未能削减(未发生)

    编辑: 大多数情况下忘了,上面的东西在Epson兼容/ IBM 9068A Passbook Printer(Dot matrix)上运行良好。 (不确定)打印机直接连接到USB /并口,而不是使用适配器(和USB一样并行)。

    我认为此适配器或其驱动程序之间/之间存在错误?

    谢谢

2 个答案:

答案 0 :(得分:1)

您的剪切命令发送错误。

GSv0分为: GS(组别分离者)#29 v这是小写'v' 0二进制值零#0

这应该是削减。

答案 1 :(得分:0)

案件结案。我最后的嫌疑人是对的,问题是BAFO - 与USB适配器并行。 Siggh,我花了很多时间因为这个半工作适配器(不兼容)。通过替换另一个类型/分支适配器,它现在可以正常工作。

感谢所有贡献者