.net - 我应该为 KR403 Zebra 打印机使用哪个 SDK

标签 .net c#-4.0 printing zebra-printers

我正在使用 C# 为 Windows 7 64 位平台编写一个 .Net WPF 应用程序。我的应用程序需要与通过 USB 连接的 Zebra KR403 打印机进行通信。我的问题可能非常基本,但我希望这篇文章能够帮助其他刚在 .Net 中使用此打印机的人。

1. 我应该使用哪个 SDK?就像将 .dll 添加到我的项目并使用它一样简单吗?我尝试过使用 Windows CE SDK,但当 ZSDK_API.dll 尝试加载 ZebraUsb.dll 时,我收到 BadImageFormatException。这通常意味着该 dll 是为不同的平台编译的。

2. 我应该使用 SDK 进行打印还是应该使用普通的 .Net 打印库?这两种选择的优点是什么?例如,如果我使用 .Net 库进行打印,我仍然需要使用 ZBI(用于与打印机通信的语言)吗?

3. 如何获取打印机的状态(缺纸、介质未加载等)?我找到了一个指南(必须删除链接;声誉不够高,无法发布超过 2 个链接),它解释了如何在 Windows CE 或 Mobile 中执行此操作,但我找不到 Windows 7(普通桌面版本)的等效内容。

如果有人可以帮助我解决这些问题,我将不胜感激,我将在这里发布我的最终解决方案(或执行上述操作所需的核心代码)以供其他人使用。

预先感谢您的帮助。

更新:

我发现一些代码可以让我通过 USB 直接与打印机通信:http://danielezanoli.blogspot.com/2010/06/usb-communications-with-zebra-printers.html

我还找到了 KR403 打印机的硬件集成商指南,其中解释了 ~HQES 命令的结果:https://support.zebra.com/cpws/docs/crawl/UG_Kiosk/KR403_UG.pdf#xml=https://km.zebra.com/kb/index?page=answeropen&type=open&searchid=1363543831914&answerid=16777218&iqaction=6&url=https%3A%2F%2Fsupport.zebra.com%2Fcpws%2Fdocs%2Fcrawl%2FUG_Kiosk%2FKR403_UG.pdf&highlightinfo=12583129,8815,8825

我现在可以使用上述库通过 USB 或使用 .Net 中的 SerialPort 类通过串行端口将 ~HQES 命令发送到打印机。然后,我可以使用上面的硬件集成商指南解释结果并检查打印机的状态。因为这很容易做到,所以我现在不会尝试移植 SDK。

最佳答案

关于.net - 我应该为 KR403 Zebra 打印机使用哪个 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15363941/

相关文章:

c# - DotNetOpenAuth:为什么我在给定电子邮件时不总是获得相同的 OpenID?

multithreading - 对具有极高消息速率的应用程序进行多线程处理(我应该使用哪种方法?)

c# - C#中的数组是引用类型,为什么它们充当值类型?

java - PrintWriter 类未按预期工作

CSS 页眉 - 如何使用打印页边距?

.NET Stackexchange.Redis : conditional delete depending on value?

c# - 如何强制 C# 异步操作以...同步方式运行?

c# - 在 .网

.net - 正则表达式先行仅删除最后一个字符

c# - MongoClient 的生命周期应该如何工作?