在 ZPL 斑马打印机中打印项目详细信息

Print Item detail in ZPL zebra printer

我正在使用 Zebra 打印机进行收据打印。 我可以打印所有东西,但我想打印 来自数据库的项目详细信息,例如我有 dataReader 并希望 运行 循环打印收据上的所有项目。(c#) 那么我如何在 ZPL 编程中 运行 循环。

^XA
^FX Name og adresse.
^CF0,60
^FO180,50^FDVitec AutoData AS.^FS
^CF0,40
^FO180,100^FDPostboks 545^FS
^FO180,135^FDSentrum^FS
^FO180,170^FDNO-0105 OSLO^FS
^FO50,210^GB700,1,3^FS

^FX Second Section.
^CFA,30
^FO50,240^FDName : ^FS
^FO450,240^FDDate :^FS

^FO50,280^FDcounter: ^FS
^FO450,280^FDTime :^FS

^FO50,340^GB700,1,3^FS

我想 运行 在从数据库 mysql、

获取数据的 DataReader 上循环
^FX Third part  with barcode.
^CFA,30
^FO50,540^FDMVM's : ^FS
^FO450,540^FD0.00 ^FS

^FO50,580^FDSub Totalt: ^FS
^FO450,580^FD0.00 ^FS
^FO50,620^FDTotalt Amount: ^FS
^FO450,620^FD0.00 ^FS
^FO50,660^FDKontant: ^FS
^FO450,660^FD0.00 ^FS
^CFA,40
^FO50,700^FDBalance: ^FS
^FO450,700^FD0.00 ^FS


^FX Fourth section (the two boxes on the bottom).
^BY5,2,150
^FO140,800^BC^FD122232^FS
^XZ

我不认为你可以在 ZPL 代码中加入循环,它是一种格式化语言而不是编程语言。

但是,您可以将循环放在 C# 代码中并构建随后可以连接的字符串。伪代码:

string ZPL = "^XA ^FX Name...";
foreach( var item in dataReader) {
    ZPL += "^FO50,580^FDSub Total: ^FS" + item.SubTotal + "^FS";
}
ZPL += "^XZ";