Zebra ZPL自定义标题 - 打印机解释

时间:2014-09-30 17:09:15

标签: c# zebra-printers zpl zpl-ii

我有以下发送到打印机的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向打印机发送命令数据,有没有办法格式化这些标题,以便打印机接受它们?

1 个答案:

答案 0 :(得分: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世界^ fsblah blah blah ^ xz xz之前导致打印

那仍然会打印出来。

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