有没有办法将ZPL(Zebra编程语言)发送到.NET中的打印机?
我有在Delphi中执行此操作的代码,但它并不漂亮,我宁愿不尝试在.NET中重新创建它.
我的任务是使用网络Zebra GK420T重新设计系统以打印运输标签.我已经能够完美地发送ZPL打印作业,但我似乎无法打印出unicode字符,例如西里尔字母.我使用Seagull Scientific驱动程序将lucida sans unicode字体下载到打印机,我使用以下ZPL代码进行测试:
^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FDTesting 1 2 3^FS
^FT0,50^FD?? ????????^FS
^FT0,100^B3^FDAAA001^FS
^XZ
Run Code Online (Sandbox Code Playgroud)
它将打印'Testing 1 2 3'和条形码,但它留下一个空格而不是西里尔字符.我做错了什么,比如没有逃避字符或什么东西,或者打印机有问题吗?
提前致谢
编辑:我尝试使用Zebra瑞士unicode字体,现在它打印俄语字符作为问号.我已经更新了上面的代码以反映它.
我有一个.NET Windows应用程序,使用ZPL II或EPL2向Zebra打印机打印命令.有没有办法在直接从Zebra打印机打印之前打印预览表格中的数据?
我正在做条形码标签的格式化.我们使用斑马编程语言, ^BC(128码)条码
随着我增加^FD 字段数据的大小 ,条形码宽度也在增加.
但是,如何为固定的小长度数据打印更宽的条形码.
我看到了UPC E条形码等其他类型的放大因子.
但我没有找到^BC代码128条码的任何放大因子 .
我放了一些空间,增加宽度,但在阅读条形码时无效
我正在开发一个项目,我们需要使用Zebra打印机来处理条形码标签.我们正在使用C#,我们在打印方面做得很好,将原始ZPL字符串发送到打印机(使用winspool.drv).
但是,我们还需要从打印机读取,并没有运气.
我们需要从打印机获取状态,这是ZPL命令"~HS"的输出,因此我们可以判断内存中有多少标签等待打印.winspool.drv中的EnumJobs()只在Windows假脱机上有作业,一旦它们被发送到打印机,它们就会从该列表中消失.但这并不意味着标签已被打印,因为打印机有一个剥离传感器,一次只打印一个标签,我们显然对将批量标签发送到打印机感兴趣.
我尝试了类似的东西(使用winspool.drv调用):
OpenPrinter(szPrinterName, out hPrinter, IntPtr.Zero);
WritePrinter(hPrinter, pBytes, dwCount, out dwWritten); // send the string "~HS"
ReadPrinter(hPrinter, data, buff, out pcRead);
Run Code Online (Sandbox Code Playgroud)
但我在ReadPrinter调用中什么也得不到.我甚至不知道这是否是正确的方法.
之前有人解决了这个问题吗?
谢谢.
我想知道如何将条形码代码128居中.在图片上你应该看到它现在是左对齐的.

我的zpl:
^XA
^LH10,10
^FO0,0^XGE:SWESE001.GRF^FS
^FO440,0^XGE:SWESE000.GRF^FS
^FO0,70^FB550,50,0,C,0^AQN,25,30^FDSpraynozzle 50mm^FS
^FO0,130^BY2^BCN,30,Y,Y,N,N^FDS/N:941001-0114-0001^FS
^FO180,170^AQN,23,20^FDwww.swepro.com^FS
^XZ
Run Code Online (Sandbox Code Playgroud) 我通过发送ZPL II命令使用Java打印带有Zebra打印机的标签.我想在将标签发送到打印机之前显示标签的预览.
我想使用内置字体,而不是尝试将字体发送到打印机.
我可以在编程指南第2卷的第60页看到字体列表.其中有15个,每个都标有一个字母,没有引用等效屏幕字体的名称.
我可以生成一个图像来显示条形码,但是我无法弄清楚如何正确显示文本,因为在OCR字体之外,我不知道在屏幕上利用的等效字体.
我没有在Zebra的网站上找到任何列出它们的文档,我的搜索只返回了如何将屏幕字体发送到打印机的结果(这看起来很复杂,我现在想要避免).
有谁知道我可以在哪里获得字体,或者你能为我提供一个(希望是免费的)等价物列表吗?
我想将ZPL指令发送到Zebra打印机(目前为GK420t).我正在打印50mm x 20mm标签.我想在标签的左上角打印一个标识(小~5mm x 5mm图像).
我想知道我应该遵循的步骤.
我一直在阅读和尝试ZPL手册中的一些内容,但我真的不明白它是如何工作的,也找不到一个有效的例子.
看起来我必须首先将图像"加载"到打印机中(在所谓的"存储区域"/ DRAM中?)然后打印它.
该.GRF文件扩展名的手册中提到了很多次.我找不到将.PNG或.BMP图像转换为.GRF文件的工具.我读到.GRF文件是图形图像的ASCII HEX表示......但它并没有帮助我完成工作.
我可以使用"Zebra Setup Utilities","下载字体和图形",选择任何可用的.MMF文件,添加.BMP图片,将其下载[打印机]并打印测试页,在标签上打印徽标.但到目前为止,我无法使用ZPL指令.
我也想知道我应该使用的最佳尺寸是什么,因为我需要在标签上打印~5mm x 5mm的小图像.我打印的图像是40px x 40px图像.另外,如果我必须从原始图像制作一个.GRF文件,该文件的类型应该是什么(.BMP,.PNG,.JPG)?
你能告诉我怎么办吗?
我正在小标签上打印QR码.
QR码中的数据量是可变的.打印机(例如Zebra GK420d)根据嵌入的数据量更改QR图像的大小/尺寸.
示例ZPL:
^FO38,2400
^BQN,2,10
^FDMA,http://ghospitals/gp/index.php/patient/120704^FS
Run Code Online (Sandbox Code Playgroud)
QR码大小应该是固定的.数据的增加应该增加密度而不是大小!
如何限制/定义打印的QR码的尺寸?
谢谢你的帮助.