我正在尝试使用qz-tray打印包含表可以超过2-3页的原始html。我放了一个表头,以便它在每一页上都重复出现。到qz托盘时,我看不到打印头重复出现,而且打印效果相当像素化。
const config = qz.configs.create('printerName');
const data = [{
type: 'html',
format: 'plain',
scaleContent: false,
data: htmlToRender,
}];
return qz.print(config, data);
html包含一个可以超过2-3页的表。
撰写本文时,QZ Tray在底层使用Java FX的HTML WebView,无法使用@media print
或分页样式。
打印相当像素化
这是QZ纸盘2.0的限制。它使用Java 7的WebView并拍摄了HTML内容的屏幕截图。
QZ Tray 2.1通过使用Java 8的WebView来解决质量问题,该WebView具有基本的打印支持,不再需要劣质的屏幕截图代码。
注意,QZ Tray的PDF API不会遇到上述任何一个问题,但是您需要一个中间的PDF转换器步骤。