Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过.Net SDK将字体文件发送到Zebra打印机(MZ 220)?_C#_Compact Framework_Zebra Printers - Fatal编程技术网

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

C# 如何通过.Net SDK将字体文件发送到Zebra打印机(MZ 220)?,c#,compact-framework,zebra-printers,C#,Compact Framework,Zebra Printers,我必须通过C#和Zebra.Net SDK将自定义字体文件发送到Zebra MZ 220打印机。该SDK提供了一个SendFile()方法,可以直接处理模板文件,但每当我发送字体文件时,打印机就会在接收文件时开始打印该文件。 Zebra软件标签Vista有一个菜单选项Send Font,但我必须以编程方式执行ist 有人知道如何将字体文件发送到打印机吗 多谢各位 twickl我曾与LP2824合作,使用EPL自动打印标签,并使用了Microsoft的类,以及来自的错误修复程序。该类有一个Send

我必须通过C#和Zebra.Net SDK将自定义字体文件发送到Zebra MZ 220打印机。该SDK提供了一个SendFile()方法,可以直接处理模板文件,但每当我发送字体文件时,打印机就会在接收文件时开始打印该文件。 Zebra软件标签Vista有一个菜单选项Send Font,但我必须以编程方式执行ist

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

多谢各位


twickl

我曾与LP2824合作,使用EPL自动打印标签,并使用了Microsoft的类,以及来自的错误修复程序。该类有一个SendFileToPrinter方法,可能值得一试(我没有使用它,所以我不知道它是否适用于字体)

您需要用一个特殊的下载命令包装文件,以便打印机存储文件

该命令在“CISDFCRC16”下详细说明

命令的基本格式-

! 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
!CISDFCRC16
//4位十六进制CRC。输入0000关闭CRC检查。
//扩展名为的文件名。8.3仅限文件名。
//八位十六进制文件大小(字节)。
//四位十六进制校验和。输入0000以关闭校验和验证。
//要存储的二进制数据
这将允许您在打印机的文件系统中存储文件


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

我想添加到James的答案中。他确实是对的!CISDFCRC16'调用确实有效

起初,我很难让它正常工作,因为我实现了自己的CRC和校验和逻辑

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

我实现这一点的唯一方法是使用Zebra的CpclCrcHeader类,使用CpclCrcHeader.GetCRC16ForceCertificateFileOnly(byteArray).toUpperCase()和使用CpclCrcHeader.getWCheckSum(byteArray).toUpperCase()的校验和计算CRC


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

这些字体文件是已经用Zebra格式编码的,还是Truetype或其他Windows格式的?我想为任何无意中加入此线程的人添加这些存档链接,因为现在这两种格式都已过时。MS Redesign杀死了他们的许多知识库文章,要么完全消失,要么没有重定向!糟糕的形式。另一个网站已经死了。