标签: zpl

使用 ZPL 打印 BMP

如何使用 ZPL II 打印位图 (BMP) 图像?

我使用 ~DY 将 BMP 下载到打印机:

~DYR:PRINT,B,B, <size> , <width> , <data>
Run Code Online (Sandbox Code Playgroud)

我正在使用 PHP 将原始数据发送到打印机,因此 <> 变量来自该脚本。使用打印机的诊断实用程序,我验证了该文件是否已使用该命令成功下载。我还能够使用 TSPL 打印该 BMP 文件,TSPL 是一种不同的打印机语言,除了 ZPL 之外,该特定打印机还支持这种语言,因此我知道 BMP 已正确编写。

我尝试使用以下代码打印 BMP:

^XA
^FO0,0^XGR:PRINT.BMP,1,1^FS
^XZ
Run Code Online (Sandbox Code Playgroud)

但它只吐出一个空白标签。

我究竟做错了什么?

bmp zpl-ii zpl zebra-printers

5
推荐指数
1
解决办法
3万
查看次数

ZPL - 条形码打印时丢失数字

我正在尝试使用以下ZPL和Zebra ZP 450打印机在标签上打印Code 128条形码:

^BY3^BCN,112,N^FO090,660^FD>;>89102100^FS
Run Code Online (Sandbox Code Playgroud)

我期待条形码扫描为"9102100".但是,当我扫描打印的条形码时,它显示为"910210" - 切断最后一位数字.

如果我更改了最后一位数字,它仍然会被切断.但如果我在末尾添加更多数字,例如"9102100357",则条形码正确读取为"9102100357".

为什么我在这种特殊情况下"失去"一个数字?

label barcode zpl zebra-printers barcode-printing

5
推荐指数
1
解决办法
7756
查看次数

从Web服务器打印到无中介的热敏打印机

我已经研究这个问题近一个月了。似乎我被推向各个不同的方向。我希望有人可以帮我一个答案。

给出我要寻找的简短模型:

我有一个网络服务器,其中包含我需要通过互联网到达热敏打印机进行打印的信息。我不希望计算机成为中介。我毫不费力地进行必要的编程来实现这一目标。我的问题是找到可以编程的设备。我遇到的第一个问题是找到一台内置Web服务器的热敏票据打印机,我可以对该服务器进行编程以轮询服务器以获取打印信息。当前没有可用于此目的的打印机。我曾与Zebra,Epson,Brother等进行过交谈。如果两个设备都在同一网络上(例如,手机打印机到手机所连接的同一网络上的打印机),并且大多数都带有SDK,则大多数解决方案都可以进行打印。做吧。我需要打印机能够轮询我的网络服务器。所以我去寻找替代品。也许我可以将无线USB mini Web服务器连接到打印机以实现最终目标。我认为这将是一个简单的任务,但不是。我在stackoverflow.com上对用户的问题是有人遇到类似问题并且知道解决方案吗?我再次与不同的制造商交谈,但他们都无法提供帮助。我认为大多数人甚至无法理解我在说什么。我希望这里的那些程序我能理解我的问题。COM是有人遇到类似问题并且知道解决方案吗?我再次与不同的制造商交谈,但他们都无法提供帮助。我认为大多数人甚至无法理解我在说什么。我希望这里的那些程序我能理解我的问题。COM是有人遇到类似问题并且知道解决方案吗?我再次与不同的制造商交谈,但他们都无法提供帮助。我认为大多数人甚至无法理解我在说什么。我希望这里的那些程序我能理解我的问题。

以下是我想做的本地回旋处解决方案。

http://proto-pic.co.uk/internet-connected-thermal-printer-kit/

同样,上面的解决方案要求我从头开始构建它。伯格云是另一个选择,但是它们不允许我控制我的Web服务器,并且所有内容都通过它们运行。请随意提问,因为我不希望对此问题有快速的答案。我希望有遇到类似问题的程序员。

还要参考我为此问题选择的标签,我在想也许可以将设备(Web服务器微控制器设置)连接到热敏打印机,该设备可能具有运行Web服务器的JVM,然后可以通过USB与打印机进行通信。对于微控制器,我知道Java比C差很多,但是我所知道的。很想听听其他解决方案。

java zpl-ii zpl zebra-printers

5
推荐指数
1
解决办法
4954
查看次数

ZPL Barcode Labels 设置标签/条码宽度

