by cdmmaui » Fri Sep 21, 2012 1:02 pm
Hi Jack,
I am printing direct to Zebra and Intermec printers using the following code. The text in aLabel is the Intermec coding, you can change to Zebra's ZPL.
// Init...
nPort := 9100
cIPAddr := "192.168.1.125"
aLabel := {}
cDat := ""
// Init...
AADD( aLabel, 'CLL' )
AADD( aLabel, 'FONT "Swiss 721 BT",20' )
AADD( aLabel, 'DIR 1' )
AADD( aLabel, 'ALIGN 5' )
AADD( aLabel, 'PRPOS 400,925' )
AADD( aLabel, 'PRTXT "ABC COMPANY' )
AADD( aLabel, 'FONT "Swiss 721 BT",32' )
AADD( aLabel, 'ALIGN 5' )
AADD( aLabel, 'PRPOS 400,800' )
AADD( aLabel, 'PRTXT "' + cMrNo + '"' )
AADD( aLabel, 'FONT "Swiss 721 BT",14' )
AADD( aLabel, 'ALIGN 5' )
AADD( aLabel, 'PRPOS 400,700' )
AADD( aLabel, 'PRTXT "CUSTOMER: XYZ"' )
AADD( aLabel, 'PRPOS 030,600' )
AADD( aLabel, 'FONT "Swiss 721 BT",14' )
AADD( aLabel, 'ALIGN 1' )
AADD( aLabel, 'PRTXT "NO.: ' + cNo + '"' )
AADD( aLabel, 'PRPOS 460,600' )
AADD( aLabel, 'PRTXT "PKG NO: ' + LTRIM(STR(nStart,9)) + ' OF ' + LTRIM(STR(VAL(cPkg_rcv),9)) + '"' )
AADD( aLabel, 'PRPOS 030,525' )
AADD( aLabel, 'PRTXT "P.O. NO.: ' + cPo + '"' )
AADD( aLabel, 'PRPOS 460,525' )
AADD( aLabel, 'PRTXT "PKG TYPE: ' + cPkg + '"' )
AADD( aLabel, 'PRPOS 030,450' )
AADD( aLabel, 'PRTXT "LBS: ' + LTRIM(TRANSF(nLbs,"999,999.99")) + '"' )
AADD( aLabel, 'PRPOS 030,375' )
AADD( aLabel, 'PRTXT "DIMS: ' + cDims + '"' )
AADD( aLabel, 'PRPOS 030,300' )
AADD( aLabel, 'PRTXT "DATE RECEIVED: ' + DTOC( dRecv ) + '"' )
AADD( aLabel, 'PRPOS 030,225' )
AADD( aLabel, 'PRTXT "PIECE NO: ' + LTRIM(STR(nPcno,9)) + '"' )
AADD( aLabel, 'PRPOS 400,110' )
AADD( aLabel, 'DIR 1' )
AADD( aLabel, 'ALIGN 2' )
AADD( aLabel, 'BARTYPE "CODE128"' )
AADD( aLabel, 'PRBAR "' + cBarcode + '"' )
AADD( aLabel, 'PRINTFEED' )
FOR nX1=1 TO LEN(aLabel)
cDat += aLabel[nX1] + CRLF
NEXT nX1
FWRITE( hHan, cDat )
SENDDATA( nPort, cIPAddr, cDat )
RETURN (.T.)
//-----------------------------------------------------------------------------
STATIC FUNCTION SENDDATA( nPort, cIP, cMsg )
LOCAL oSocket := TSocket():New( nPort )
oSocket:bConnect := { || oSocket:SendData( "MSG " + cMsg ),;
oSocket:End() }
oSocket:Connect( cIP )
RETURN NIL