decoder decoder - 9 months ago 26
ASP.NET (C#) Question

How to print from javascript (web app) to receipt printer?

I tried to print from javascript like below

function PrintElem() {
var mywindow = window.open('', 'PRINT');
mywindow.document.write('<html><head><title>Payment Slip</title>');
mywindow.document.write('</head><body style="text-align:center;font: Georgia, "Times New Roman", Times, serif;background: #fff;font-size: 22pt;margin:20px auto auto 50px;" >');
mywindow.document.write('<header style="text-align:center; white-space:nowrap;overflow:hidden;line-height: 1em;">' +
'<p style="font-size:16pt;white-space:nowrap;overflow:hidden;line-height: 12pt;">Payment Slip</p>' +
'<p style="font-size:16pt;white-space:nowrap;overflow:hidden;line-height: 1em;">' + $('.mylabelpaymentheader').html() + '</p>' +
'</header>');
mywindow.document.write('<content style="text-align:center;">' +
'<table style="margin-left: auto;margin-right: auto;border-collapse: collapse;font-size:16pt;">' +
'<tr style="border:1px solid black"><td style="border:1px solid black">Name:</td><td style="border:1px solid black">' + $('.lblName').html() + '</td></tr>' +
'<tr style="border:1px solid black"><td style="border:1px solid black">Address:</td><td style="border:1px solid black">' + $('.lblAddress').html() + '</td></tr>' +
'<tr style="border:1px solid black"><td style="border:1px solid black">Meter No:</td><td style="border:1px solid black">' + $('.lblMeterNo').html() + '</td></tr>' +
'<tr style="border:1px solid black"><td style="border:1px solid black">Token:</td><td style="border:1px solid black">' + $('.lblToken').html() + '</td></tr>' +
'</table>'+

'</content>' +
'<footer>' +
'<hr style="margin-top:30pt;margin-bottom:30pt;">' +
'<p style="text-align:right;">&copy pdb</p>' +
'</footer>'+
'');
mywindow.document.write('</body></html>');
mywindow.document.close(); // necessary for IE >= 10
mywindow.focus(); // necessary for IE >= 10*/
mywindow.print();
mywindow.close();
return true;
}


when print out.font was too small.if I increase font size, it does not reflect on POS printer.I used RP58 58mm Thermal Receipt Printer. Do i have to follow another approach? or how to do it correctly?

Answer Source

It was driver issue.I set up driver again with appropriate 58mm option and everythings works like a charm.