1

有人问我是否可以从通过 RS232 连接的秤上读取重量,并将其转储到 Web 应用程序中。从本地机器读取秤的重量还不错​​(这个SO问题给出了解释:RS232 question - how to read weight to PC),但是......

然后如何将这些数据粘贴到我的 Web 应用程序的框中...?想法?

我在 Fedex 和 UPS 标签上遇到了类似但相反的情况。我可以在 Web 应用程序中获取标签数据,但我需要通过原始打印机套接字(即我不能只是文件 > 打印)将该数据发送到本地打印机......如何?

4

4 回答 4

1

FedEx 和 UPS 现在如何连接网络的 Zebra 打印机。通过 .NET 和标准的 Windows Spooler 使用打印机的 UNC 路径打印到它们很容易。诀窍是如何将打印机暴露给您的 Web 应用程序。如果您的 Web 应用程序与您的打印机(内联网)在同一个网络上,那么答案很简单。在来自 Web 应用程序客户端的服务器端调用中,通过 Windows Spooler 从 Web 服务器将数据发送到打印机。如果您的 Web 应用程序托管在本地网络之外,请建立一个 Web 服务并编写一个 Web 服务以从您的 Web 应用程序接收 ZPL(Zebra 打印机语言)。Web 服务还将使用 Windows 假脱机程序发送到同一网络上的打印机。

于 2011-04-30T00:54:40.553 回答
0

通常,除非服务器和客户端之间完全信任,否则 Web 应用程序无法直接与 PC 通信。即便如此,由于各种安全原因,网页仍无法与外围设备通信。对于这样的问题,您几乎必须在 PC 上运行某种客户端/服务后台应用程序。

于 2010-01-13T11:51:42.757 回答
0

对于从 Web 应用程序打印的功能,QZ Tray 是一个小型 Java 应用程序,可为您完成繁重的工作。您也可以对证书进行蛇油处理,而不是为他们的无声打印支付他们的自定义证书。

于 2016-04-07T18:36:02.493 回答
0

有人问我是否可以从通过 RS232 连接的秤上读取重量,并将其转储到 Web 应用程序中。

虽然这不能直接通过 JavaScript 完成,但自定义客户端或服务器端解决方案可以提供帮助。有一些服务器端和桌面产品将此功能暴露给网页(RS232 秤、USB 秤)

为了具体详细说明Gordon推荐的QZ Tray 方法(假设 PC 已安装 QZ Tray;假设页面已配置为使用 QZ Tray),这里有一种适用于连接到 Mettler Toledo 秤的串行端口的技术。命令因规模供应商而异,因此请根据需要进行调整。

免责声明,我们是 QZ Tray 的作者。

连接COM1,发送命令,断开

// MT = Mettler Toledo.  Change as needed.

var port = 'COM1'; // <--  COM1, '/dev/ttyUSB0', etc

var cmd = 'W\n';   // <--- MT Weight command

var baud = {
   baudRate: 9600,
   dataBits: 7,     // <--- MT Changed from 8
   stopBits: 1,
   parity: 'EVEN',  // <--- MT Changed from NONE
   flowControl: 'NONE'
};

var delims = {
   begin: '\x02',  // <--- MT start of message
   end: '\x0D',    // <--- MT end of message
   width: null     // <--- MT doesn't use width
};

qz.serial.openPort(port, delims).then(function() {
   return qz.serial.sendData(port, cmd, baud);
}).catch(function(err) { console.error(err); } );

qz.serial.setSerialCallbacks(function(evt) {
   if (evt.type !== 'ERROR') {
      console.log('Serial', evt.portName, 'received output', evt.output);
   } else {
      console.error(evt.exception);
   }

   // Close port
   return qz.serial.closePort(evt.portName);
});

我在 Fedex 和 UPS 标签上遇到了类似但相反的情况。我可以在 Web 应用程序中获取标签数据,但我需要通过原始打印机套接字(即我不能只是文件 > 打印)将该数据发送到本地打印机......如何?

https://stackoverflow.com/a/28783269/3196753的副本。

于 2016-08-31T20:49:22.837 回答