- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Zebra 技术提供的 JavaScript 代码,但我不断收到“发生错误”消息。是否只能通过浏览器打印打印标签,而不是卡片?我正在使用 Zebra ZXP Series 3 证卡打印机
进行打印我已附上他们提供的我正在使用的代码。
下面是他们提供的示例代码。它的名字叫Browser Print
DevDemo.js 和 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()
{
$('#printer_select').on('change', onPrinterSelected);
showLoading("Loading Printer Information...");
default_mode = true;
selected_printer = null;
available_printers = null;
selected_category = null;
default_printer = null;
BrowserPrint.getDefaultDevice('printer', function(printer)
{
default_printer = printer
if((printer != null) && (printer.connection != undefined))
{
selected_printer = printer;
var printer_details = $('#printer_details');
var selected_printer_div = $('#selected_printer');
selected_printer_div.text("Using Default Printer: " + printer.name);
hideLoading();
printer_details.show();
$('#print_form').show();
}
BrowserPrint.getLocalDevices(function(printers)
{
available_printers = printers;
var sel = document.getElementById("printers");
var printers_available = false;
sel.innerHTML = "";
if (printers != undefined)
{
for(var i = 0; i < printers.length; i++)
{
if (printers[i].connection == 'usb')
{
var opt = document.createElement("option");
opt.innerHTML = printers[i].connection + ": " + printers[i].uid;
opt.value = printers[i].uid;
sel.appendChild(opt);
printers_available = true;
}
}
}
if(!printers_available)
{
showErrorMessage("No Zebra Printers could be found!");
hideLoading();
$('#print_form').hide();
return;
}
else if(selected_printer == null)
{
default_mode = false;
changePrinter();
$('#print_form').show();
hideLoading();
}
}, undefined, 'printer');
},
function(error_response)
{
showBrowserPrintNotFound();
});
};
function showBrowserPrintNotFound()
{
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()
{
showLoading("Printing...");
checkPrinterStatus( function (text){
if (text == "Ready to Print")
{
selected_printer.send(format_start + $('#entered_name').val() + format_end, printComplete, printerError);
}
else
{
printererror(text);
}
});
};
function checkPrinterStatus(finishedFunction)
{
selected_printer.sendThenRead("~HQES",
function(text){
var that = this;
var statuses = new Array();
var ok = false;
var is_error = text.charAt(70);
var media = text.charAt(88);
var head = text.charAt(87);
var pause = text.charAt(84);
// check each flag that prevents printing
if (is_error == '0')
{
ok = true;
statuses.push("Ready to Print");
}
if (media == '1')
statuses.push("Paper out");
if (media == '2')
statuses.push("Ribbon Out");
if (media == '4')
statuses.push("Media Door Open");
if (media == '8')
statuses.push("Cutter Fault");
if (head == '1')
statuses.push("Printhead Overheating");
if (head == '2')
statuses.push("Motor Overheating");
if (head == '4')
statuses.push("Printhead Fault");
if (head == '8')
statuses.push("Incorrect Printhead");
if (pause == '1')
statuses.push("Printer Paused");
if ((!ok) && (statuses.Count == 0))
statuses.push("Error: Unknown Error");
finishedFunction(statuses.join());
}, printerError);
};
function hidePrintForm()
{
$('#print_form').hide();
};
function showPrintForm()
{
$('#print_form').show();
};
function showLoading(text)
{
$('#loading_message').text(text);
$('#printer_data_loading').show();
hidePrintForm();
$('#printer_details').hide();
$('#printer_select').hide();
};
function printComplete()
{
hideLoading();
alert ("Printing complete");
}
function hideLoading()
{
$('#printer_data_loading').hide();
if(default_mode == true)
{
showPrintForm();
$('#printer_details').show();
}
else
{
$('#printer_select').show();
showPrintForm();
}
};
function changePrinter()
{
default_mode = false;
selected_printer = null;
$('#printer_details').hide();
if(available_printers == null)
{
showLoading("Finding Printers...");
$('#print_form').hide();
setTimeout(changePrinter, 200);
return;
}
$('#printer_select').show();
onPrinterSelected();
}
function onPrinterSelected()
{
selected_printer = available_printers[$('#printers')[0].selectedIndex];
}
function showErrorMessage(text)
{
$('#main').hide();
$('#error_div').show();
$('#error_message').html(text);
}
function printerError(text)
{
showErrorMessage("An error occurred while printing. Please try again." + text);
}
function trySetupAgain()
{
$('#main').show();
$('#error_div').hide();
setup_web_print();
//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;">
<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>
</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 -->
</div><!-- /container -->
</body>
</html>
我已联系他们的技术支持,但没有结果。有任何想法吗?我认为发生的情况是 is_error
从未被设置为 '0'
最佳答案
Browser Print仅适用于 Zebra 标签和收据打印机。目前不支持证卡打印机。
目前可以通过 3 种方法打印卡片。 Drivers , .NET 应用程序使用 the SDK ,或使用 Link-OS SDK 的 Java 应用程序.
关于javascript - 是否可以通过浏览器打印 JavaScript 代码将卡片打印到 ZEBRA ZXP 系列 3 打印机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47421595/
我将几个zpl文件发送到打印机进行测试,并且工作正常。 之后,我从UPS接收base64编码的zpl数据,并创建一个文件并通过Java小程序将其发送到打印机,现在我发送给它的任何zpl命令或文件都无济
我正在使用 Zebra GT800 标签打印机,标签角色大小为 2.5' * 1.75'。我正在努力使用 ZPL 命令将其调整为内部标签。我尝试使用在 ZPL 的用户指南中阅读的粗体文本中的几个值,但
如何为“文本”添加换行符?比如说: Hello World 会变成 Hello World 无论如何,我可以为我的代码添加一个换行符吗? ^FT78,76^A0N,28,28^FH\^FDHello\
我正在将 ZPL 代码传递给 Zebra 打印机。在这个 ZPL 代码中,我有一部分会生成二维码。 QR 码的值来 self 在为 WM6.5 开发的移动应用程序中使用条形码扫描功能获得的字符串。扫描
我正在将 ZPL 代码传递给 Zebra 打印机。在这个 ZPL 代码中,我有一部分会生成二维码。 QR 码的值来 self 在为 WM6.5 开发的移动应用程序中使用条形码扫描功能获得的字符串。扫描
我在 ZPL 中编程,我需要手动定义一个变量。一个简单的 Hello World 示例: ^XA ^FO,20,10^ADN,40,25^FDHello World^FS ^XZ 我希望能够: SET
我正在尝试在我的 Zebra Z410 标签打印机上打印波斯字符。但由于某种原因,它正在打印 ?????。我发送到打印机的 ZPL 代码是 ^XA ^FO50,50 ^PA1,1,1,1 ^A@N,5
有没有办法计算给定文本的 Zebra Font 0 的总宽度?考虑以下 ZPL 命令, **^XA^FO100,150^A030,30^FDSample Text^FS^XZ** 这里字符的高度和宽度
使用带有对特定标签进行编码的 ZPL 代码的 Zebra 打印机,我如何将 a 添加到现有的 ZPL 命令,以便打印同一标签的 3 个副本。 这必须是 ZPL 代码的一部分,因为发送命令 3 次不是一
我开发了一个在 Zebra TC70 上运行的应用程序。主要原因是该设备内置了二维条码扫描仪。 现在我还想在应用程序商店中发布相同的应用程序,而不需要 Zebra 要求。我内置了一项检查,用于检查设备
基于this question我已经实现了以下代码来将直接命令发送到我的 Zebra TLP2844 var cmm: AnsiString; i: integer; begin comm
为什么我的代码不能在本地主机上运行?用户打开日历并选择日期后,应该会弹出一条警报消息,但这并没有发生。它正在 jsfiddle.net 上运行。 Zebra_DatePi
我需要在 Zebra zq520 蓝牙热敏打印机上添加打印功能。我设法使用 flutter_blue 插件来做到这一点,但我对实现并不满意。我讨厌将字符串分成更小的 block 以便通过蓝牙(并且等待
我需要在 Zebra zq520 蓝牙热敏打印机上添加打印功能。我设法使用 flutter_blue 插件来做到这一点,但我对实现并不满意。我讨厌将字符串分成更小的 block 以便通过蓝牙(并且等待
我对 tablesorter 插件和 zebra 小部件有疑问,它们为偶数/奇数行启用不同的样式。 我的页面以一个空表开始;然后,用户编译一个表单,然后加载我的表格...所以问题是:在初始加载(也对列
我需要将 Zebra M4Plus 打印机中的“日期字段”从 UTF-8 编码为 UTF-16。为此,我需要使用“所需的翻译表”。在文档中我发现了这个: ~DER:JIS.DAT,27848,3000
任何熟悉 Zebra Datepicker 的人? 我似乎无法显示日历图标。 http://jsfiddle.net/abalter/gzbqrxpL/ 我也在尝试: Unt
我正在尝试使用 Zebra QLn220 和 link_os_sdk 从 iOS 设备打印图像。图像为 719x1248 像素,但打印时图像总是被切掉一半。我已通过 Zebra 设置实用程序将打印机的
过滤结果后显示“斑马”列表时出现问题。我有一个显示完美的斑马列表,这里是代码: $('ul li:odd').addClass('zebra_odd'); $('ul li:even').addCla
我有斑马 GC420d。使用 zebra 0.0.3a ,这是我的问题的一个例子: label = """ ^XA ^FO10,10 ^A0,40,40 ^FD Hello World ^FS ^XZ
我是一名优秀的程序员,十分优秀!