我尝试使用 qz 托盘打印标签,我的技术规格是:
- 反应网络应用程序
- 从 API 获取数据,然后将其呈现为 html 元素,使用 html2pdf.js 将其转换为 pdf
- 将 pdf 转换为 base64 字符串并将其提供给 qz 托盘
- 我可以看到 html 元素以及 pdf 输出。一切都是好的质量。
问题是,标签输出有一个 CODE128 条形码,当我尝试扫描它时,它不可读。我尝试扫描pdf文件,它工作正常。尝试调整 html、html2pdf.js 配置和 qz,但看起来输出从未在高分辨率输出中。
我的 qz 托盘代码:
const qzPrinter = qz.printers.find("Wincode C342 (Copy 3)");
const funcUpdateLoading = this.updateLoading;
qzPrinter().then(function(printer) {
let objPrinter = printer;
var config = qz.configs.create(objPrinter, {
margins: { left: 0.1, bottom: 0.1 }
});
var source = window.document.getElementById("dummyAwb").innerHTML;
var opt = {
margin: [0,0],
filename: "myfile.pdf",
image: { type: "jpeg", quality: 1 },
html2canvas: { dpi: 192, letterRendering: true },
jsPDF: { unit: "mm", format: [365, 305], orientation: "portrait" },
pagebreak: { mode: "avoid-all", before: ".akhirTable" }
};
html2pdf()
.set(opt)
.from(source)
.toPdf()
.output("datauristring")
.then(function(pdfAsString) {
let arrStr = pdfAsString.split(",");
var data = [
{
type: "pdf",
format: "base64",
data: arrStr[1]
}
];
qz.print(config, data).then(function() {
funcUpdateLoading();
});
});
});
请有人指出,如何调整 qz 托盘中的质量?TIA