1

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

我确实搜索谷歌,尝试但不会工作。至少设置精简字体、粗体、斜体和剪纸命令。

运行规格:

  1. 视窗 7 32 位
  2. 打印机接口是Parallel插槽,我使用BAFO并口转USB适配器。
  3. 安装 BAFO 的驱动程序后,我们得到: USB001 - USB 虚拟打印机端口
  4. 我在“设备和打印机”中手动添加打印机(添加本地打印机,设置为 USB001 端口并使用通用/纯文本打印机驱动程序。
  5. 我使用 winspool API (WritePrinter) 发送命令
  6. 德尔福 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

我们在打印纸上得到了什么: OWOTOFTPrinting to default printer(出现奇怪的字符)

纸张未能裁切(未发生)

编辑:大部分都忘记了,上述内容在 Epson 兼容/IBM 9068A 存折打印机(点阵)上运行良好。(不确定)打印机直接连接到 USB / 并行端口,而不是使用适配器(像现在一样与 USB 并行)。

我认为此适配器或其驱动程序中/之间有问题?

谢谢

4

2 回答 2

1

您的剪切命令发送错误。

GSv0 被拆分为: GS(组分隔符)#29 v 即小写 'v' 0 二进制值 0 #0

这应该可以削减。

于 2011-03-24T11:04:25.620 回答
0

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

感谢所有贡献者

于 2011-03-29T03:17:43.467 回答