在Delphi中将数据发送到USB打印机

Ric*_*ras 5 delphi usb vcl zebra-printers

如何使用Delphi将文本命令发送到连接在USB端口的打印机?

我有一台Zebra TLP2844打印机,想要编程与它直接通信.

Ken*_*ite 7

您可以使用WinAPI的函数Escape,传递给它Printer.Canvas.Handle作为第一个参数,并PASSTHROUGHnEscape参数.

var
  YourCommand: String;
begin
  YourComamnd := 'Your command here';

  if Escape(Printer.Canvas.Handle, 
                PASSTHROUGH, 
                Length(YourCommand), 
                PChar(YourCommand), 
                nil) <> 0 then
    // Handle return value (listed in docs link above)
  else
    // send next command 
Run Code Online (Sandbox Code Playgroud)

EscapeWindows单位中定义.请注意,Printer.StartPage在使用此功能之前必须先打电话才能准备打印机驱动程序以接收内容.