我正在使用qz-tray(一种中间件,用于从浏览器进行打印,并在客户端计算机的USB端口上连接打印机)来打印我的POS收据。我正在使用PostScriptPrinting来生成接收,对于PostScriptPrinting,我正在使用qz-tray的printHTML功能。我的理解是qz-tray使用java Html渲染器来渲染和生成printHTML函数的接收。它在我的机器上运行良好,但我客户的机器是Macbook,他在上面安装了训练营窗口。当我从Macbook的训练营窗口生成打印时,reciept的格式受到了干扰。这背后的原因可能是什么?如何解决此问题?
我的理解是qz-tray使用java Html渲染器来渲染和生成printHTML函数的接收。
正确,QZ Tray 1.9 使用了非常有限的内部 Java HTML 渲染器。
可能是打印机驱动程序当我从Macbook的训练营窗口生成打印时,reciept的格式受到了干扰。这背后的原因可能是什么?如何解决此问题?
的差异,这意味着您的答案需要更多信息(例如您正在使用的打印机和打印机驱动程序)。
例如,如果此收据打印机是爱普生,则必须安装驱动程序,并且驱动程序设置可能会影响输出质量。 爱普生提供适用于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 纸盒 2.1 或更高版本。