在Web应用程序中,我想使用POS(销售点)打印机打印收据。我想用Javascript来做到这一点。任何人都可以为我提供一个例子吗?使用POS打印机的Javascript收据打印机
回答
我的肢体会在这里,因为你的问题不是很具体,即 一)您的收据打印机是需要原始数据的热敏打印机, b)在“从JavaScript”你是在谈论从Web浏览器和 C印花),您没有访问来自浏览器
这里发送的原始数据是一个Java小程序,解决了所有的你,如果我是正确的关于这些假设,那么你需要或者Java的,Flash或Silverlight http://code.google.com/p/jzebra/
p从Android的移动设备中的Web浏览器漂洗? – radztech 2014-01-16 08:39:23
@radztech - 同样的情况还有 – 2014-01-16 16:49:40
https://github.com/qzind/tray/ – 2016-07-18 11:37:07
如果您正在讨论基于浏览器的POS应用程序t如果它基本上不能开箱即用。有很多选择。
- 像斯科特·塞尔比说,从服务器
- 打印使用的小程序。如果这是一个 云服务器,即不能连接到收据打印机那么什么 你能做的就是
- 从服务器生成它作为可以制成PDF格式,以便在浏览器中
- 使用弹出的打印对话框像谷歌云打印,这将使打印机连接到云服务
编辑:2017年11月27日─断开链接
下面的链接关于帖子David Kelley破坏。
存储库的缓存版本只需在Chrome浏览器中的URL之前添加cache:
,然后按回车即可。
- 1st POST:Cached | Medium Post
- 第二POST:Cached
此解决方案仅适用于Google Chrome和Chromium-based浏览器。
编辑:
(*)的链接已断开。幸运的是,我发现this repository包含以下降价文件中帖子的来源:A | B
This link *介绍了如何使JavaScript接口适用于使用Chrome /铬USB API(1)(2) ESC/POS打印机。 This link *解释了如何连接到使用chrome.usb.*
API USB设备。
看起来像chrome.usb * API只适用于Chrome扩展,而不是从JavaScript。 – 2015-02-27 14:57:47
链接被破坏! – 2015-12-22 22:48:03
@FelipeAlarcon对不起,我没有链接内容的副本。希望这里有人有一个副本。 – 2015-12-23 04:44:58
我印刷形式JavaScript来星MICRONICS Webprnt TSP 654ii热敏打印机。此打印机是有线网络打印机,您可以将内容绘制到HTML画布上并发出HTTP请求进行打印。唯一需要注意的是,这款打印机目前还不支持HTTPS协议,因此您将在生产中收到混合内容警告。联系了Star微型技术支持,他们表示,他们正在开发HTTPS支持,并且很快将会提供固件升级。另外,看起来像TM-I的Epson Omnilink TM-88V打印机将支持JavaScript打印。
这里是一个示例代码:https://github.com/w3cloud/starwebprint
能够直接从javascript打印的热敏打印机非常昂贵。除了混合内容警告是一个无赖。所以,我直接认为直接从javascript打印并不是一个好主意。相反,我使用媒体打印标签并调用window.print来打开打印对话框。此外,在自助服务终端模式下,chrome可以甚至不显示打印预览对话框进行打印。这很酷,几乎与直接打印效果相同。 – 2015-03-04 14:52:21
我也使用过这些打印机。价格有点烦人。我已经与Star交谈过,他们说支持HTTPS的更新即将到来。 – Craig 2015-03-29 11:23:17
我拼命需要javascript html5 canvas打印。如果您有任何人曾尝试使用Epson TM-20ii-I Omni链接打印机,请分享您的经验。希望知道它是否支持https。 – 2015-05-20 22:23:02
也许如果您的打印机是爱普生,你可以看看这个。这里是一个JavaScript驱动
编辑:
上链接似乎被打破
有关如何使用爱普生的EPOS所有的细节都在爱普生网站:
https://reference.epson-biz.com/modules/ref_epos_device_js_en/index.php?content_id=139
您发布的关于EPSON ePOS的链接已损坏。 – chipit24 2016-11-07 23:46:40
尝试Escpos 为PHP POS打印使用 https://github.com/mike42/escpos-php
你可以尝试使用https://www.printnode.com这基本上是你正在寻找的服务。您将桌面客户端下载并安装到用户计算机上 - https://www.printnode.com/download。然后,您可以使用其JSON API https://www.printnode.com/docs/api/curl/发现并打印到该用户计算机上的任何打印机。他们有很多在这里林达:https://github.com/PrintNode/
是否有PrintNode版本可以在您自己的服务器上托管以确保您的文档的隐私? – phyzalis 2016-08-16 11:30:24
最近,我只需按网页上的按钮实现的收据打印,而无需进入打印机选项。我已经使用EPSON javascript SDK用于ePOS。我已在EPSON TM-m30收据打印机上进行测试。
以下是示例代码。
var printer = null;
var ePosDev = null;
function InitMyPrinter() {
console.log("Init Printer");
var printerPort = 8008;
var printerAddress = "192.168.198.168";
if (isSSL) {
printerPort = 8043;
}
ePosDev = new epson.ePOSDevice();
ePosDev.connect(printerAddress, printerPort, cbConnect);
}
//Printing
function cbConnect(data) {
if (data == 'OK' || data == 'SSL_CONNECT_OK') {
ePosDev.createDevice('local_printer', ePosDev.DEVICE_TYPE_PRINTER,
{'crypto': false, 'buffer': false}, cbCreateDevice_printer);
} else {
console.log(data);
}
}
function cbCreateDevice_printer(devobj, retcode) {
if (retcode == 'OK') {
printer = devobj;
printer.timeout = 60000;
printer.onreceive = function (res) { //alert(res.success);
console.log("Printer Object Created");
};
printer.oncoveropen = function() { //alert('coveropen');
console.log("Printer Cover Open");
};
} else {
console.log(retcode);
isRegPrintConnected = false;
}
}
function print(salePrintObj) {
debugger;
if (isRegPrintConnected == false
|| printer == null) {
return;
}
console.log("Printing Started");
printer.addLayout(printer.LAYOUT_RECEIPT, 800, 0, 0, 0, 35, 0);
printer.addTextAlign(printer.ALIGN_CENTER);
printer.addTextSmooth(true);
printer.addText('\n');
printer.addText('\n');
printer.addTextDouble(true, true);
printer.addText(CompanyName + '\n');
printer.addTextDouble(false, false);
printer.addText(CompanyHeader + '\n');
printer.addText('\n');
printer.addTextAlign(printer.ALIGN_LEFT);
printer.addText('DATE: ' + currentDate + '\t\t');
printer.addTextAlign(printer.ALIGN_RIGHT);
printer.addText('TIME: ' + currentTime + '\n');
printer.addTextAlign(printer.ALIGN_LEFT);
printer.addTextAlign(printer.ALIGN_RIGHT);
printer.addText('REGISTER: ' + RegisterName + '\n');
printer.addTextAlign(printer.ALIGN_LEFT);
printer.addText('SALE # ' + SaleNumber + '\n');
printer.addTextAlign(printer.ALIGN_CENTER);
printer.addTextStyle(false, false, true, printer.COLOR_1);
printer.addTextStyle(false, false, false, printer.COLOR_1);
printer.addTextDouble(false, true);
printer.addText('* SALE RECEIPT *\n');
printer.addTextDouble(false, false);
....
....
....
}
- 1. 使用收据打印机打印
- 2. .net pos打印机滚印
- 3. POS打印机的Flex报告打印
- 4. 使用收据打印机
- 5. 在POS打印机上打印图像
- 6. 打印网页到POS打印机
- 7. 收据打印机?
- 8. 打印输出收据打印机
- 9. 打印到收据打印机PRP-085IIIT
- 10. 收据打印机 - 从网页打印
- 11. 收据打印机不打印Page 2
- 12. Java - 打印到收据打印机
- 13. 在POS打印机C#
- 14. POS.NET发现pos打印机
- 15. Smice Custom打印机&Openbravo pos
- 16. 是否可以使用jtexarea.print();使用POS打印机打印收件人?
- 17. Android的POS打印机ESC/POS
- 18. Angular 2打印POS收据
- 19. 使用POS.NET配置POS打印机
- 20. 使用PHP打印到热敏收据打印机使用PHP
- 21. 使用PHP打印到外部收据打印机使用PHP
- 22. 使用SenchaTouch使用Phonegap打印到外部收据打印机
- 23. 如何使用POS打印机在浏览器上打印
- 24. 使用Epson打印机在VB.NET中进行POS打印
- 25. Androd打印接收打印机的SDK
- 26. 配置用于远程打印的POS打印机
- 27. 通过指定打印机名称打印到打印机 - Javascript
- 28. 从HTML打印到收据打印机使用Jquery/php
- 29. 使用PrintDocument打印到收据打印机不会打印所有内容
- 30. ESC POS命令ESC *用于在打印机上打印位图
非常苛刻的要求,在这里......我今天能打印槽POS打印机吗?我相信你需要一些服务器端处理(因此我的建议是一个AJAX调用到服务器端脚本做印刷。 – mariusnn 2012-07-13 03:39:12
我觉得这是超越的JavaScript的范围孤独。你可以做的事情一样使用JavaScript来帮助创建一个格式化为打印的HTML文档,甚至启动打印对话框,以便用户只需单击“打印”按钮....只要POS打印机安装在PC上并设置为打印机列表中的选项即可。打印需要适用于该打印机的驱动程序,除非您在有可用API访问硬件的环境中运行,否则JS无法深入到机器的硬件中,但在浏览器中不会发生这种情况。 – jwatts1980 2012-07-13 03:45:58
如果你提供更多的信息可能会有所帮助;你到目前为止有什么?你只是想打印 - 或者这是特定于POS吗?Google给我回复了很多使用JS打印的例子。 – Nick 2012-07-13 03:48:47