【发布时间】:2013-09-04 03:48:43
【问题描述】:
基于this question,我实现了以下代码以将直接命令发送到我的 Zebra TLP2844
var
cmm: AnsiString;
i: integer;
begin
commands.saveToFile('path\to\a\file');
Printer.BeginDoc;
cmm := '';
for i := 0 to commands.Count-1 do
cmm := cmm + commands[i] + #10;
Escape(Printer.Canvas.Handle, PASSTHROUGH, Length(cmm), PAnsiChar(cmm), nil);
Printer.EndDoc;
end;
commands 是一个 TSringList,其中包含我要发送到打印机的所有命令。 请注意,我将所有命令都保存到了一个文本文件中。
好吧,如果我通过驱动程序首选项发送此文本文件进行打印,使用工具 -> 操作 -> 发送文件,它会完美打印。
如果我使用上面的代码,它会在打印后吐出一些额外的标签行。
显然,这表明我在这里做错了什么,但我不知道是什么。
我的尝试
- 一个接一个地发送命令,而不是像在代码中那样连接它们。 结果:什么都没有打印出来。
- 将 #10 更改为 #13#10。 结果:同样的疯狂行为(Zebra EPL 文档确实说它会忽略它找到的任何 #13)
我还应该尝试什么才能以与 Zebra 工具完全相同的方式向打印机发送命令?
【问题讨论】:
标签: delphi zebra-printers