如何用DELPH来控制EPSON打印机的ESC命令。(20分)

  • 主题发起人 主题发起人 hjx38
  • 开始时间 开始时间
H

hjx38

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用DELPH来控制EPSON打印机的ESC命令。能取例。
 
uses winspool;
WriteRawStringToPrinter('EPSON KL1600', CHR(27)+CHR(112)+CHR(0)+CHR(5)+CHR(10));
//打印机名称 /ESC键
//后面的字符设定需参照打印机说明,在此意思为命令打印机发出(10-5)毫秒的脉冲。

 
使用如下过程:
procedure WriteToPrinter(PrinterName: string;
S: string);
//PrinterName: 打印机名字及EPSON LQ-1600K等,S为打印机的ESC命令等。
var
Handle: THandle;
N: DWORD;
do
cInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
ShowMessage('error ' + IntToStr(GetLastError));
Exit;
end;
withdo
cInfo1do
begin
pDocName := PChar('直接打印测试');
pOutputFile := nil;
pDataType := 'RAW';
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;

如打印换行为:
WriteToPrinter('EPSON LQ-1600K', #13 + #10);
//#13 为十六进制 OD
 
后退
顶部