js 调用打印机 打印文件流
时间: 2023-08-14 10:11:55 浏览: 173
要在 JavaScript 中调用打印机打印文件流,可以使用浏览器提供的 `window.print()` 方法。以下是一个简单的示例:
```javascript
var printContent = "这是要打印的文件流内容";
var printWindow = window.open('', '', 'height=400,width=600');
printWindow.document.write('<html><head><title>打印窗口</title></head><body>');
printWindow.document.write(printContent);
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.print();
```
在上面的代码中,我们首先定义了要打印的文件流内容,然后通过 `window.open()` 方法打开一个新窗口,并在其中写入要打印的内容。最后,我们调用 `printWindow.print()` 方法打印该窗口的内容。
请注意,由于安全性问题,现代浏览器通常会阻止在 JavaScript 中自动触发打印操作。因此,在上面的示例中,用户必须手动点击打印按钮才能完成打印操作。
相关问题
js 调用打印机打印文件流 怎么跳过预览
可以使用浏览器的原生打印功能,使用`window.print()`方法来实现打印。但是这种方式会经过预览页面,如果想跳过预览,可以使用第三方插件如`jsPrintSetup`,该插件可以实现直接打印文件流,使用方法如下:
1. 引入jsPrintSetup插件
```
<script type="text/javascript" src="jsPrintSetup.js"></script>
```
2. 使用jsPrintSetup插件打印
```
//获取文件流
var fileStream = "file stream here";
//打印配置
var printConfig = {
printerName: "", // 打印机名称
paperName: "", // 纸张名称
paperWidth: 0, // 纸张宽度
paperHeight: 0, // 纸张高度
topMargin: 0, // 上边距
leftMargin: 0, // 左边距
bottomMargin: 0, // 下边距
rightMargin: 0, // 右边距
orientation: 0, // 打印方向:0-纵向,1-横向
printInBackground: true, // 是否在后台打印
printSilent: true, // 是否静默打印
printToFile: false, // 是否打印到文件
fileName: "", // 文件名
duplex: 0, // 是否双面打印:0-不双面,1-短边翻转,2-长边翻转
htmlContent: fileStream // 文件流
};
//打印
jsPrintSetup.print(printConfig);
```
使用该插件可以实现跳过预览直接打印文件流。
js iframe 调用打印机打印文件流
可以通过将文件流转换为 Blob 对象,然后使用 URL.createObjectURL() 方法创建一个 URL,将其作为 iframe 的 src 属性值,最后调用 iframe 的 print() 方法来实现打印。
下面是一个示例代码:
```javascript
function printFile(fileStream) {
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.onload = function() {
iframe.contentWindow.print();
};
}
```
在上面的代码中,我们将文件流转换为 Blob 对象,并指定类型为 'application/pdf'。然后使用 URL.createObjectURL() 方法创建一个 URL,并将其作为 iframe 的 src 属性值。接着将 iframe 添加到页面中,并在 iframe 的 onload 事件中调用 iframe.contentWindow.print() 方法来触发打印操作。
注意:上述代码只适用于可以直接用浏览器打印的文件类型,例如 PDF 文件。如果文件类型不支持直接浏览器打印,则需要使用第三方库或插件来实现打印操作。
阅读全文