jquery 打印文件流并跳过预览
要实现打印文件流并跳过预览,可以使用以下代码:
$.ajax({
url: "path/to/file.pdf",
method: "GET",
xhrFields: {
responseType: 'blob'
},
success: function(data) {
// 创建一个隐藏的 iframe 元素
var iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
// 将文件流转换为 blob 对象,并在 iframe 中打印
var file = new Blob([data], {type: 'application/pdf'});
var fileUrl = URL.createObjectURL(file);
iframe.src = fileUrl;
iframe.contentWindow.print();
}
});
这段代码会通过 Ajax 获取 PDF 文件的文件流,将其转换为 Blob 对象,并在隐藏的 iframe 中打印。由于 iframe 是隐藏的,因此不会显示预览。
jquery 打印文件流并跳过预览 调用打印机打印
可以使用 JavaScript 的 window.print()
方法来调用打印机进行打印。不过,如果要直接打印文件流并跳过预览,需要使用一些特定的技术。
以下是通过 jQuery 实现此目标的代码示例:
// 获取文件流
var fileStream = "path/to/file.pdf";
// 通过 AJAX 请求获取文件二进制数据
$.ajax({
url: fileStream,
method: "GET",
xhrFields: {
responseType: "blob"
},
success: function(data) {
// 创建 URL 对象
var fileUrl = URL.createObjectURL(data);
// 创建隐藏的 iframe 元素
var $iframe = $("<iframe/>");
// 隐藏 iframe
$iframe.css("display", "none");
// 添加 iframe 到 DOM 中
$("body").append($iframe);
// 将 iframe 的 src 属性设置为文件 URL
$iframe.attr("src", fileUrl);
// 等待一段时间后,调用 window.print() 方法
setTimeout(function() {
$iframe.get(0).contentWindow.print();
}, 1000);
}
});
在上面的代码中,我们首先通过 AJAX 请求获取文件二进制数据,并将其转换为 URL 对象。然后,我们创建一个隐藏的 iframe 元素,并将其 src 属性设置为文件 URL。最后,我们等待一段时间后调用 window.print()
方法来触发打印操作。
需要注意的是,由于浏览器的安全限制,我们无法直接打印文件流,必须将其转换为 URL 对象。此外,由于打印操作需要时间,我们需要等待一段时间后再调用 window.print()
方法。
jquery 连接打印机 打印文件流 并跳过预览
要使用 jQuery 连接打印机并打印文件流,您需要使用 JavaScript 中的 window.print()
方法。但是,由于浏览器的安全限制,您不能直接使用 window.print()
方法打印文件流,也无法跳过打印预览。
不过,您可以考虑使用第三方库来实现该功能,例如:jzebra、QZ Tray 等。这些库可以让您通过浏览器连接打印机,并打印文件流,同时可以跳过打印预览。
以下是使用 jzebra 库连接打印机并打印文件流的示例代码:
// 引入 jzebra 库
<script src="jquery.min.js"></script>
<script src="jzebra.js"></script>
// 打印文件流
function printFile(file) {
// 创建 jzebra 打印对象
var printer = new jzebra.Printer();
// 连接打印机
printer.append('\n');
printer.findPrinter();
printer.append('\n');
// 打印文件流
printer.appendFile(file);
// 发送打印命令
printer.print();
}
需要注意的是,jzebra 库需要在本地安装打印机驱动程序,并且只支持 Windows 操作系统。如果您需要在其他操作系统上使用类似的功能,可以考虑使用其他库或者工具。
相关推荐
















