COMPILE SUBROUTINE Print_GaN_Label(Parm1,Parm2) /* Print a label to the Zebra 105-s printer 12/07/2016 JCH - Initial coding - J.C.Henry, Inc. 2016 */ DECLARE FUNCTION Set_Printer, Get_Printer, Get_Status, Msg, Printer_Select,Get_Property,Print_Init,Print_End,Print_Text DECLARE FUNCTION obj_Install, Direct_Print, Environment_Services DECLARE SUBROUTINE Set_Status, ErrMsg, Msg $INSERT OIPRINT_EQUATES $INSERT MSG_EQUATES *$INSERT LOCATION_EQUATES EQU PI$LEFT TO 1 EQU PI$TOP TO 2 EQU PI$RIGHT TO 3 EQU PI$BOTTOM TO 4 EQU PI$WIDTH TO 5 EQU PI$HEIGHT TO 6 EQU PI$SIZE TO 7 Parm1 = '69021hvfet' Parm2 = '163138' ErrorTitle = 'WTFO' /* BitMap = obj_Install('Get_Prop','ZebraGRF') ;* Substitute company logo converted to .GRF (Zebra graphics format) OSREAD ImageData FROM BitMap ELSE ErrMsg('Unable to Read ':BitMap:' graphic for use on Carton Labels.') END GRFName = FIELD(BitMap,'.',1) */ * * * * * * * * * * * * *Start Printing Process * * * * * * * * * * * * FileName = "Printing Label" Title = "Printing Label" ;* Initialize Printing FileName = "Printing Label" Title = "Printing Label" ;* Initialize Printing PageInfo = '' PageInfo = 0.1 PageInfo = 0.1 PageInfo = 0.1 PageInfo = 0.1 PageSetup = '1' ;* Landscape PrintSetup = '' ;* Preview * Get List of available printers and associated Ports from Windows OS * AvailPrinters = '' WshNetwork = OleCreateInstance("WScript.Network") Printers = OleCallMethod(WshNetwork, 'EnumPrinterConnections') pCnt = OleGetProperty(Printers, 'Length') For I = 1 To pCnt step 2 thisPort = OleCallMethod(Printers, 'item', I-1) thisPrinter = OleCallMethod(Printers, 'item', I) AvailPrinters<-1> = thisPrinter:@VM:thisPort Next I PrintPath = 'Zebra Text Printer':@VM:'USB001' LOCATE PrintPath IN AvailPrinters USING @FM SETTING Pos ELSE * Put up a popup since we cant find the specified printer END IF PrintPath = '' THEN Def = "" Def = "TA3" Def = 'Destination Printer not Selected..' Def = '' Def = '*' Msg(@WINDOW, Def, '') RETURN END If Environment_Services('GetLabelPrintMethod') _EQC 'OIPI' then stat = Set_Printer("INIT",FileName,Title,PageInfo,PageSetup,PrintSetup,PrintPath) end else stat = Direct_Print('START', PrintPath<1>, '', '') end IF stat < 0 THEN GOTO OIPrint_Err * Label is 203 x 406 dots at 8dots/mm (203 dots/inch) * Leave periodic spaces in Label String - OIPrint interface wraps text on spaces and will cut off * the LabelString if there aren't any spaces. Printer Width needs to be set to 132 or greater LabelString = '^XA' ;* Start of label format LabelString := '^FWR' ;* Field orientation rotated 90 LabelString := '^LH0,0' ;* Label home for 'Landscape' printing DEBUG FOR I = 20 TO 400 STEP 20 LabelString := '^FO':I',0^A0,,12^FS' NEXT I LabelString := '^FO2,2^GB203,102,4,B^FS':CRLF$ ;* Line under Warehouse & Logo /* Company = 'IFX Epi Services' ;* Changed to hardcoded 10/25/2016 dkk LabelString := '^FO0,0^A0,,36^FD':Company:'^FS' LabelString := '^FO450,0^GB0,100,4,B^FS':CRLF$ ;* Vertical Before Lot data LabelString := '^FO20,100^GB1150,0,4,B^FS':CRLF$ ;* Line under Warehouse & Logo */ ********************************************************************************* /* LabelString := '^FO510,320^A0,,40^FDIFX Epi Services^FS':CRLF$ ;* Added Text for 'IFX Epi Services * * * * * * * * * * IF SuppCd NE '' THEN LabelString := '^FO590,430^A0,25^FDSupp Cd (1V):^FS':CRLF$ ;* Label Line - Added 8/17/2005 JCH Supplier Code Info LabelString := '^FO740,430^A0,36,40^FD':SuppCd:'^FS':CRLF$ ;* Readable LabelString := '^FO590,370^BY2^B3,,50,N^FD1V':SuppCd:'^FS':CRLF$ ;* Code 39 Supplier Code - This bar code is in line 1 ;*Changed ^FD' to ^FD1V' - dkk 7/27/15 LabelString := '^BY3,3.0':CRLF$ END * Block 4 2nd Line LabelString := '^FO0,515^A0,25^FD':CassIDLabel :'^FS':CRLF$ ;* Label Line LabelString := '^FO130,515^A0,36,40^FD':CassID:'^FS':CRLF$ ;* Readable LabelString := '^FO340,515^BY2^B3,,40,N^FD':CassID:'^FS':CRLF$ ;* Code 39 (This is the Cass ID) ;*Changed ^FD' to ^FD1T' - dkk 7/30/15 LabelString := '^BY3,3.0':CRLF$ */ ******************************************************************************** /* BCString = Top:'*':Bottom SWAP '*' WITH '/J' IN BCString NarrowBarWidth = 2 LabelString := '^FO424,110^BY':NarrowBarWidth:',,^B3,N,150,Y,^FD':BCString:'^FS':CRLF$ ;* BarCode LabelString := '^FO20,300^A0,40^FDWTop: ^FS':CRLF$ ;* Warehouse Label LabelString := '^FO230,300^A0,40^FD':Top:'^FS':CRLF$ ;* Warehouse Data *LabelString := '^FO450,300^A0,40^FDBottom: ^FS':CRLF$ *LabelString := '^FO620,300^A0,40^FD':Bottom:'^FS':CRLF$ LabelString := '^FO20,340^GB1150,0,4,B^FS':CRLF$ ;* Line 1.25" down the label LabelString := '^FO20,580^GB1150,0,4,B^FS':CRLF$ ;* Line 1.25" down the label */ LabelString := '^XZ':CRLF$ If Environment_Services('GetLabelPrintMethod') _EQC 'OIPI' then stat = Set_Printer('TEXT',LabelString) end else stat = Direct_Print('PRINT', LabelString) end * * * * * * * OIPrint_Err: * * * * * * * If Environment_Services('GetLabelPrintMethod') _EQC 'OIPI' then stat = Set_Printer("TERM") end else stat = Direct_Print('STOP') end RETURN