java - Zebra 打印机 GX420D 重启后不使用 Windows 设置,直到从 Windows 打印测试页
问题描述
我正在使用 java 应用程序将 ZPL 代码直接打印到打印机,这在我从 Windows 打印机设置打印测试页后工作得很好。
重新启动打印机时会出现问题 - 似乎有关纸张尺寸的设置丢失,导致 ZPL 代码打印在标签之外。一旦我再次从 Windows 设置打印为测试页,问题就解决了。
如何避免每次重新启动打印机时都被迫打印测试页。
我们在 Windows 打印机设置中设置了标签尺寸,但没有其他设置。
ZPL 使用:
^XA
^CF0,60,60
^CI28
^FO25,45
^FH
^FD[HEADER_LABEL]^FS
^FO5,115^GB590,1,2,
^FS
^CF0,40,40
^CI28
^FO30,170
^FH^FD[VISITOR_NAME]
^FS
^CF0,40,40
^CI28
^FO30,215
^FH
^FD[VISITOR_COMPANY]^FS
^CF0,35,35
^CI28
^FO30,305
^FH
^FD[HOST_NAME]^FS
^FO5,285^GB590,1,2,^FS
^CF0,30,30
^CI28
^FO30,365
^FH^FD[VALID_TO]^FS
^FO480,365
^FH^FD[CONTROL_CODE]^FS
^XZ
用于打印的 Java 代码:
public void print(String printCodes) throws UnsupportedEncodingException, PrintException {
PrintService printService = getPrintService();
if (printService == null)
throw new PrintException("No print service found for printer named " + getPrinterName());
byte[] bytes = printCodes.getBytes("UTF-8");
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new javax.print.SimpleDoc(bytes, flavor, null);
DocPrintJob job = printService.createPrintJob();
job.print(doc, null);
}
解决方案
如果您使用 ZPL 打印,请将打印机设置为基于通用文本的打印机。然后在 ZPL 和/或打印机中设置标签尺寸。您不必对 Windows 测试打印进行任何操作。
推荐阅读
- apache-spark - 将 RDD 转换为 Dataframe 后的错误:“java.lang.String 不是 int 架构的有效外部类型”
- node.js - Negating a backreference in regex
- git - Bare and non-bare repo at the server
- c# - 在 C# 中将 3 个混洗字节转换为两个 12 位整数
- json - 如何在数据服务中保存来自 httpclient 的数据以及如何循环通过我的 json 对象
- c# - 无需本地管理员即可运行 WCF 服务 TCP
- php - Create new array from two separate arrays by counting duplicates php
- javascript - Vue FilePond中的文件大小调整不起作用
- laravel - Ordering by foreign key field count
- machine-learning - 如果我的分类变量数量不固定,则无法为我的模型准备训练数据