我正在从 2 个不同的系统打印到 zebra 热敏打印机,一个使用 BarTender 打印标签的 Windows 环境作为数据源,以及一个使用如下命令文件打印的旧系统(绿屏)。

我的问题是当我从 Windows 打印机打印时,打印机设置会发生变化,所以当我从另一个系统打印时,它会丢失宽度并超出边缘。

我试图在下面的代码中添加一个打印宽度设置,但它不起作用,^PW700 并且可以提供一些建议!这不是一种我非常了解的语言。我不知道我是否以正确的方式/地点使用了代码,或者我是否使用了正确的代码?可能是我需要使用 BYw 吗?

^XA^LL456,^PW700^LH0,0^FS
^FO21,196^B3N,N,66,N^FDWU000208375^FS
^FO18,18^A0N,24,24^FDPrd Code : 84100705            ^FS
^FO18,48^A0N,24,24^FDDANDY GREY                              ^FS
^FO18,78^A0N,24,24^FDQuantity Remaining :       4.00^FS
^FO18,108^A0N,24,24^FDAmended : 01/07/15   Received : 01/07/15^FS
^FO18,138^A0N,24,24^FDBATCH : 241071   ^FS
^FO18,168^A0N,24,24^FD^FS
^FO129,276^A0N,24,24^FDW U 2 0 8 3 7 5
^XZ
Run Code Online (Sandbox Code Playgroud)

提前致谢

zpl

5
推荐指数
1
解决办法
6931
查看次数

如何在不同 dpi 的打印机中使用相同的 ZPL 代码

已使用 ZebraDesigner2 软件创建用于打印 ZPL 的标签,使用 GC420t 打印机我没有遇到问题。

\n\n

现在我必须生成用于使用 S4M 打印机(200 dpi)和 ZT230(300 dpi)打印标签的 ZPL 代码,问题是相同的 dpi 差异使得 S4M 裙子切割重要信息时产生的印象非常大。\ne 。G。

\n\n
^XA\n^PW1240\n^LL1724\n^FT321,845^A0N,42,40^FH\\^FDTeste 1234567890^FS\n^PQ1,0,1,Y^XZ\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试过使用下面的命令,但是我没有找到好的例子。

\n\n
^MU \xe2\x80\x93 Set Units of Measurement\n^JM \xe2\x80\x93 Set Dots per Millimeter\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要在两台打印机上打印相同的 zpl 代码,分辨率可以为 200 或 300 dpi。

\n

c# zpl-ii zpl zebra-printers

5
推荐指数
1
解决办法
5129
查看次数

Base64 PNG 图像到 Zebra 打印机

base64 PNG我正在尝试在打印机中打印图像Zebra LP-2844-Z。使用C#

我需要任何说明或文档才能继续处理我的代码。

https://support.zebra.com/cpws/docs/zpl/zpl_manual.pdf

我已经尝试过下面的代码:

var zplImageData = string.Empty;
            var filePath = @"C:\Users\user1\desktop\LABEL.PNG";
            byte[] binaryData = System.IO.File.ReadAllBytes(filePath);
            foreach (Byte b in binaryData)
            {
                string hexRep = String.Format("{0:X}", b);  
                if (hexRep.Length == 1)                                  
                    hexRep = "0" + hexRep;
                zplImageData += hexRep;
            }
            string zplToSend = "^XA" + "^MNN" + "^LL500" + "~DYE:LABEL,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
            string printImage = "^XA^FO115,50^IME:LABEL.PNG^FS^XZ";

            // test
            RawPrint.SendStringToPrinter(printer.WindowsName, zplToSend, "Raw");
            RawPrint.SendStringToPrinter(printer.WindowsName, printImage, "Raw");
Run Code Online (Sandbox Code Playgroud)

我尝试使用此链接中的代码: 将 PNG …

c# base64 png zpl zebra-printers

5
推荐指数
1
解决办法
6842
查看次数

将 HTML 转换为 ZPL - javascript

我有一个要求。我开发了一个具有 HTML 内容的网络应用程序。我想将此内容打印到 Zebra 蓝牙打印机 (IMZ320)。浏览了几篇博客后,我发现需要将 HTML 内容转换为 ZPL 格式才能打印。

  1. 我们可以将 HTML 转换为 ZPL,然后使用插件发送打印 - https://github.com/LiamBateman/cordova-print

  2. 是否有任何插件或库可以实现 HTML 到 ZPL 的转换?

非常感谢你,赛义德·伊斯梅尔。

html bluetooth zpl zebra-printers cordova

5
推荐指数
1
解决办法
7226
查看次数

