2017-11-21 20 views
0

Zebra 기술에서 제공하는 JavaScript 코드를 사용하고 있지만 계속 "오류가 발생했습니다."입니다. 인쇄 만 가능합니다 레이블브라우저 Prin t가 아니라 카드? Zebra ZXP Series 3 카드 프린터브라우저를 통해 ZEBRA ZXP 시리즈 3 프린터로 카드를 인쇄 할 수 있습니까? 자바 스크립트 코드를 인쇄 하시겠습니까?

내가 제공 한 코드가 첨부되어 있습니다.

아래는 제공된 샘플 코드입니다. 그것은 내가 그들의 기술 지원을하지만 아무 소용이 밖으로 도달했습니다 Index.html을

var available_printers = null; 
 
var selected_category = null; 
 
var default_printer = null; 
 
var selected_printer = null; 
 
var format_start = "^XA^LL200^FO80,50^A0N36,36^FD"; 
 
var format_end = "^FS^XZ"; 
 
var default_mode = true; 
 

 
function setup_web_print() 
 
{ 
 
\t $('#printer_select').on('change', onPrinterSelected); 
 
\t showLoading("Loading Printer Information..."); 
 
\t default_mode = true; 
 
\t selected_printer = null; 
 
\t available_printers = null; 
 
\t selected_category = null; 
 
\t default_printer = null; 
 
\t 
 
\t BrowserPrint.getDefaultDevice('printer', function(printer) 
 
\t { 
 
\t \t default_printer = printer 
 
\t \t if((printer != null) && (printer.connection != undefined)) 
 
\t \t { 
 
\t \t \t selected_printer = printer; 
 
\t \t \t var printer_details = $('#printer_details'); 
 
\t \t \t var selected_printer_div = $('#selected_printer'); 
 
\t \t \t 
 
\t \t \t selected_printer_div.text("Using Default Printer: " + printer.name); 
 
\t \t \t hideLoading(); 
 
\t \t \t printer_details.show(); 
 
\t \t \t $('#print_form').show(); 
 

 
\t \t } 
 
\t \t BrowserPrint.getLocalDevices(function(printers) 
 
\t \t \t { 
 
\t \t \t \t available_printers = printers; 
 
\t \t \t \t var sel = document.getElementById("printers"); 
 
\t \t \t \t var printers_available = false; 
 
\t \t \t \t sel.innerHTML = ""; 
 
\t \t \t \t if (printers != undefined) 
 
\t \t \t \t { 
 
\t \t \t \t \t for(var i = 0; i < printers.length; i++) 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t if (printers[i].connection == 'usb') 
 
\t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t var opt = document.createElement("option"); 
 
\t \t \t \t \t \t \t opt.innerHTML = printers[i].connection + ": " + printers[i].uid; 
 
\t \t \t \t \t \t \t opt.value = printers[i].uid; 
 
\t \t \t \t \t \t \t sel.appendChild(opt); 
 
\t \t \t \t \t \t \t printers_available = true; 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t } 
 
\t \t \t \t } 
 
\t \t \t \t 
 
\t \t \t \t if(!printers_available) 
 
\t \t \t \t { 
 
\t \t \t \t \t showErrorMessage("No Zebra Printers could be found!"); 
 
\t \t \t \t \t hideLoading(); 
 
\t \t \t \t \t $('#print_form').hide(); 
 
\t \t \t \t \t return; 
 
\t \t \t \t } 
 
\t \t \t \t else if(selected_printer == null) 
 
\t \t \t \t { 
 
\t \t \t \t \t default_mode = false; 
 
\t \t \t \t \t changePrinter(); 
 
\t \t \t \t \t $('#print_form').show(); 
 
\t \t \t \t \t hideLoading(); 
 
\t \t \t \t } 
 
\t \t \t }, undefined, 'printer'); 
 
\t }, 
 
\t function(error_response) 
 
\t { 
 
\t \t showBrowserPrintNotFound(); 
 
\t }); 
 
}; 
 
function showBrowserPrintNotFound() 
 
{ 
 
\t showErrorMessage("An error occured while attempting to connect to your Zebra Printer. You may not have Zebra Browser Print installed, or it may not be running. Install Zebra Browser Print, or start the Zebra Browser Print Service, and try again."); 
 

 
}; 
 
