【问题标题】:c# Zebra Printer SDK: Convert ZPL to EPL2c# Zebra 打印机 SDK:将 ZPL 转换为 EPL2
【发布时间】:2019-08-01 13:51:31
【问题描述】:

我正在开发一个在 Zebra 打印机上打印标签的小应用程序,为此我使用了 ZPL 语言和 Zebra 打印机 SDK 包。

我的应用在 TLP 2824 Plus 上测试的 ZPL 功能齐全,但我发现将使用的实际打印机是仅使用 EPL 语言的 TLP 2844(在任何问题之前,TLP 2824 有缺陷,所以只适合测试)。

我的打印方法基于此:https://github.com/Zebra/devtalks/blob/121317-LinkOS_CSharp/BasicWpfPrintApp/MainWindow.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

这里是viewer link 来查看结果。

EPL 似乎与 ZPL 相似,我想打印方法必须相似,这就是为什么我正在寻找编写与上述字符串相同类型的字符串并调整我的方法的原因。

感谢您的阅读!

【问题讨论】:

  • 你要为多少台打印机制作这个?如果您已经有一台正在工作的打印机,则可能值得更换打印机/打印机而不是特定打印机的代码。
  • @EdHayes3 对于几个^^ 所以不是一个选项^^
  • 好像您正在制作一个可以使用一段时间的新应用程序。该打印机 TLP 2844 已于 2012 年 9 月 30 日停产。支持于 2015 年 10 月 31 日结束。建议企业购买新打印机。当前一代以太网/USB 更换价格为 460 美元,无数量折扣。

标签: c# zebra-printers zpl epl


【解决方案1】:

所以!在以下人员的帮助下:

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

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 似乎不喜欢 € 符号,而且我不明白如何使用 oR 命令来做到这一点(也不明白如何使用相同的命令摆脱斜线 0,但我以后总能看到,至少 EPL 代码可以工作!)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2021-07-17
    • 2023-03-19
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多