[Gambas-user] Barcode.... Here ya go Hamilton...
Brought to you by:
gambas
From: Stephen B. <sb...@cs...> - 2007-04-27 15:59:36
|
This is the code (slightly modified from the original) for a Module (Mine is called 'BarCodeFunctions') that should do the trick for you (and anyone else who needs to make barcodes). Steve. ' Gambas module file '*********************************************************************** '* Author: Stephen Bungay. '* Date: Sept 15 2006 '* Creates a barcode PNG file using the GNU Barcode '* tool and Imagemagic convert. '* Returns a Picture object. '*********************************************************************** PUBLIC FUNCTION CreateBarCode(pEncodeString AS String, OPTIONAL pGiftCard AS Boolean, pProduction AS Boolean) AS Picture DIM ShellString AS String DIM PathString AS String DIM BarcodePathString AS String DIM ReturnValue AS Picture DIM FilePrefix AS String ' Remove any previopusly created barcode. SHELL "rm -f " & user.Home & "/Barcode-" & pEncodeString & ".png" ' This command creates a 128b barcode... ShellString = BarCodePathString & "barcode -b " & pEncodeString & " -e 128b -o " & "~/Barcode-" & pEncodeString & ".ps" SHELL ShellString WHILE NOT Exist("~/Barcode-" & pEncodeString & ".ps") WAIT 0.4 WEND ShellString = "convert " & "~/Barcode-" & pEncodeString & ".ps -crop 205x80+7+703 " & "~/Barcode-" & pEncodeString & ".png" SHELL ShellString WHILE Exist( "~/Barcode-" & pEncodeString & ".png") = FALSE WAIT 1 WEND SHELL "rm -f " & "~/Barcode-" & pEncodeString & ".ps" WAIT 0.2 ReturnValue = picture.load( "~/Barcode-" & pEncodeString & ".png") RETURN (ReturnValue) END '************************************************************************* '* Print a barcode. '* Takes a filename (PNG File created by the routine above) '* as a parameter. ' * Substutute your printer here. This one uses a '* DYMO_Labelwriter_400 '************************************************************************* PUBLIC SUB PrintBarCode(pFileName AS String) IF FormLauncher.Environment = ModuleConstants.cProduction THEN SHELL "lpr -P DYMO_LabelWriter_400_USB_1 /home/kidscopos/Barcode-" & pFileName ELSE Message.Info("Dev Environment In Use.\n" & "Printing disabled.") END IF END |