Delphi 调用打印指令ZPL--USB

来源:互联网 发布:程序员专业名词 编辑:程序博客网 时间:2024/06/12 00:14

如果是USB接口连接打印机的话有两种方法:

  1、在CMD窗口下将USB虚拟成LPT

     第一步,配置网卡的IP地址,指定一个固定IP与子网掩码;     第二步,共享USB接口的条码打印机,记得起一个简单易记的名字,这个是打印机共享名, 我的打印机起名叫GP5860;    第三步,映射出刚才共享的打印机到LPT1端口,在命令行端口运行NET USE LPT1: //计算机名或IP/打印机名 /Persistent:YES,回车;(把计算机名或IP和打印机名改成你自己的)       例: NET USE LPT1 //127.0.0.1/GP5860 /PERSISTENT:YES    说明: NET USE  列出所有的映射内容             NET USE LPT1 /DELETE 删除前面的映射定义     2、使用斑马打印机windows驱动来实现   uses   winspool   ............... procedure WriteRawStringToPrinter(PrinterName, S: string);var  Handle: THandle;  N: DWord;  DocInfo1: TDocInfo1;begin  if not OpenPrinter(PChar(PrinterName), Handle, nil) then raise Exception.Create('打开打印机失败!');  with DocInfo1 do  begin    pDocName    := PChar('Test Doc');    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;
//调用以上面的过程procedure bbtnPOSPrintClick(Sender: TObject);var  ZPL: string;  sList: TStringList;begin  sList := TStringList.Create;  try    sList.Add(chr(27) + chr(64));  //初始化打印头        sList.Add('             歡迎光臨                 ');    sList.Add(' * * * * * * * * * * * * * *');    sList.Add('');    sList.Add('');    sList.Add('');    sList.Add('');    ZPL := sList.Text;    WriteRawStringToPrinter('GP-5860III', ZPL);    //我的打GP-5860III    finally    sList.Free;   end;end;  

0 0