jquery ajax 调用打印机打印文件流 并跳过预览
时间: 2023-07-13 20:10:09 浏览: 140
实现 jQuery Ajax 调用打印机打印文件流并跳过预览的步骤如下:
1. 使用 jQuery 的 Ajax 方法向服务器发送请求,获取需要打印的文件流数据。
2. 使用 JavaScript 的 Blob 对象将文件流数据转换为二进制文件对象。
3. 使用 FileReader 对象读取二进制文件对象,获取文件内容并将其转换为 ArrayBuffer。
4. 使用 window.URL.createObjectURL 方法将 ArrayBuffer 转换为 URL 对象,以便在打印机上打印。
5. 创建一个新的 iframe 元素,将其 src 属性设置为上一步中获取的 URL 对象。
6. 使用 JavaScript 的 print 方法打印 iframe 中的内容。
以下是基本的代码示例:
```
$.ajax({
url: '/path/to/file',
type: 'GET',
dataType: 'arraybuffer',
success: function (data) {
var blob = new Blob([data], {type: 'application/pdf'});
var fileReader = new FileReader();
fileReader.onload = function() {
var arrayBuffer = this.result;
var url = window.URL.createObjectURL(new Blob([arrayBuffer]));
var iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = url;
document.body.appendChild(iframe);
iframe.contentWindow.print();
};
fileReader.readAsArrayBuffer(blob);
}
});
```
这段代码将获取一个 PDF 文件流,并将其转换为 URL 对象,然后在 iframe 中打印。你可以将文件类型和 URL 对象的创建方法替换为你需要打印的文件类型和相应的方法。
阅读全文