Java 从Web服务器打印到无中间层的热敏打印机

Java 从Web服务器打印到无中间层的热敏打印机,java,zebra-printers,zpl,zpl-ii,Java,Zebra Printers,Zpl,Zpl Ii,我已经研究这个问题将近一个月了。我似乎被推向了各个不同的方向。我希望有人能给我一个答案 要简要介绍我所寻找的产品: 我有一个网络服务器,它有我需要的信息,我需要通过互联网到热敏打印机进行打印。我不希望计算机成为中介。我做必要的编程来实现这一点没有问题。我的问题在于找到我能够编程的设备。我遇到的第一个问题是找到一台热敏收据打印机,它有一个内置的Web服务器,我可以通过编程来轮询我的服务器以获取打印信息。目前没有可用于此目的的打印机。我与Zebra、Epson、Brother等进行了交谈。如果两台设

我已经研究这个问题将近一个月了。我似乎被推向了各个不同的方向。我希望有人能给我一个答案

要简要介绍我所寻找的产品:

我有一个网络服务器,它有我需要的信息,我需要通过互联网到热敏打印机进行打印。我不希望计算机成为中介。我做必要的编程来实现这一点没有问题。我的问题在于找到我能够编程的设备。我遇到的第一个问题是找到一台热敏收据打印机,它有一个内置的Web服务器,我可以通过编程来轮询我的服务器以获取打印信息。目前没有可用于此目的的打印机。我与Zebra、Epson、Brother等进行了交谈。如果两台设备位于同一网络上,大多数都有一个打印解决方案,例如手机打印机到手机连接到同一网络上的打印机,并且大多数都有SDK。我需要打印机能够轮询我的Web服务器。所以我去寻找另一种选择。也许我可以在打印机上安装一个无线USB迷你网络服务器来达到我的最终目标。我原以为这是一项简单的任务,但事实并非如此。我在stackoverflow.com上向用户提出的问题是,有没有人遇到过类似的问题并知道解决方案?我再次与不同的制造商交谈,他们中没有一个能够提供帮助。我想他们中的大多数人甚至不能理解我在说什么。我希望那些在这里编程的人理解我的问题

下面是一个土生土长的迂回解决方案,我正在尝试做什么

同样,上述解决方案需要我从头开始构建。berg云是另一种选择,但它们不允许我控制我的web服务器,所有东西都通过它们运行。请随意提问,因为我不希望这个问题得到快速的答案。我希望有程序员遇到类似的问题


另外,为了参考我为这个问题选择的标签,我想也许我可以将一个设备(Web服务器微控制器设置)连接到热敏打印机,该打印机可能有一个运行Web服务器的JVM,然后我可以通过USB与打印机通信。我知道对于微控制器来说,Java比C糟糕得多,但这就是我所知道的。我想听听其他的解决办法

Zebra确实提供了可以通过WebSocket进行通信的打印机。如果您的web服务器是公共可用的(即,在“internet”上可用),则可以在打印机和服务器之间打开web套接字连接,只要有新信息需要提供,就可以直接发送数据。虽然听起来您需要打印机来启动对话,但持续打开websocket连接可能有助于您实现您的需求。这样就不需要任何中间计算机,而打印机直接与服务器通信

Zebra Websocket打印机:

Zebra(Java)SDK:


如果您需要支持此功能的热敏收据打印机,iMZ型号就足够了。

我强烈建议您在这一点上重新考虑Zebra websocket解决方案

最好的解决方案仍然可能是迷你web服务器解决方案

我使用Zebra websocket解决方案的经验: 背景:

我最初尝试创建一个node.js解决方案(我在好几个地方读到,任何服务器都是可行的)。 但是,即使在获得Zebra签名的证书之后,在几次失败的连接尝试之后——打印机/服务器经历了一个成功的握手过程——仍然失败,出现了一个神秘的错误,即当查看时,与打印机尝试验证某个特定Tomcat版本/服务器正在使用有关

我确实收到了一位Zebra开发人员的回复,他正在开发一个.Net解决方案,但也无法使其正常工作,正在等待Zebra“工程师”的进一步信息,然后才能完成解决方案。他们说,他们会在收到信息后发送出去,并希望在一周内收到(一周多-还没有运气)

所以-我决定组装一个Tomcat服务器-Zebra唯一能工作的例子。。。我让示例servlet运行,但开始出现新的证书问题(因为我更改了服务器/域等) 这让我想到了整个笨拙的过程——并认识到了第一个交易破坏者——非常严格的ssl身份验证和签名过程风险太大

例如,假设您有100多个客户依赖此解决方案。 如果您曾经遇到证书问题(例如域名更改、服务器设置更改或证书失效/到期),则所有100多个客户都没有打印机。 但你不能自己修复它-修复/生成一个新的证书等。重新签名过程很慢,而且依赖于外部资源!(顺便说一句,这是一个手动斑马流程-您通过电子邮件发送,然后在斑马员工以签名证书回复之前,您将等待相当长的时间)

这意味着所有100多个客户在相当长的一段时间内都没有打印机服务,但您别无选择,只能让Zebra签署您的证书。对我来说,这是一个不可接受的风险-(websocket解决方案不应依赖于Zebra签署的证书-在您安装完您(或您的客户)之后)打印机(然后配置打印机以指定要连接的确切域名/地址)

对于您的迷你服务器解决方案,如果客户有问题,它只会影响单个客户,而您不依赖外部公司签署证书来解决问题

以下是已识别的问题及其相关风险

问题1)实现得非常糟糕-我不能(他们也不能)让它连接到标准服务器,而不是非常特定的Tomcat设置!!! 风险水平:低-即是初始成本和时间负担