You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Qz-Tray HTML打印生成CODE_128条码遇问题求助

解决QZ-Tray HTML打印中生成CODE_128条码的问题

方案一:修复Libre Barcode 128字体生效问题

字体未起效的核心原因是HTML字符串未正确引入字体资源,QZ-Tray打印时无法加载外部字体,需将字体嵌入到HTML中。可通过@font-face将字体转为Base64格式嵌入,或指定QZ-Tray能访问的本地字体路径。

修改后的printHTML函数示例:

function printHTML() {
    var config = getUpdatedConfig();

    // 嵌入Libre Barcode 128字体(替换为完整字体Base64内容)
    var fontStyle = '<style>' +
        '@font-face {' +
        '    font-family: "Libre Barcode 128";' +
        '    src: url(data:font/truetype;base64,[你的字体Base64内容]) format("truetype");' +
        '}' +
        '.barcode { font-family: "Libre Barcode 128"; font-size: 48px; }' +
        '</style>';

    var colA = '<h2>*&nbsp; QZ Print Plugin HTML Printing &nbsp;*</h2>' +
            '<span style="color: #F00;">Version:</span> ' + qzVersion + '<br/>' +
            '<span style="color: #F00;">Visit:</span> https://qz.io/' +
            '<br/><br/><span class="barcode">123456789</span>'; // 替换为你的条码内容
    var colB = '<img src="' + getPath() + '/assets/img/image_sample.png">';

    var printData = [
        {
            type: 'html',
            format: 'plain',
            data: '<html>' +
            fontStyle +
            '   <table style="font-family: monospace; border: 1px;">' +
            '       <tr style="height: 6cm;">' +
            '           <td valign="top">' + colA + '</td>' +
            '           <td valign="top">' + colB + '</td>' +
            '       </tr>' +
            '   </table>' +
            '</html>'
        }
    ];

    qz.print(config, printData).catch(displayError);
}

方案二:直接插入条码图片(无需依赖字体)

若字体方案仍无法生效,可提前将CODE_128条码生成图片Base64字符串,直接插入到HTML中。核心是通过条码生成逻辑将文本转为图片数据,再嵌入到HTML字符串里。

修改后的printHTML函数示例:

function printHTML() {
    var config = getUpdatedConfig();

    // 替换为你的CODE_128条码图片Base64内容
    var barcodeImg = '<img src="data:image/png;base64,[你的条码图片Base64内容]" alt="CODE_128条码">';

    var colA = '<h2>*&nbsp; QZ Print Plugin HTML Printing &nbsp;*</h2>' +
            '<span style="color: #F00;">Version:</span> ' + qzVersion + '<br/>' +
            '<span style="color: #F00;">Visit:</span> https://qz.io/' +
            '<br/><br/>' + barcodeImg;
    var colB = '<img src="' + getPath() + '/assets/img/image_sample.png">';

    var printData = [
        {
            type: 'html',
            format: 'plain',
            data: '<html>' +
            '   <table style="font-family: monospace; border: 1px;">' +
            '       <tr style="height: 6cm;">' +
            '           <td valign="top">' + colA + '</td>' +
            '           <td valign="top">' + colB + '</td>' +
            '       </tr>' +
            '   </table>' +
            '</html>'
        }
    ];

    qz.print(config, printData).catch(displayError);
}

注意事项

  • 字体Base64可通过在线工具将.ttf字体文件转换得到
  • 条码图片Base64可通过条码生成库提前生成,再将结果嵌入到HTML字符串中

内容的提问来源于stack exchange,提问作者Avian Driyanto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:15:35