function sendData() 
 
{ 
 
\t showLoading("Printing..."); 
 
\t checkPrinterStatus(function (text){ 
 
\t \t if (text == "Ready to Print") 
 
\t \t { 
 
\t \t \t selected_printer.send(format_start + $('#entered_name').val() + format_end, printComplete, printerError); 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t printererror(text); 
 
\t \t } 
 
\t }); 
 
}; 
 
function checkPrinterStatus(finishedFunction) 
 
{ 
 
\t selected_printer.sendThenRead("~HQES", 
 
\t \t \t \t function(text){ 
 
\t \t \t \t \t \t var that = this; 
 
\t \t \t \t \t \t var statuses = new Array(); 
 
\t \t \t \t \t \t var ok = false; 
 
\t \t \t \t \t \t var is_error = text.charAt(70); 
 
\t \t \t \t \t \t var media = text.charAt(88); 
 
\t \t \t \t \t \t var head = text.charAt(87); 
 
\t \t \t \t \t \t var pause = text.charAt(84); 
 
\t \t \t \t \t \t // check each flag that prevents printing 
 
\t \t \t \t \t \t if (is_error == '0') 
 
\t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t ok = true; 
 
\t \t \t \t \t \t \t statuses.push("Ready to Print"); 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t \t if (media == '1') 
 
\t \t \t \t \t \t \t statuses.push("Paper out"); 
 
\t \t \t \t \t \t if (media == '2') 
 
\t \t \t \t \t \t \t statuses.push("Ribbon Out"); 
 
\t \t \t \t \t \t if (media == '4') 
 
\t \t \t \t \t \t \t statuses.push("Media Door Open"); 
 
\t \t \t \t \t \t if (media == '8') 
 
\t \t \t \t \t \t \t statuses.push("Cutter Fault"); 
 
\t \t \t \t \t \t if (head == '1') 
 
\t \t \t \t \t \t \t statuses.push("Printhead Overheating"); 
 
\t \t \t \t \t \t if (head == '2') 
 
\t \t \t \t \t \t \t statuses.push("Motor Overheating"); 
 
\t \t \t \t \t \t if (head == '4') 
 
\t \t \t \t \t \t \t statuses.push("Printhead Fault"); 
 
\t \t \t \t \t \t if (head == '8') 
 
\t \t \t \t \t \t \t statuses.push("Incorrect Printhead"); 
 
\t \t \t \t \t \t if (pause == '1') 
 
\t \t \t \t \t \t \t statuses.push("Printer Paused"); 
 
\t \t \t \t \t \t if ((!ok) && (statuses.Count == 0)) 
 
\t \t \t \t \t \t \t statuses.push("Error: Unknown Error"); 
 
\t \t \t \t \t \t finishedFunction(statuses.join()); 
 
\t \t \t }, printerError); 
 
}; 
 
function hidePrintForm() 
 
{ 
 
\t $('#print_form').hide(); 
 
}; 
 
function showPrintForm() 
 
{ 
 
\t $('#print_form').show(); 
 
}; 
 
function showLoading(text) 
 
{ 
 
\t $('#loading_message').text(text); 
 
\t $('#printer_data_loading').show(); 
 
\t hidePrintForm(); 
 
\t $('#printer_details').hide(); 
 
\t $('#printer_select').hide(); 
 
}; 
 
function printComplete() 
 
{ 
 
\t hideLoading(); 
 
\t alert ("Printing complete"); 
 
} 
 
function hideLoading() 
 
{ 
 
\t $('#printer_data_loading').hide(); 
 
\t if(default_mode == true) 
 
\t { 
 
\t \t showPrintForm(); 
 
\t \t $('#printer_details').show(); 
 
\t } 
 
\t else 
 
\t { 
 
\t \t $('#printer_select').show(); 
 
\t \t showPrintForm(); 
 
\t } 
 
}; 
 
function changePrinter() 
 
{ 
 
\t default_mode = false; 
 
\t selected_printer = null; 
 
\t $('#printer_details').hide(); 
 
\t if(available_printers == null) 
 
\t { 
 
\t \t showLoading("Finding Printers..."); 
 
\t \t $('#print_form').hide(); 
 
\t \t setTimeout(changePrinter, 200); 
 
\t \t return; 
 
\t } 
 
\t $('#printer_select').show(); 
 
\t onPrinterSelected(); 
 
\t 
 
} 
 
