admin管理员组文章数量:1534915
2024年6月2日发(作者:)
给你一段我写过的代码供你参考一下:
一、如果是并口连接打印机,直接这样写就OK了,至于ZPL II语言,你可从网上下
载,语法还是相当简单的!
procedure 8Click(Sender: TObject);
var
lpt:textfile;
begin
assignFile(lpt,'LPT1');
rewrite(lpt);
write(lpt,'^XA^FO10,10^BCN,100^FD12345^FS^XZ');
CloseFile(lpt);
end;
二、如果是USB口连接打印机的话有两种方法,一是在CMD窗口下执行以下命令
NET USE LPT1 计算机名共享斑马打印机名称 PERSISTENT:YES
将USB虚拟成LPT1,这样用以上程序也可以使用
三、要使用斑马打印机WINDOWS驱动来实现
uses winspool
....
procedure WriteRawStringToPrinter(PrinterName:String; S:String);
var
Handle: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
ShowMessage('error ' + IntToStr(GetLastError));
Exit;
end;
with DocInfo1 do begin
pDocName := PChar('test doc'); {在打印列表中显示的打印内容}
pOutputFile := nil;
pDataType := 'RAW'; {关键,数据类型必须是RAW,这样打印机通过
驱动程序才能识别ZPL语言}
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;
procedure IBtnClick(Sender: TObject);
var
ZPL: string;
slist: TStringList;
begin
slist := ;
;
omFile('D:'); {将ZPL语言放入文本文件中,方便调用}
ZPL := ;
WriteRawStringToPrinter(,ZPL); {此处为安
装过驱动程序的ZEBRA打印机名称,你可手工输入,也可自动获取}
end;
以上是我常用的方式,主要是现在客户使用USB的越来越多,所以这种方法简单快捷,
楼主可以参考一下!!
版权声明:本文标题:Delphi调用Zebra打印机的ZPL指令来打印条形码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/shuma/1717342857a561459.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论