繁体   English   中英

如何通过 .Net SDK 将字体文件发送到 Zebra 打印机 (MZ 220)?

[英]How to send a Font File to a Zebra Printer (MZ 220) via .Net SDK?

我必须通过 C# 和 Zebra .Net SDK 将自定义字体文件发送到 Zebra MZ 220 打印机。 该 SDK 提供了一个 SendFile() 方法,它可以完美地与模板文件一起使用,但是每当我发送一个字体文件时,打印机就会在接收文件时开始打印该文件。 Zebra Software Label Vista 有一个菜单选项发送字体,但我必须以编程方式进行。

有谁知道如何将字体文件发送到打印机?

非常感谢

特威克尔

我曾与 LP 2824 一起使用 EPL 自动打印标签,并使用了 Microsoft 的RawPrinterHelper类,并修复了此处的错误。 该类有一个 SendFileToPrinter 方法,可能值得一试(我没有使用过它,所以我不知道它是否适用于字体)

您需要将文件包装在特殊的下载命令中,以便打印机存储文件。

该命令在“CISDFCRC16”下的ZPL 指南中有详细说明。

命令的基本格式 -

! CISDFCRC16
<crc>          // 4 digit hex CRC.  Enter 0000 to turn off CRC check.
<filename>     // file name with extension.  8.3 filenames only.
<size>         // eight digit hex file size in bytes.
<checksum>     // four digit hex checksum.  Enter 0000 to turn off checksum validation.
<data>         // Binary data to store

这将允许您在打印机的文件系统上存储文件。

注意:打印机无法识别典型的 .ttf 文件。 您需要使用 Label Vista 将字体转换为 .CPF 文件,然后使用此命令将其发送下来。

我想补充詹姆斯的回答。 他确实是正确的'! CISDFCRC16' 调用确实有效。

然而,我最初在让它工作时遇到了很多麻烦,因为我实现了自己的 CRC 和校验和逻辑。

将文件上传到打印机时,我总是从打印机中收到“校验和失败”消息。 即使在实现了 CPCL 编程手册中提供给我们的 CRC/校验和逻辑之后。

我设法得到这个工作的唯一方法是通过使用Zebra的CpclCrcHeader类使用使用CpclCrcHeader.getWCheckSumCpclCrcHeader.getCRC16ForCertificateFilesOnly(字节阵列).toUpperCase()和校验和计算CRC(字节阵列).toUpperCase()

希望能帮助其他想要管理 Zebra 打印机上所有文件的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM