2013-04-03 6 views
7

मैं सिर्फ एपीआई के प्रिंटर को वेब पेज से कॉल करना चाहता हूं। और बस इसमें कुछ सामान प्रिंट करना चाहते हैं। मैंने अभी तक किया है।जावास्क्रिप्ट का उपयोग कर डिमोलोबेल प्रिंटर में प्रिंट कैसे करें?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> 
<html> 
    <head> 
     <title>Sample DYMO Label Plug-In</title> 


      <script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js" 
      type="text/javascript" charset="UTF-8"> 


      function OnLoad() 
      { 
       //GetCurrentPlugin(); 
       GetDYMOPrinters(); 

       //GetPaperTray(); 
       //GetMRUList(); 
       //GetObjectNames(); 
       //GetLabelImage(); 
      } 


      function GetDYMOPrinters() 
      { 
       alert(" Testing 1"); 

       var printers = dymo.label.framework.getPrinters(); 
       if (printers.length == 0) 
       throw "No DYMO printers are installed. Install DYMO printers."; 
       alert("dfdsfd"); 
       var printerName = ""; 
       for (var i = 0; i < printers.length; ++i) 
       { 
        var printer = printers[i]; 
        if (printer.printerType == "LabelWriterPrinter") 
        { 
         printerName = printer.name; 
         break; 
        } 
       } 

      var label = DYMO.Label.Framework.Label.Open("MyText.label"); 
      label.SetObjectText("NameTxt", "John Smith"); 

      alert(" Testing 2"); // Here this alert also not working . 
      label.print("DYMO LabelWriter 310"); 
      } 
    </script> 

    </head> 
    <body onload="OnLoad()"> 
     <form action="" method="post" id="DYMOLabel"> 
     <center> 
     <h2>DYMO Label Example</h2> 
     <input type=button value="Get DYMO Printers" onClick="GetDYMOPrinters()"> 
    </center> 
    </form> 




    </body> 
</html> 

लेकिन यहां कुछ भी नहीं होगा, क्या मुझे कुछ आयात करने या शामिल करने की आवश्यकता है। कृपया कुछ सुझाव दें ..

+0

जब मैं अपने कोड चलाने यह मेरे Uncaught ReferenceError पता चलता है: 40 GetDYMOPrinters sample_dymo.html: DYMO sample_dymo.html परिभाषित नहीं है 40 onclick – newBike

उत्तर

6

आपका <script>-"DYMO.Label.Framework.latest.js" एम्बेड करने के लिए टैग एक और स्क्रिप्ट टैग के अंदर है। इसे बाहर ले जाएं और आपके कार्यों को चलाना चाहिए:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> 
<html> 
<head> 
    <title>Sample DYMO Label Plug-In</title> 
    <!-- LabelWriter-API first --> 
    <script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js"></script> 
    <!-- your script second --> 
    <script> 
    ... 
+0

धन्यवाद मैं कार्यक्षमताओं काम मिल गया ... क्या आप जानते हैं कुछ पाठ या लेबल मुद्रित करने के लिए प्रिंटर को कैसे कॉल करें। मैंने सभी डिमो सामान स्थापित किए हैं। –

+1

मैंने थोड़ा सा खोज किया और यह नमूना पाया पृष्ठ: http://labelwriter.com/software/dls/sdk/samples/js/PreviewAndPrintLabel/PreviewAndPrintLabel.html पूर्वावलोकन औरPrintLabel.js को देखें, मूल रूप से यह एक लेबल-एक्सएमएल सेट लोड करता है पता पाठ और इसे प्रिंट करता है। – robbi5

+0

बहुत बहुत धन्यवाद, मैं इसके माध्यम से जाऊंगा। –

2

एकाधिक कोड मुद्रित करने के लिए मेरा कोड यहां है। मैंने आपकी मदद के लिए टिप्पणियां जोड़ दी हैं। कृपया इस के माध्यम से जाओ और यदि आपको कोई संदेह है तो मुझसे पूछो। मैं यहां आपके संदर्भ के लिए अपना एचटीएमएल शामिल नहीं कर सकता।

