備忘錄_20160105(定位)
修改
回首頁
程式 2026-09-24 15:35:54 1790235354 100
EPSON TM-T70II 熱感式印表機,用 javascript 列印,還可切一刀。
EPSON TM-T70II 熱感式印表機,用 javascript 列印,還可切一刀。
首先用 EpsonNet Config 程式,將印表機的 ip 設定好。
然後從瀏覽器登入 http://192.168.1.x/ 帳密可能是 epson/epson 或 空白/SN 或 epson/SN ~
到 Configuration/Network/ePOS-Print 頁籤
Enable ePOS-Print 功能,然後 Send
函數庫可到原廠下載
https://download-center.epson.com/softwares/?device_id=TM-T70II&os=IOS&language=zh-TW®ion=TW
請下載 Epson ePOS SDK for JavaScript
解壓縮之後,請抓出 epos-2.27.0.js
製作一個 html 程式類似下面這樣。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>epson test</title>
<script src="epos-2.27.0.js"></script>
</head>
<body>
<div>
<img id="imgLotusFlower" src="test.jpg">
<canvas id="myCanvas" style="display: none;"></canvas>
</div>
<div>
<button onclick="printTest()">測試列印</button>
</div>
<div id="divResult"></div>
<script>
var oCanvas=null, oCtx=null;
window.addEventListener(
"load",
async function()
{
var oImg = document.getElementById("imgLotusFlower");
oCanvas=document.getElementById("myCanvas");
oCanvas.setAttribute("width", 400);
oCanvas.setAttribute("height", 400);
oCtx=oCanvas.getContext("2d");
oCtx.drawImage(oImg, 0, 0, oImg.width, oImg.height, 0, 0, 400, 400);
}
);
function printTest()
{
let oBuilder=new epson.ePOSBuilder();
oBuilder.addTextLang("zh-tw");
oBuilder.addTextSize(2, 2); // 寬兩倍,高兩倍
oBuilder.addText("test00013\n");
oBuilder.addTextAlign(oBuilder.ALIGN_RIGHT);
oBuilder.addText("電子發票證明聯\n");
oBuilder.addTextAlign(oBuilder.ALIGN_CENTER);
oBuilder.addText("置中\n");
oBuilder.addTextAlign(oBuilder.ALIGN_LEFT);
oBuilder.addText("電子發票證明聯補印\n");
oBuilder.addTextSize(1, 2); // 寬一倍,高兩倍
oBuilder.addText("盛雲藥品股份有限公司\n");
oBuilder.addTextSize(1, 1);
oBuilder.addText("一");
oBuilder.addTextPosition(100); // 100 dots
oBuilder.addText("有移動嗎?\n");
oBuilder.addText("項二耶");
oBuilder.addTextPosition(100); // 100 dots
oBuilder.addText("有對齊嗎\n");
oBuilder.addBarcode("4711234567890",oBuilder.BARCODE_EAN13,oBuilder.HRI_BELOW,oBuilder.FONT_A,2,60);
oBuilder.addText("\n");
oBuilder.addBarcode("123456789012",oBuilder.BARCODE_CODE39,oBuilder.HRI_NONE,oBuilder.FONT_A,2,60); // HRI_BELOW / HRI_NONE
oBuilder.addText("\n");
oBuilder.addSymbol("https://www.macro.com.tw",oBuilder.SYMBOL_QRCODE_MODEL_2,oBuilder.LEVEL_M,6,0);
oBuilder.addText("\n");
oBuilder.addCut(oBuilder.CUT_FEED);
oBuilder.addImage(oCtx, 0, 0, 400, 400); // 400 dots x 400 dots
oBuilder.addCut(oBuilder.CUT_FEED); // 切紙
let strRequest=oBuilder.toString();
var oEPOS=new epson.ePOSPrint("http://192.168.1.71/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000");
oEPOS.onreceive=function(oResult)
{
if (oResult.success) { document.getElementById("divResult").innerHTML="列印成功"; }
else { document.getElementById("divResult").innerHTML="列印失敗"; }
};
oEPOS.send(strRequest);
}
</script>
</body>
</html>