无法通过SharpZebra将图像添加到ZPL

时间:2015-02-14 07:22:38

标签: c# asp.net zpl

我正在尝试使用SharpZebra生成ZPL文件,而我的代码看起来像这样

 PrinterSettings p = new PrinterSettings();
   p.PrinterName = "Zebra  105SL (200dpi)";
   p.Darkness = 30;
   List<byte> res = new List<byte>();
   res.AddRange(ZPLCommands.ClearPrinter(p));
   res.AddRange(ZPLCommands.GraphicDelete('E', "SAMPLE"));
   res.AddRange(ZPLCommands.ClearPrinter(p));
   res.AddRange(ZPLCommands.GraphicStore(new Bitmap(@"C:\Assembla\images\logoZpl.bmp"), 'E', "SAMPLE"));
   string myString = Encoding.UTF8.GetString(res.ToArray());
   File.WriteAllText("my path"), myString);

但由于某种原因,它没有创建正确的图像。 输出ZPL就是这个

    ^XA^MMT^PR0,12,12~TA000^LH0,0~SD30^PW0^IDE:SAMPLE.GRF^FS^XA^MMT^PR0,12,12~TA000^LH0,0~SD30^PW0~DGE:SAMPLE,800,20,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
830FFFFFE0C1870FFFFFFFFFFFFFFFFFFFFFFFE0
0007FFFFE0010207FFFFFFFFFFFFFFFFFFFFFFE0
0007FFFFC0000007FFFFFFFFFFFFFFFFFFFFFFE0
0007FFFFC0000007FFFFFFFFFFFFFFFFFFFFFFE0
0007FFFFC0810207FFFFFFFFFFFFFFFFFFFFFFE0
8207FFFFE0C10207FFFFFFFFFFFFFFFFFFFFFFE0
^XZ

当我在在线zpl查看器(http://labelary.com/viewer.html)上查看时,它没有创建图像

有谁可以指出我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

生成的ZPL代码包含将图像上传到打印机所需的~DG命令,但不包含实际显示图像的ZPL命令。

我不熟悉SharpZebra,但是如果你在最后一个^ XZ之前添加以下内容,你就会得到一些东西要打印(尽管图像看起来很奇怪,所以我不确定如果它是您真正想要使用的图像):

^FO50,50^XGE:SAMPLE,1,1

此外,您需要删除将打印宽度设置为零的命令:

^PW0

这里是实时Labelary示例的link,并带有上述更改。

答案 1 :(得分:1)

您需要在GraphicWrite之后使用方法GraphicStore

res.AddRange(ZPLCommands.GraphicWrite(50, 50, "SAMPLE", 'E'));