在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