Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JSBarcode库无法正确打印条形码_Javascript_Html_Css_Printing_Jsbarcode - Fatal编程技术网

Javascript 使用JSBarcode库无法正确打印条形码

Javascript 使用JSBarcode库无法正确打印条形码,javascript,html,css,printing,jsbarcode,Javascript,Html,Css,Printing,Jsbarcode,我正在尝试打印生成的条形码。我正在使用JSBarcode库生成条形码 在打印屏幕上,视觉效果很好,但当我打印它时,结果是4页,只有一页有条形码,条形码很小,位于页面底部 我的html代码是: <div class="col-12 col-print-12"> <p class="barcode tekli"> <svg id="barcode tekli"></svg> </p> </div> 我的

我正在尝试打印生成的条形码。我正在使用JSBarcode库生成条形码

在打印屏幕上,视觉效果很好,但当我打印它时,结果是4页,只有一页有条形码,条形码很小,位于页面底部

我的html代码是:

<div class="col-12 col-print-12">
   <p class="barcode tekli">
      <svg id="barcode tekli"></svg>
   </p>
</div>
我的CSS是:

@media print {
    .tekli{
        -webkit-transform: scaleX(2);
        -o-transform: scaleX(2);
        -ms-transform: scaleX(2);
        transform: scaleX(2);
    }
    .page {
        width: 21cm;
        height: 29.7cm;
        margin: 0;
        border: initial;
        border-radius: initial;
        width: initial;
        min-height: initial;
        box-shadow: initial;
        background: initial;
        page-break-after: always;
    }
    .col-print-12 {
        width: 100%;
    }
}
你能帮我吗?

试试这个

$(document).ready(function(){
    JsBarcode("#barcode", "1554466",{
        width:5,
        height:200,
        fontSize:50,
        displayValue: true

    });

    window.print();

    window.open('', '_parent', '');

    window.close();
});
或者删除svg标记并替换为id=“barcode”的简单div

let divDOM=document.getElementById(“条形码”);
让svg=document.createElements(“http://www.w3.org/2000/svg“,“svg”);
setAttribute('jsbarcode-format','ean13')
setAttribute('jsbarcode-value','')
svg.className.baseVal=“条形码”;
appendChild(svg);
JsBarcode(“条形码”,“最小宽度”{
宽度:1,
身高:25,
线条颜色:“676a6c”
}).init();

您的代码在html/CSS中做了一些细微的更改,对我来说效果很好

我已经从svg中删除了id
tekli
(您不能有多个id),也从CSS中删除了
.tekli
样式

JsBarcode(“条形码”,“1554466”{
宽度:5,
身高:200,
尺寸:50,
显示值:true
});
window.print();
窗口。打开(“”,“”,“”);
window.close()
@媒体打印{
.第页{
宽度:21cm;
身高:29.7厘米;
保证金:0;
边界:首字母;
边界半径:初始;
宽度:首字母;
最小高度:初始高度;
盒影:首字母;
背景:初始;
分页符后:始终;
}
.col-print-12{
宽度:100%;
}
}


。上面示例中未使用的页面
$(document).ready(function(){
    JsBarcode("#barcode", "1554466",{
        width:5,
        height:200,
        fontSize:50,
        displayValue: true

    });

    window.print();

    window.open('', '_parent', '');

    window.close();
});
let divDOM = document.getElementById("barcode");
let svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute('jsbarcode-format', 'ean13')
svg.setAttribute('jsbarcode-value', '<?php echo $product["ean"]; ?>')
svg.className.baseVal = "barcode";
divDOM.appendChild(svg);
JsBarcode("#barcode","Smallest width",{
    width: 1,
    height: 25,
    lineColor: "#676a6c"
}).init();