提问人:Ghaith Bezem 提问时间:11/17/2023 最后编辑:tresfGhaith Bezem 更新时间:11/17/2023 访问量:36
如何使用 MVC 应用程序中的 QZ 托盘将 HTML 页面直接打印到多台打印机
How to Print HTML page directly to multi printers using QZ Tray from an MVC app
问:
我正在从我的 MVC Web 应用程序尝试 QZ Tray
我想在定义要打印的打印机后,立即直接从 JS 将我已经生成的 html 页面打印到多台打印机
打印机正在打印白纸,文件名标题仅在顶部
我已经阅读了 QZ 快速入门并阅读了他们的几页文档并尝试了这个:
@{ Layout = null;}
<div>Print test Print test Print test Print test Print test Print test</div>
<script src="~/Scripts/jquery-3.5.1.min.js"></script>
<script src="~/Scripts/qz-tray.js"></script>
<script>
$(document).ready(function (){
qz.websocket.connect({ retries: 5, delay: 1 }).then(function () {
return qz.printers.find("hp", { margins: 2, orientation: 'portrait' }); // Pass the printer name into the next Promise
}).then(function (printer) {
var config = qz.configs.create(printer, { scaleContent: false }); // Create a default config for the found printer
var data = [{
type: 'pixel',
format: 'html',
flavor: 'plain', // or 'plain' if the data is raw HTML
data: 'http://localhost:27210/Home/View1',
options: { pageWidth: 8.5 /* pageHeight: 11 */ }
}]; return qz.print(config, data);
}).catch(function (e) { console.error(e); });
})
</script>
答:
0赞
tresf
11/17/2023
#1
HTML 页面同时直接发送到多台打印机
从 2.1.0 开始(根据 qzind/tray/issues/161),您可以在数组中提供打印机,以便向每个打印机发送相同的作业。
// ...
var config1 = qz.configs.create("Printer 1", { scaleContent: false });
var config2 = qz.configs.create("Printer 2", { scaleContent: false });
var config3 = qz.configs.create("Printer 3", { scaleContent: false });
return qz.print([ config1, config2, config3 ], data);
// ...
仅顶部显示文件名标题的白皮书 (注释)代码上有什么问题,它没有打印HTML页面内容
如果要提供 URL,则应使用 ,而不是 .如果这仍然导致问题,请确保可以从隐身模式/隐私浏览访问该页面,因为 QZ 托盘需要对 HTML 内容进行公开访问。flavor: file
flavor: plain
// ...
var data = [{
type: 'pixel',
format: 'html',
flavor: 'file', // or 'plain' if the data is raw HTML
// ^------ HERE
data: 'http://localhost:27210/Home/View1',
options: { pageWidth: 8.5 /* pageHeight: 11 */ }
}]; return qz.print(config, data);
// ...
评论
0赞
Ghaith Bezem
11/17/2023
谢谢 Tresf,我将尝试在几台打印机上打印。实际上,这是问题的第二部分,任何机构都可以知道代码上有什么问题,它没有打印html页面内容
0赞
Ghaith Bezem
11/17/2023
我正在尝试打印包含代码本身的当前页面
0赞
tresf
11/17/2023
@GhaithBezem答案已更新。
0赞
Ghaith Bezem
11/18/2023
是的,谢谢 Tresf,我已经在我的代码版本中尝试了flavor: 'file',但它仍然打印一个白色页面,标题上有文件路径,对不起
0赞
Ghaith Bezem
11/18/2023
与隐身模式/隐私浏览相同,仍然打印带有标题的白页
上一个:如何获取每条数据的 URL?
评论