我正在使用 qz-tray(一种中间件,用于从浏览器打印,打印机连接在客户端机器的 USB 端口上)来打印我的 POS 收据。我正在使用 PostScriptPrinting 来生成收据,对于 PostScriptPrinting,我正在使用 qz-tray 的 printHTML 功能。我的理解是 qz-tray 使用 java Html Renderer 来渲染和生成 printHTML 函数的收据。它在我的机器上运行良好,但我客户的机器是 macbook,他在上面安装了 bootcamp windows。当我从 macbook 的训练营窗口生成打印时,收据的格式受到干扰。这背后的原因是什么?我该如何解决这个问题?
问问题
46 次
1 回答
0
我的理解是 qz-tray 使用 java Html Renderer 来渲染和生成 printHTML 函数的收据。
正确,QZ Tray 1.9 使用了非常有限的内部 Java HTML 渲染器。
当我从 macbook 的训练营窗口生成打印时,收据的格式受到干扰。这背后的原因是什么?我该如何解决这个问题?
打印机驱动程序可能存在差异,这意味着您的答案需要更多信息(例如您使用的打印机和打印机驱动程序)。
例如,如果此收据打印机是 Epson,则必须安装驱动程序,并且驱动程序设置会影响输出质量。Epson 提供适用于 MacOS、Linux 和 Windows 的驱动程序。
此外,根据 QZ Tray 版本 1.9、2.0、2.1 等,Java 7 + HTML 与 Java 8 + HTML 的结果可能有很大不同。
无论如何,PostScript
QZ Tray 的较新版本中已弃用打印,因此使用最新版本应该会产生更好的效果。
var config = qz.configs.create("Printer Name");
var data = [{
type: 'html',
format: 'file', // or 'plain' if the data is raw HTML
data: 'assets/html_sample.html'
}];
qz.print(config, data).catch(function(e) { console.error(e); });
为了在热敏打印机上获得最佳 HTML 质量,建议使用 QZ Tray 2.1 或更高版本。
于 2016-08-22T19:46:58.173 回答