var HTTP_GET_VARS; var PRINTER_NAME = "Xerox"; //var PRINTER_FALLBACK_NAME = "Deskjet"; var PRINTER_FALLBACK_NAME = "Adobe"; $(document).ready(function(){ importGetVars(); // assign vars var data = eval("(" + GET('json') + ")"); $('#invoiceDate').html(data.invoiceDate); $('#invoiceNumber').html(data.invoiceNumber); $('#eventTitle').html(data.eventTitle); $('#eventDate').html(data.eventDate); $('#customerAddress').html(data.customerAddress); $('#totalPrice').html(data.totalPrice); var html = ''; for (var i = 0; i < data.tickets.length; ++i) { html += ''; if (data.tickets[i].reduced == "true") { html += 'Eintrittskarte (ermäßigt)'; } else { html += 'Eintrittskarte'; } html += '' + data.tickets[i].price + ''; html += ''; } if (data.shipping) { html += ''; html += 'Zustellung'; html += '' + data.shipping + ''; html += ''; } $('#tickets').replaceWith(html); // print jsPrintSetup.setPrinter(selectPrinter()); jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation); jsPrintSetup.setOption('marginTop', 0); jsPrintSetup.setOption('marginBottom', 0); jsPrintSetup.setOption('marginLeft', 0); jsPrintSetup.setOption('marginRight', 0); jsPrintSetup.setOption('headerStrLeft', ''); jsPrintSetup.setOption('headerStrCenter', ''); jsPrintSetup.setOption('headerStrRight', ''); jsPrintSetup.setOption('footerStrLeft', ''); jsPrintSetup.setOption('footerStrCenter', ''); jsPrintSetup.setOption('footerStrRight', ''); jsPrintSetup.setOption('printBGColors', 1); jsPrintSetup.clearSilentPrint(); jsPrintSetup.setOption('printSilent', 1); jsPrintSetup.printWindow(window); window.close(); }); function importGetVars() { HTTP_GET_VARS = new Array(); strGET = document.location.search.substr(1, document.location.search.length); if(strGET!='') { gArr = strGET.split('&'); for (var i = 0; i < gArr.length; ++i) { v = ''; vArr = gArr[i].split('='); if(vArr.length > 1){ v = vArr[1]; } HTTP_GET_VARS[unescape(vArr[0])] = decodeURIComponent(v); } } } function GET(v) { if(!HTTP_GET_VARS[v]){ return 'undefined'; } return HTTP_GET_VARS[v]; } function selectPrinter() { var printers = jsPrintSetup.getPrintersList().split(','); //console.log(printers); for (var i = 0; i < printers.length; ++i) { if (printers[i].toLowerCase().indexOf(PRINTER_NAME.toLowerCase()) != -1) { return printers[i]; } } for (var i = 0; i < printers.length; ++i) { if (printers[i].toLowerCase().indexOf(PRINTER_FALLBACK_NAME.toLowerCase()) != -1) { return printers[i]; } } if (printers.length > 0) { return printers[0]; } return ''; }