Javascript Dymo框架条码打印

Javascript Dymo框架条码打印,javascript,html,printing,Javascript,Html,Printing,一开始,我想说的是,这些都是我一直在努力解决的问题,即在Dymo 450 LabelWriter的标签上打印条形码 dymo网站对我来说是一片混乱。我找的任何东西都找不到一个直截了当的答案。我试着从他们的标签站点拼凑代码,结果成功了。我想在标签上添加条形码 以下是我尝试过的: PrintLabel.js (function() { // called when the document completly loaded function onl

一开始,我想说的是,这些都是我一直在努力解决的问题,即在Dymo 450 LabelWriter的标签上打印条形码

dymo网站对我来说是一片混乱。我找的任何东西都找不到一个直截了当的答案。我试着从他们的标签站点拼凑代码,结果成功了。我想在标签上添加条形码

以下是我尝试过的:

PrintLabel.js

    (function()
    {
        // called when the document completly loaded
        function onload()
        {
            var textTextArea = document.getElementById('textTextArea');
            var barCode = document.getElementById('barCode');
            var printButton = document.getElementById('printButton');

            // prints the label
            printButton.onclick = function()
            {
                try
                {
                    // open label
                    var labelXml = '<?xml version="1.0" encoding="utf-8"?>\
        <DieCutLabel Version="8.0" Units="twips">\
            <PaperOrientation>Landscape</PaperOrientation>\
            <Id>Address</Id>\
            <PaperName>30252 Address</PaperName>\
            <DrawCommands/>\
            <ObjectInfo>\
                <TextObject>\
                    <Name>Text</Name>\
                    <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
                    <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
                    <LinkedObjectName></LinkedObjectName>\
                    <Rotation>Rotation0</Rotation>\
                    <IsMirrored>False</IsMirrored>\
                    <IsVariable>True</IsVariable>\
                    <HorizontalAlignment>Left</HorizontalAlignment>\
                    <VerticalAlignment>Middle</VerticalAlignment>\
                    <TextFitMode>ShrinkToFit</TextFitMode>\
                    <UseFullFontHeight>True</UseFullFontHeight>\
                    <Verticalized>False</Verticalized>\
                    <StyledText/>\
                </TextObject>\
                <Bounds X="332" Y="150" Width="4455" Height="160" />\
            </ObjectInfo>\
         <ObjectInfo>\
             <BarcodeObject>\
                 <Name>Barcode</Name>\
                 <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
                 <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
                 <LinkedObjectName></LinkedObjectName>\
                 <Rotation>Rotation0</Rotation>\
                 <IsMirrored>False</IsMirrored>\
                 <IsVariable>True</IsVariable>\
                 <Text></Text>\
                 <Type>Code39</Type>\
                 <Size>Medium</Size>\
                 <TextPosition>Bottom</TextPosition>\
                 <TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                 <CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                 <TextEmbedding>None</TextEmbedding>\
                 <ECLevel>0</ECLevel>\
                 <HorizontalAlignment>Center</HorizontalAlignment>\
                 <QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
             </BarcodeObject>\
             <Bounds X="224" Y="150" Width="150" Height="120" />\
         </ObjectInfo>\ 
        </DieCutLabel>';
                    var label = dymo.label.framework.openLabelXml(labelXml);

                    // set label text
                    label.setObjectText("Text", textTextArea.value);
                    label.setObjectText("BARCODE", '721');

                    // select printer to print on
                    // for simplicity sake just use the first LabelWriter printer
                    var printers = dymo.label.framework.getPrinters();
                    if (printers.length == 0)
                        throw "No DYMO printers are installed. Install DYMO printers.";

                    var printerName = "";
                    for (var i = 0; i < printers.length; ++i)
                    {
                        var printer = printers[i];
                        if (printer.printerType == "LabelWriterPrinter")
                        {
                            printerName = printer.name;
                            break;
                        }
                    }

                    if (printerName == "")
                        throw "No LabelWriter printers found. Install LabelWriter printer";

                    // finally print the label
                    label.print(printerName);
                }
                catch(e)
                {
                    alert(e.message || e);
                }
            }
        };

        // register onload event
        if (window.addEventListener)
            window.addEventListener("load", onload, false);
        else if (window.attachEvent)
            window.attachEvent("onload", onload);
        else
            window.onload = onload;

    } ());
(函数()
{
//当文档完全加载时调用
函数onload()
{
var textarea=document.getElementById('textarea');
var barCode=document.getElementById('barCode');
var printButton=document.getElementById('printButton');
//打印标签
printButton.onclick=函数()
{
尝试
{
//开放标签
var-labelXml=\
\
景观\
地址\
30252地址\
\
\
\
正文\
\
\
\
旋转0\
假的\
真的\
左\
中间的\
收缩\
真的\
假的\
\
\
\
\
\
\
条形码\
\
\
\
旋转0\
假的\
真的\
\
代码39\
中等\
底部\
\
\
没有\
0\
居中\
\
\
\
\ 
';
var label=dymo.label.framework.openLabelXml(labelXml);
//设置标签文本
label.setObjectText(“Text”,textTextArea.value);
label.setObjectText(“条形码”,“721”);
//选择要打印的打印机
//为了简单起见,只需使用第一台LabelWriter打印机
var printers=dymo.label.framework.getPrinters();
if(printers.length==0)
抛出“未安装DYMO打印机。安装DYMO打印机。”;
var printerName=“”;
对于(变量i=0;i
以下是HTML:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Print a Label</title> 
    <script src = "http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js" type="text/javascript" charset="UTF-8"> </script>
    <script src = "PrintLabel.js" type="text/javascript" charset="UTF-8"> </script>
    </head>

    <body>
    <h2>Lab Label</h2> 

        <div id="textDiv">
           <label for="textTextArea">Label :</label><br/> 
           <textarea name="textTextArea" id="textTextArea"  rows='5' cols='20'>
    <?php echo $name ."\n"; ?>
    <?php echo  date("Y-m-d") . "&#160;&#160;&#160;&#160;&#160;&#160;" .$oid."\n"; ?>


            </textarea>

            <input type="text" id="barCode" value="786">
        </div>

            <div id="printDiv">
                <button id="printButton">Print</button>
            </div>

    </body> 

    </html>

打印标签
实验室标签
标签:
印刷品
我从中添加的内容

站点是条形码对象。我想我可以把它放进去,这样就行了。但是我注意到TextObject代码似乎也没有什么作用


如有任何建议,将不胜感激

下面是Print.js文件的最终代码

    (function()
    {
        // called when the document completly loaded
        function onload()
        {
            var textTextArea = document.getElementById('textTextArea');
            var barCode = document.getElementById('barCode');       
            var printButton = document.getElementById('printButton');

            // prints the label
            printButton.onclick = function()
            {
                try
                {
                    // open label
                    var labelXml = '<?xml version="1.0" encoding="utf-8"?>\
        <DieCutLabel Version="8.0" Units="twips">\
            <PaperOrientation>Landscape</PaperOrientation>\
            <Id>Address</Id>\
            <PaperName>30252 Address</PaperName>\
            <DrawCommands/>\
            <ObjectInfo>\
                <TextObject>\
                    <Name>Text</Name>\
                    <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
                    <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
                    <LinkedObjectName></LinkedObjectName>\
                    <Rotation>Rotation0</Rotation>\
                    <IsMirrored>False</IsMirrored>\
                    <IsVariable>True</IsVariable>\
                    <HorizontalAlignment>Left</HorizontalAlignment>\
                    <VerticalAlignment>Middle</VerticalAlignment>\
                    <TextFitMode>ShrinkToFit</TextFitMode>\
                    <UseFullFontHeight>True</UseFullFontHeight>\
                    <Verticalized>False</Verticalized>\
                    <StyledText/>\
                </TextObject>\
                <Bounds X="332" Y="150" Width="4455" Height="1260" />\
            </ObjectInfo>\
            <ObjectInfo>\
             <BarcodeObject>\
                 <Name>Barcode</Name>\
                 <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
                 <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
                 <LinkedObjectName>BarcodeText</LinkedObjectName>\
                 <Rotation>Rotation0</Rotation>\
                 <IsMirrored>False</IsMirrored>\
                 <IsVariable>True</IsVariable>\
                 <Text>barCode</Text>\
                 <Type>Code128Auto</Type>\
                 <Size>Medium</Size>\
                 <TextPosition>Bottom</TextPosition>\
                 <TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                 <CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                 <TextEmbedding>None</TextEmbedding>\
                 <ECLevel>0</ECLevel>\
                 <HorizontalAlignment>Center</HorizontalAlignment>\
                 <QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />\
             </BarcodeObject>\
             <Bounds X="324" Y="950" Width="3150" Height="520" />\
         </ObjectInfo>\
        </DieCutLabel>';
                    var label = dymo.label.framework.openLabelXml(labelXml);

                    // set label text
                    label.setObjectText("Text", textTextArea.value);
                    label.setObjectText('Barcode', barCode.value);                
                    // select printer to print on
                    // for simplicity sake just use the first LabelWriter printer
                    var printers = dymo.label.framework.getPrinters();
                    if (printers.length == 0)
                        throw "No DYMO printers are installed. Install DYMO printers.";

                    var printerName = "";
                    for (var i = 0; i < printers.length; ++i)
                    {
                        var printer = printers[i];
                        if (printer.printerType == "LabelWriterPrinter")
                        {
                            printerName = printer.name;
                            break;
                        }
                    }

                    if (printerName == "")
                        throw "No LabelWriter printers found. Install LabelWriter printer";

                    // finally print the label
                    label.print(printerName);
                }
                catch(e)
                {
                    alert(e.message || e);
                }
            }
        };

        // register onload event
        if (window.addEventListener)
            window.addEventListener("load", onload, false);
        else if (window.attachEvent)
            window.attachEvent("onload", onload);
        else
            window.onload = onload;

    } ());
(函数()
{
//当文档完全加载时调用
函数onload()
{
var textarea=document.getElementById('textarea');
var barCode=document.getElementById('barCode');
var printButton=document.getElementById('printButton');
//打印标签
printButton.onclick=函数()
{
尝试
{
//开放标签
var-labelXml=\
\
景观\
地址\
30252地址\
\
\
\
正文\
\
\
\
旋转0\
假的\
真的\
左\
中间的\
收缩\
真的\
假的\
\
\
\
\
\
\
条形码\
\
\
条形码文本\
旋转0\
假的\
真的\
条形码\
代码128自动\
中等\
底部\
\
\
没有\
0\
居中\
\
\
\
\
';
var label=dymo.label.framework.openLabelXml(labelXml);
//设置标签文本
label.setObjectText(“Text”,textTextArea.value);
label.setObjectText('Barcode',Barcode.value);