js 打印文件流 跳过预览
时间: 2023-07-12 13:07:43 浏览: 54
如果你想直接在浏览器中打印文件流而不是预览,可以使用以下代码:
```javascript
function printFile(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (this.status == 200) {
var blob = new Blob([this.response], {type: 'application/pdf'});
var url = URL.createObjectURL(blob);
var iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = url;
document.body.appendChild(iframe);
iframe.contentWindow.print();
}
};
xhr.send();
}
```
上述代码通过 AJAX 请求获取文件流,并将其转换为 Blob 对象,然后将 Blob 对象的 URL 用于创建一个隐藏的 iframe 元素,最后调用 iframe 的 `contentWindow.print()` 方法来直接打印文件流。注意,此代码仅适用于 PDF 文件。如果你要打印其他文件格式,需要修改 `type` 参数的值。
阅读全文