2

我有以下发送到打印机的 zpl。我试图理解“标题”部分是如何解释的,或者为什么它是必要的。标头中引用的 mmf 文件已加载到打印机的内存中。我可以将 zpl 发送到打印机,它可以正常工作,但我也可以完全删除它而不影响输出。

我在 Zebra 的文档中找不到任何关于 [CARD] 和 [GRAPHIC] 参数的内容,或者除了使用 ^XG 之外如何从打印机内存中调用内容。

^XA
^LH20,10
^LT-20
^SD00
^MD00
^POI
^LS240
^FWN
..begin header in question
[CARD]
SlotID=1
OrgName=C:\mypath\myfile.mmf
CardSize=4096000
Description=mytest
FontIndex=0
BmpIndex=1
FontPlugin=ZEBRADL
GraphicsPlugin=ZEBRADL
UnicodeProportTables=0
[GRAPHIC0]
Name=C:\mypath\mygif.GIF
Width=72
Height=250
Downloaded=1
ReallyDownloaded=1
PictId=1
DownloadId=1
DownloadSize=3062
RecallEsc=^FT{x},{y+250}^XGE:{if(ExportingToForm()&&VarID()>=0)}{ZebraFN("Something")}{else}Somethingelse{endif},1,1^FS\n

 ...more actual zpl

为什么标题的 [CARD] 和 [GRAPHIC0] 部分是必需的?它们是旧格式遗留下来的吗?我通过网络上的静态 IP 向打印机发送命令数据,有没有办法格式化这些标头以便打印机接受它们?

4

1 回答 1

2

CARD 和 GRAPHIC 不是 ZPL,打印机会忽略它。您需要注意的是这些部分中的 ^ 和 ~ 字符,因为打印机我试图解释它们。所有 ZPL 命令都以这些字符(或二进制等效字符)开头。

这些其他部分可能来自 ZDesigner 或另一个 ZPL 生成工具,通常会在该工具将 ZPL 发送到打印机之前得到处理。

至于格式化它们以便打印机接受它们?不 - 它们只是不是打印机可以识别的命令。

如果您有一个非常简单的格式,例如:

^xa^fo100,100^a0n,50,50^fdHello World^fs^xz

您可以在中间的某些位置之前和之后插入文本,而无需更改打印机打印的内容...

这被忽略了^xaextra 在这里无关紧要^fo100,100^a0n,50,50^fdHello World^fsblah blah blah^xz这之前的xz导致打印

那仍然会打印。

你甚至可以在上面插入回车,这没关系。

于 2014-09-30T19:01:35.027 回答