我正在开发一个小型应用程序以在斑马打印机上打印标签,我使用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代码正在工作!(。