js 打印文件流并跳过预览
时间: 2023-07-19 17:06:54 浏览: 131
如果你想在不进行文件预览的情况下打印文件流,可以考虑使用以下方法:
1. 将文件流转换为 Blob 对象
```javascript
const blob = new Blob([fileStream], { type: 'application/pdf' });
```
其中,`fileStream` 是你的文件流,`application/pdf` 是你的文件类型,可以根据实际情况进行修改。
2. 创建 URL 对象
```javascript
const url = URL.createObjectURL(blob);
```
3. 创建隐藏的 iframe 并将其 src 设置为 URL
```javascript
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = url;
document.body.appendChild(iframe);
```
4. 调用 iframe 的打印方法
```javascript
iframe.contentWindow.print();
```
完整代码示例:
```javascript
const blob = new Blob([fileStream], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = url;
document.body.appendChild(iframe);
iframe.contentWindow.print();
```
注意:在使用完毕后,要及时释放 URL 对象,以免浏览器内存泄漏。
```javascript
URL.revokeObjectURL(url);
```
阅读全文