如何验证Zebra打印机是否使用ZPL和C#成功打印(或能够检测到错误)?

问题

是否有一个简单的ZPL代码或方法从Zebra打印机返回错误消息,以确定标签是否未成功打印或是否存在某种错误?

进展

这是我为将打印机作业发送到zebra打印机而构建的一个很好的功能:

public static void SendToPrinter(string zplString, string ipAddress = "127.0.0.1", int port = 1337)
        {
            // Open connection
            TcpClient tcpClient = new TcpClient();
            tcpClient.Connect(ipAddress, port);

            // Write ZPL String to connection
            using (System.IO.StreamWriter writer = new System.IO.StreamWriter(tcpClient.GetStream()))
            {
                writer.Write(zplString);
                writer.Flush();
                writer.Close();
            }
            // Close Connection
            tcpClient.Close();
        }
Run Code Online (Sandbox Code Playgroud)

zplString中有很多神奇的东西,但基本上它包含了我们都喜欢的ZPL代码.我的方法中的问题是,这似乎是打印机的一种单程票.上面有很多工作,我希望我们能以某种方式修改它以听取响应,如果我以某种方式有适当的ZPL代码来听取响应?

我根本没有看到任何文献或论坛讨论如何从斑马打印机收到回复并确定它是否成功?

问题

理想情况下,如果打印机以某种方式成功或失败,我想要一种方法来理解使用包含在C#和.NET中的ZPL的打印机.否则,我可能必须手动查询用户"是否打印?".这不是理想的,但是我的手册中还没有找到任何表明使用ZPL检测打印作业有错误的简单方法?

感谢您的耐心,帮助以及阅读此问题.

.net c# zpl-ii zpl zebra-printers

5
推荐指数
1
解决办法
4314
查看次数

将 PNG 图像转换为 ZPL 代码

我需要使用 ZPL 打印机将 PNG 图像打印到标签上。这个想法是将 PNG 图像转换为单色图像,然后使用图像数据生成必要的 ZPL 代码以打印图像。

经过一些谷歌搜索和编码后,我有一段代码可以做到这一点。生成的 ZPL 代码在 labelary ( http://labelary.com )上看起来不错。

生成 ZPL 代码的代码主要取自这里 -->如何将 BMP 的 ASCII HEX 优化为 ZPL,如在 Labelary 中使用

不幸的是,当尝试使用生成的 ZPL 代码打印标签时,结果如下: 不应该看起来像这样

图像应如下所示: ImageToConvert

我使用的代码是这样的:

static void Main(string[] args)
    {

        // 1. Convert Image to monochrome bmp
        string bitmapFilePath = @"somepath.bmp";
        Bitmap imageToConvert = new Bitmap(bitmapFilePath);
        var rectangle = new Rectangle(0, 0, imageToConvert.Width, imageToConvert.Height);
        Bitmap monochromeImage = imageToConvert.Clone(rectangle, PixelFormat.Format1bppIndexed);

        // Mirror image
        monochromeImage.RotateFlip(RotateFlipType.Rotate180FlipX);

        // Save mono image            
        monochromeImage.Save("somePathMono.bmp", ImageFormat.Bmp); …
Run Code Online (Sandbox Code Playgroud)

.net c# png zpl

5
推荐指数
1
解决办法
6427
查看次数

ZPL:二进制 B64 和压缩 Z64 编码

也许有人可以帮助我解决 Zebra ZPL 问题。ZPL 手册并没有真正帮助我。我想将二进制(使用 ZPL B64)和压缩二进制(使用 ZPL Z64)图像数据传输到打印机。

我找到了以下信息:

  • B64 数据以 Base64 格式编码。
  • 对于 Z64,数据首先使用 LZ77 压缩,然后使用 Base64 编码。
  • CRC 数字附加到两种编码中。(可能必须是 CRC-16)但是我没有计算出有效的 CRC 校验位!

你们有人这样做过吗?

  • LZ77算法使用哪些参数?
  • 使用哪种 CRC 以及哪个起始多项式?
  • 也许有人甚至有解决这个问题的 C# 代码?

非常感谢。

c# zpl-ii zpl

5
推荐指数
1
解决办法
4966
查看次数

标签 统计

zpl ×10

zebra-printers ×7

c# ×5

zpl-ii ×5

.net ×2

png ×2

barcode ×1

barcode-printing ×1

base64 ×1

bluetooth ×1

bmp ×1

cordova ×1

html ×1

java ×1

label ×1