如何使用jquery打印多个条形码图像

时间:2015-12-01 12:12:03

标签: javascript jquery barcode barcode-printing

我使用此代码生成了多个条形码:

function getCode() {
    var multipleCodes = document.getElementById('codeArea').value;
    var eachLine = multipleCodes.split('\n');
    console.log("eachLine = " + eachLine);
    for (var i = 0; i < eachLine.length; i++) {
        console.log("Inside loop: " + eachLine[i]);

        var div = document.createElement('iframe');
        div.innerHTML = "";

        div.setAttribute('id', 'iFrameID' + i);
        document.body.appendChild(div);
        document.getElementById('iFrameID' + i).src = 'barCodeGenerator/generateBarCode.php?q=' + eachLine[i];

    }

并尝试使用此方法打印它:

function printDiv(divName) {
    var strName = document.getElementById("codeArea").value;
    var imageId = document.getElementsByClassName('decoded');

    var imagObject = new Image();
    imagObject = imageId;
    var originalImage = '<img id="imageViewer" src="' + imageSrc + '" style="padding-top: 20px"   alt="' + imageSrc + '" />';
    popup = window.open('', 'popup', 'toolbar=no,menubar=no,width=700,height=650');
    popup.document.open();
    popup.document.write("<html><head></head><body onload='print()'>");
    popup.document.write(originalImage);
    popup.document.write("</body></html>");
    window.close('popup');
    popup.document.close();
    setTimeout(function () { popup.close(); }, 8000);
}

仅通过合并所有条形码来打印单个图像。 如何将它们作为多个图像单独打印。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

此代码的大部分内容与您的问题无关。考虑删除您的日志,显示弹出窗口的部分并隐藏它以获得更多间隙。

代码中的imageSrc变量似乎包含一个图像的来源,因此您需要通过发送图像源数组并迭代它来更改代码:

var originalImage = '';
// assuming imageSrc is an array of image sources
for (var i=; i < imageSrc.length; i++) {

    // note that I'm changing the id of the image a litle bit to ensure it will remain unique
    originalImage  += '<img id="imageViewer' + i + '" src="' + imageSrc[i] + '" style="padding-top: 20px"   alt="' + imageSrc[i] + '" />';

}

然后你的其余代码必须工作。