C#Zebra打印机SDK:将ZPL转换为EPL2



我正在开发一个小型应用程序以在斑马打印机上打印标签,我使用ZPL语言和Zebra Printer SDK软件包。

我的应用程序与我在TLP 2824 Plus上测试的ZPL完全可以使用,但是我发现将使用的实际打印机是仅使用EPL语言的TLP 2844(在任何问题之前,TLP 2824都是有缺陷的,所以很适合测试(。

我的印刷方法基于以下基础:https://github.com/zebra/devtalks/blob/121317-linkos_csharp/basicwpfprintapp/mainwindow.xaml.xaml.cs

我的方法检查语言,只打印zpl,所以我必须修改它们,但是我的主要问题是将字符串从zpl切换到epl。

这是我的ZPL代码:

^XA
^CFA,20
^FB456,1,0,C^FO0,50^FDAR_Ref^FS
^FB252,1,0,C^FO0,80^FDDate^FS
^FB660,1,0,C^FO0,80^FDPrix^FS
^FB456,1,0,C^FO0,138^FDAR_Ref^FS
^FB252,1,0,C^FO0,168^FDDate^FS
^FB660,1,0,C^FO0,168^FDPrix^FS
^FB456,1,0,C^FO0,226^FDAR_Ref^FS
^FB252,1,0,C^FO0,256^FDDate^FS
^FB660,1,0,C^FO0,256^FDPrix^FS
^FB456,1,0,C^FO0,314^FDAR_Ref^FS
^FB252,1,0,C^FO0,344^FDDate^FS
^FB660,1,0,C^FO0,344^FDPrix^FS
^CFA,15
^XZ

这是查看结果的链接。

epl似乎与ZPL相似,我想打印方法必须相似,这就是为什么我正在搜索编写上面的字符串并调整我的方法的原因。

谢谢您的阅读!

so!借助:

  • EPL编程指南:https://support.zebra.com/cpws/docs/eltron/epl2/epl2/epl2_prog.pdf
  • 一个不错的像素转换器
  • 和许多标签印刷

我设法获得了类似的东西:

N
q456
Q352,56
A186,20,0,4,1,1,N,"AR_Ref"
A86,50,0,4,1,1,N,"Date"
A314,50,0,4,1,1,N,"Prix"
P1,1

(将标签除以4,只是第一个显示的代码(。

我在EPL和ZPL中使用变量作为水平和垂直位置。我找不到如何以EPL为中心,所以我使用了旧的好C#:

double textLength = myText.Length * 14; // 14 is the horizontal dots number for font 4
int pos = (int)Math.Floor((width - textLength) / 2 );

(依此类推(

epl似乎不喜欢€符号,我不明白如何使用或命令来执行此操作(也不是如何用同一命令摆脱斜线0,但是稍后我总是可以看到,至少EPL代码正在工作!(。

最新更新