Delphi 调用打印指令ZPL--USB

如果是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;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值