//---------------------------------------------------------------------------- 
// 
// PrintMultipleLabel.js 2014-11-07 : Vineesh K S 
// 
// Content ------------------------------------------------------------------- 
// 
// DYMO Label Framework JavaScript Library : 
// Print Single or multiple label 
// Mark-up Added 
// 
//---------------------------------------------------------------------------- 
// 
// Copyright (c), 2010, Sanford, L.P. All Rights Reserved. 
// 
//---------------------------------------------------------------------------- 


    function escapeXml(xmlStr) 
    { 
     var result = xmlStr; 
     var findReplace = [[/&/g, "&amp;"], [/</g, "&lt;"], [/>/g, "&gt;"], [/"/g, "&quot;"]]; 

     for(var i = 0; i < findReplace.length; ++i) 
      result = result.replace(findReplace[i][0], findReplace[i][1]); 

     return result; 
    } 


    // call this function on onclick function of print button 
    function printLabel() 
    { 
     //comma separated values of record IDs 
     var hidn_ids_array = $('#hidn_ids').val().split(","); 
     // if text area is null 
     var labelPrint_val = $('#labelPrint').val();   
     if(labelPrint_val == ""){ 
     alert("Please enter values to print label"); 
     $("#labelPrint").focus(); 
     return; 
     } 

     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>Center</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>\ 
       </DieCutLabel>'; 
       var label = dymo.label.framework.openLabelXml(labelXml); 
       if (!label) 
       { 
        alert("Load label before printing"); 
        return; 
       } 
       // set data using LabelSet and text markup 
       var labelSet = new dymo.label.framework.LabelSetBuilder(); 

       var textMarkup = ''; 
       var fontSize = 18; // sets font size of first line 
       // loop started for adding multiple record. 
       $.each(hidn_ids_array,function(i) 
       {    
        ////get each Id 
        labelid = hidn_ids_array[i];      
        var textTextArea = document.getElementById('labelPrint'+labelid);// text area id 

        if(textTextArea.value !='') 
        { 
         var lines = textTextArea.value.split('\n'); 
         // adding markup     
         var boldLinesCount = lines.length <= 3 ? 1 : 2; 
         // if no. of lines is more than 3 then apply style to first 2 lines. 

         if (lines.length > 0) 
         {      
          textMarkup = '<b><font family="Arial" size="' + fontSize + '">'; 
          textMarkup += escapeXml(lines.slice(0, boldLinesCount).join('\n')); 
          textMarkup += '</font></b><br/>'; 
          textMarkup += escapeXml(lines.slice(boldLinesCount).join('\n')); 
         } 
         /////////////add record to printer object//////////////// 
         //alert(textMarkup);       
         var record = labelSet.addRecord(); 
         record.setTextMarkup('Text', textMarkup); // set label text 
        } 


       }); 
       // select printer to print on 
       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"; 
       // print the label 
       label.print(printerName, null, labelSet.toString()); 
      } 
      catch(e) 
      { 
       alert(e.message || e); 
      } 
    } 
+0

क्या आप मुझे बता सकते हैं कि उपरोक्त में बारकोड कैसे जोड़ें? –

+0

कृपया यह यूआरएल जांचें: http://developers.dymo.com/2010/07/21/how-to-set-data-on-your-label-using-the-sdk/ –

+0

मैं एक एक्सएमएल टेम्पलेट सेट कर रहा हूं मेरे डिमो लेबल प्रिंट करें। यह एक बारकोड प्रिंट कर रहा है जो पता है, मुझे लगता है। मैं इसे एक निर्दिष्ट मान मुद्रित कैसे करूं, जैसे एक आईडी जिसे मैं प्रिंट फ़ंक्शन में पास कर सकता हूं? –

संबंधित मुद्दे