我在准备用于在Zebra RZ400 300 dpi上打印位图图像的ZPL命令时遇到问题。
我有完整的代码片段,我不明白我在哪里犯了错误。
var bitmapImagePath = @"C:\Sample.bmp";
//Gets the size of the bitmap file
long bitmapDataFileSize = new FileInfo(bitmapImageFilePath).Length;
byte[] bitmapData = System.IO.File.ReadAllBytes(bitmapImageFilePath);
string hexadecmimalString = BitConverter.toString(bitmapData).replace("-", string.empty);
double widthInBytes = Math.Ceiling(bitmapDataWidth / 8.0);
string str = "";
return str = "^XA^FO100,100^GFA," + //At Postion 100, 100
bitmapDataSize.ToString() + "," + // Total bytes of data to be placed
bitmapDataSize.ToString() + "," + // Total bytes of data to be placed, repeats as per API
widthInBytes + "," + //
hexadecmimalString + "^XZ";
你能告诉我哪里出错吗? 我可以使用Multiplat form SDK API进行打印,但我只对符合我要求的^ GFA或^ GFB命令感兴趣。
请建议我准备打印任何给定图像的^ GF命令。
答案 0 :(得分:1)
https://stackoverflow.com/questions/7083180/print-bmp-with-zpl?rq=1
那应该为你做的伎俩。由于您是新会员,我强烈建议您使用搜索功能。
这一行:
var bitmapImagePath = :C:\\Sample.bmp";
应该是
var bitmapImagePath = @"C:\Sample.bmp";
您可能有两种选择。
如果您不需要使用ZPLII,则可以使用Zebra驱动程序安装打印机。这将允许您像使用常规桌面打印机一样使用Zebra打印机。然后,您可以使用标准的.Net函数构建标签进行打印,并将文档作为常规文档以编程方式发送到打印机。
如果这不是一个选项,你需要创建一个单色位图,我自己从来没有这样做过。但是,如果您不想编写转换器,可以使用img2grf进行转换。您需要将该库转换为.Net程序集,使用IKVM.可以轻松实现。有关如何使用IKVM的说明,只需访问HtmlUnit Conversion with IKVM并按照“将HtmlUnit转换为.NET“部分,它与转换img2grf的过程相同。