Normal Topic Print Labels easily (Read 312 times)
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Print Labels easily
May 3rd, 2009 at 2:41pm
Print Post Print Post  
I'm using a Brother QL580n label printer, but I'm sure any label printer that can be connected to a PC has a driver that would make the following code work.  It works great, and prints directly to the print driver, so no need to keep up with a 3rd party app (Word, WordPro, etc).

The following code print perfectly to the Brother QL580n label printer.  There was an article in InsideSesame this month to allow printing to Brother label printers, involving import and export, merge, a Windows VBscript file, and a downloaded Brother document object.  But I like the simplicity and reliability of PrintString. 

PrintLabel command button on my SalesOrder screen:Shockedn Element Entry

var vSONum as String
var vClientID as String
var vSODate as Date
var vOrderer as String
var vClientPO as String
var vCount as Int
var vLoop as Int

var vAnswer as Int
var vFinal as Int

vSONum = @FORMFIELDVALUE("Orders","SONum",0)
vClientID = @FORMFIELDVALUE("Orders","ClientID",0)
vSODate = @FORMFIELDVALUE("Orders","SODate",0)
vOrderer = @FORMFIELDVALUE("Orders","Orderer",0)
vClientPO = @FORMFIELDVALUE("Orders","ClientPO",0)

If @Mode() < 2
    {
     vAnswer = @PromptForUserInput("How many labels for this order would you like to print?", "")
     vFinal = @ToNumber(vAnswer)
     vCount = vFinal
     If vCount > 0
     {
     For vLoop = 1 To vCount
        NewPage(840, 240)                        
        PrintPageOrientation(2)                      // sets landscape orientation
        AlternateDefaultPrinter("wcLabel1")     // use the label printer

        PrintString("ClientID: " + vClientID, 6, 6, 0, " ARIAL", 12, 0)
        PrintString("Date: " + vSODate, 150, 6, 0, " ARIAL", 9, 0)
        PrintString("For: " + vOrderer, 6, @PageExtentY(), 60, " ARIAL", 10, 0)
        PrintString("ClientPO#: " + vClientPO, -1, -1, 0, " ARIAL", 10, 0)
        PrintString("Sales Order #: " + vSONum, 6, @PageExtentY(), 0, " ARIAL", 10, 0)
        PrintString("---------------------------------------------------", 6, @PageExtentY(), 0, " ARIAL", 10, 0)
        PrintString("MyCompany   xxx-xxx-xxxx", 10, @PageExtentY(), 0, " ARIAL", 9, 0)

      FinishPage()
     Next
      RestoreDefaultPrinter()              // return to default printer as printer
     
     }
    }
  

Larry
Back to top
IP Logged