function onPrinterSelected() 
 
{ 
 
\t selected_printer = available_printers[$('#printers')[0].selectedIndex]; 
 
} 
 
function showErrorMessage(text) 
 
{ 
 
\t $('#main').hide(); 
 
\t $('#error_div').show(); 
 
\t $('#error_message').html(text); 
 
} 
 
function printerError(text) 
 
{ 
 
\t showErrorMessage("An error occurred while printing. Please try again." + text); 
 
} 
 
function trySetupAgain() 
 
{ 
 
\t $('#main').show(); 
 
\t $('#error_div').hide(); 
 
\t setup_web_print(); 
 
\t //hideLoading(); 
 
}
<html> 
 
<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
 
<head> 
 
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"> 
 
<link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet"> 
 
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> 
 
<script type="text/javascript" src="js/BrowserPrint-1.0.4.min.js"></script> 
 
<script type="text/javascript" src="js/DevDemo.js"></script> 
 

 
<script type="text/javascript"> 
 
$(document).ready(setup_web_print); 
 
</script> 
 
</head> 
 
<body style="background-color:#D8D8D8; font-size:24px;"> 
 
\t <div class="navbar navbar-inverse " role="navigation"> 
 
    <div class="container"> 
 
     <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse"> 
 
      <span class="sr-only">Toggle navigation</span> 
 
      <span class="icon-bar"></span> 
 
      <span class="icon-bar"></span> 
 
      <span class="icon-bar"></span> 
 
     </button> 
 
     <a class="navbar-brand" href="#"><p style="font-size: 150%;">Zebra Browser Print Demo</p></a> 
 
     <script type="text/javascript"> 
 
var OSName="Unknown OS"; 
 
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; 
 
//{ 
 
//OSName="Windows"; 
 
//document.write('<a href="ZebraWebPrint.exe" class="navbar-brand" href="#">Download the '+OSName+' App</a>'); 
 
//} 
 
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; 
 
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; 
 
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; 
 

 
     </script> 
 
\t \t \t 
 
     </div><!-- /navbar-header --> 
 
    </div><!-- /container --> 
 
    </div><!-- /navigation --> 
 
    <div class="container" style="width:500px"> 
 
    <div id="main"> 
 
     <div id="printer_data_loading" style="display:none"><span id="loading_message">Loading Printer Details...</span><br/> 
 
     <div class="progress" style="width:100%"> 
 
      <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"> 
 
      </div> 
 
     </div> 
 
     </div> <!-- /printer_data_loading --> 
 
     <div id="printer_details" style="display:none"> 
 
     <span id="selected_printer">No data</span> 
 
     <button type="button" class="btn btn-success" onclick="changePrinter()">Change</button> 
 
     </div><br /> <!-- /printer_details --> 
 
     <div id="printer_select" style="display:none"> 
 
     Zebra Printer Options<br /> 
 
     Printer: <select id="printers"></select> 
 
     </div> <!-- /printer_select --> 
 
     <div id="print_form" style="display:none"> 
 
     Enter Name: <input type="text" id="entered_name"></input> 
 
     <br /><br /> 
 
     <button type="button" class="btn btn-lg btn-primary" onclick="sendData();" value="Print">Print Label</button> 
 
     </div> <!-- /print_form --> 
 
    </div> <!-- /main --> 
 
    <div id="error_div" style="width:500px; display:none"><div id="error_message"></div> 
 
     <button type="button" class="btn btn-lg btn-success" onclick="trySetupAgain();">Try Again</button> 
 
    </div><!-- /error_div --> 
 
\t </div><!-- /container --> 
 
</body> 
 
</html>

Browser Print

DevDemo.js & 라고. 어떤 아이디어? 무슨 일이 일어 났는지는 is_error이 결코 설정되지 않는다고 생각합니다. '0'

답변

1

Browser Print은 Zebra 라벨 및 영수증 프린터에서만 작동합니다. 카드 프린터는 현재 지원되지 않습니다.
카드는 현재 3 가지 방법으로 인쇄 할 수 있습니다. Drivers, the SDK을 사용하는 .NET 앱 또는 Link-OS SDK을 사용하는 Java 앱