我正在尝试将一些ZPL代码发送到从Windows 7中的Java应用程序连接USB的Zebra TLP 2824.我尝试了不同的方法,但还是无法打印.在驱动程序设置中,我激活直通模式并尝试使用通用/文本模式驱动程序安装打印机,但没有任何效果.
我总是在打印队列中得到未指定的Windows错误.
这是我的代码:
try {
PrintService psZebra = null;
String sPrinterName = null;
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
for (int i = 0; i < services.length; i++) {
PrintServiceAttribute attr = services[i].getAttribute(PrinterName.class);
sPrinterName = ((PrinterName) attr).getValue();
if (sPrinterName.toLowerCase().indexOf("generic") >= 0) {
psZebra = services[i];
System.out.println(psZebra);
break;
}
}
if (psZebra == null) {
System.out.println("Zebra printer not found.");
return;
}
DocPrintJob job = psZebra.createPrintJob();
String s = "${^XA^FO100,100^BY7^BCN,100,Y,N,N^FD123456^FS^XZ}$";
byte[] by = s.getBytes();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc …Run Code Online (Sandbox Code Playgroud) 我创建了我的ZPL字符串,并在最后附加了^PQ+ numCopies.调试器^PQ3在最后显示整个字符串是否正确.但打印机只打印1份.
打印机是110Xi4,板载配置显示它处于ZPL II模式.
谢谢
我刚开始通过ZPL进行直接打印,目前正在使用PHP通过TCP套接字连接到打印机.
每当我打印标签时,无论是通过我编写的脚本,还是使用基于Windows的Zebra配置客户端,打印机都会前进约8个标签,然后打印.
我用来打印标签的ZPL如下:
^XA
^FO50,50
^ADN,36,20
^FDFront Shelf-2^FS
^XZ
Run Code Online (Sandbox Code Playgroud)
由于我从配置应用程序获得了相同的结果,并且通过TCP套接字,我有点难过.
我已经为打印机(QLn220)配置了正确的标签尺寸(50mm x 40mm).
我想了解如何在打印时找出导致这些额外标签进给的原因.
我有一台Zebra Gk420t打印机,可以让我制作贴纸,我需要在它们上面打印图像.我读到图像必须是GRF格式(纯十六进制).
有人知道如何在Linux中将图像转换为GRF格式?我在Windows上读到了关于Ztools的软件,但在Linux上没什么有趣的......
我想编写一个将位图图像转换为zpl的代码.我找到了以下代码:
string bitmapFilePath = @"D:\Demo.bmp";
int w, h;
Bitmap b = new Bitmap(bitmapFilePath);
w = b.Width; h = b.Height;
byte[] bitmapFileData = System.IO.File.ReadAllBytes(bitmapFilePath);
int fileSize = bitmapFileData.Length;
// The following is known about test.bmp. It is up to the developer
// to determine this information for bitmaps besides the given test.bmp.
int bitmapDataOffset = int.Parse(bitmapFileData[10].ToString()); ;
int width = w; // int.Parse(bitmapFileData[18].ToString()); ;
int height = h; // int.Parse(bitmapFileData[22].ToString()); ;
int bitsPerPixel = int.Parse(bitmapFileData[28].ToString()); // Monochrome image required!
int bitmapDataLength …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序可以将标签打印到 Zebra GK420t 标签打印机。ZPL 发送一些文本和 QRCode。当打印机第一次打开时,这工作正常,但有另一个应用程序打印到它,并且在另一个应用程序打印后,QRCode 在我们的标签上的位置发生变化。
我无权访问其他程序的源代码,因此我看不到它正在发送什么 ZPL。我知道它正在向打印机发送一些配置(例如打印宽度),但我无法弄清楚它可以发送什么来更改 QRCode 的位置。
这是我们应用程序的标签,在其他应用程序打印标签并更改一些设置后。
二维码向上移动到右侧,但其他所有内容都保持在同一位置。
这是我们的一个标签的 ZPL 示例
^XA
^PW420
^LS0
^LH0,0
^CF0,40^FO20,25^FDUnknown Vendor^FS
^FO15,0^BQN,2,6^FD##hCsck00000000000779/221a1^FS
^CFR,15^FO55,220^FD3877^FS
^CFR,15^FO180,70^FDTue 07:30 Nov 10^FS
^FO180,100^FDU. Surgeon^FS
^FO180,130^FDTotal hip^FS
^FO180,160^FDsigma^FS
^FO180,190^FDHip tool^FS
^FO180,220^FD1 of 2^FS
^XZ
Run Code Online (Sandbox Code Playgroud) 使用带有对特定标签进行编码的 ZPL 代码的 Zebra 打印机,我如何将 a 添加到现有的 ZPL 命令,以便它打印 3 个相同标签的副本。
这必须是 ZPL 代码的一部分,因为发送命令 3 次不是一种选择
是否可以更改 ZPL 上的条形码文本?
^XA
^BY3,5,200
^FO55,30
^BC
^FD1234567890ABCDEF
^FS
^XZRun Code Online (Sandbox Code Playgroud)
需要转换多页PDF以在Zebra打印机中打印。
一个解决方案.NET C#会很棒。
2个输入选项:SATO格式或PDF格式
我看到两个选项:
PDF页面转换为BMP图像然后在Zebra打印机中打印,但是如何将PDF页面分成多个BMP图像?研究我发现 ZEBRA 在这个链接中有一个 PDF 转换器,但文档很差,没有正确解释。
https://www.zebra.com/ap/en/products/software/barcode-printers/link-os/pdf-virtual-device.html
SATO命令转换为ZPL命令(我在网上找不到类似的东西,这将是完美的解决方案。)https://www.satoaustralia.com/products/printers.aspx
任何想法如何做到这一点或任何有助于找到解决方案或工具的链接?
ZPL中有一种方法可以垂直居中吗?
我知道我可以使用^FO0,0^ASN,50^FB200,3,0,C,0^FD TEXT ^FS.但是,如果它足够短,我怎么能在第二行打印?