1

我正在开发一个需要打印到 Zebra 打印机的 Windows Mobile 应用程序。问题是,由于客户没有提供任何打印机,因此我在我的国家没有打印机。

我的方法是先在 ZebraDesigner2 中设计标签,然后将标签打印到文本文件中。将标签打印到文本文件而不是打印机会发送 ZPL 代码以生成我尝试打印的标签。因此,我可以通过先设计标签然后查看 ZPL 代码来更快地生成 ZPL 代码。有点像具有背景 XML 的拖放 GUI。

假设我有一个包含以下文本的简单标签: Hello World! 如果我在 ZebraDesigner2 中打印它,它将被写入我的文本文件:

CT~~CD,~CC^~CT~
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR5,5~SD15^JUS^LRN^CI0^XZ
^XA
^MMT
^PW609
^LL0406
^LS0
^FT1,29^A0N,28,28^FH\^FDHello World!^FS
^PQ1,0,1,Y^XZ

我的主要问题是,如果我要通过我的 Windows Mobile C# 应用程序将此代码发送到打印机,我应该在我的 C# 代码中包含哪一个?我是否在 ^XZ 之前包含 ^XA 的部分?如果我没记错的话,我相信 CT~~CD,~CC^~CT~ 不应该包含在我的代码中。

4

2 回答 2

2

迟到的答案,但是由于正在查看...

CT 线和第一组 XA..XZ 序列设置模式、标签长度、可打印区域等。

如果您删除它们,它将从标签/打印机设置中获取这些设置,这通常是您想要的。打印机可以感应标签的长度和宽度。

将它们留在里面可能会导致很大的问题,因为如果您在标签中定义了可打印区域,然后提交的下一个标签类型没有,它将使用您定义的设置 - 这可能会导致标签中出现空白区域,例如。截止在 Zebra Designer 自定义标签之后打印的 USPS 标签条码。

发现这一点很困难 - 将它们排除在外,并且您应该将 MMT、PW609、LL0406 和 LS0 排除在剩余的 XA..XZ 序列之外 - 您的 Hello World 不会受到影响。

If you really want to limit the area printed to, set up margins inside the printable area, etc, refer to the manual.

于 2013-04-04T17:18:10.740 回答
0

在删除任何代码之前,您必须查看程序员指南。例如,CT~ 命令更改控制前缀。

在 Internet 或 zebra.com 站点上搜索“ZPL 编程指南”。

因此,请保持文本文件不变,然后将其包含到您的 Windows 移动应用程序中。

PS:zebra 为标签/收据打印机提供 SDK:http ://www.zebra.com/gb/en/products-services/software/adapt-software.html

PS2:如果没有测试打印机,您可能会得到糟糕的最终结果。

于 2012-11-13T18:54:39.630 回答