Thanks Phillip, perfect solution, we actually found it on adobe as a free download:
http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1020465# > I forget where I've seen it, I think RIAForge has barcode39.cfm. > > It's a nice piece of program and generates lots of different types of > codes. > > Here's the code if you want it.. > > ================ > <!--- =============> ===================================================================== > FILE: barcode39.cfm - Custom tag for Code 39 (3 from 9) > barcodes > VERSION: 1.0 > AUTHOR: Philip Pearson (Inspired by Ryan Masuga's UPCA version) > MODIFIED BY: pears...@aquinas.vic.edu.au > WRITTEN: 17/11/2004 > DESCRIPTION: Writes barcodes in a browser window ready to be printed > and scanned. > COMMENTS: Code 39 specs from www.barcodeman.com ==============> ===================================================================== > ---> > > <!--- These are fairly self explanatory ---> > <cfparam name="Attributes.InputValue" default="INVALID"> > <cfparam name="Attributes.BarWidth" default="2"> > <cfparam name="Attributes.BarHeight" default="50"> > <cfparam name="Attributes.TextTop" default=""> > <cfparam name="Attributes.TextBottom" default=""> > <cfparam name="Attributes.TextFontTop" default="font: bold 14px > Arial, sans-serif"> > <cfparam name="Attributes.TextFontBottom" default="font: bold 18px > Courier, sans-serif"> > <cfparam name="Attributes.MarginTop" default="0"> > <cfparam name="Attributes.MarginBottom" default="0"> > > <!--- Initialize array. Note: not all characters are supported by the > code 39 specification, ---> > <!--- so invalid characters will show as a $ sign. Lowercase not > supported either. ---> > <cfset code39 = ArrayNew(1)> > <cfloop index="i" from="1" to="256"> > <cfset code39[i] = "000001110"> <!--- '$' is default init string > ---> > </cfloop> > > <!--- Load array with all the supported characters' bar attributes > ---> > <cfset code39[32] = "001101000"> <!--- ---> > <cfset code39[36] = "000001110"> <!--- $ ---> > <cfset code39[37] = "000000111"> <!--- % ---> > <cfset code39[42] = "001101000"> <!--- * ---> > <cfset code39[43] = "000001011"> <!--- + ---> > <cfset code39[45] = "000111000"> <!--- - ---> > <cfset code39[46] = "100101000"> <!--- . ---> > <cfset code39[47] = "000001101"> <!--- / ---> > > <cfset code39[48] = "001100100"> <!--- 0 ---> > <cfset code39[49] = "100010100"> <!--- 1 ---> > <cfset code39[50] = "010010100"> <!--- 2 ---> > <cfset code39[51] = "110000100"> <!--- 3 ---> > <cfset code39[52] = "001010100"> <!--- 4 ---> > <cfset code39[53] = "101000100"> <!--- 5 ---> > <cfset code39[54] = "011000100"> <!--- 6 ---> > <cfset code39[55] = "000110100"> <!--- 7 ---> > <cfset code39[56] = "100100100"> <!--- 8 ---> > <cfset code39[57] = "010100100"> <!--- 9 ---> > > <cfset code39[65] = "100010010"> <!--- A ---> > <cfset code39[66] = "010010010"> <!--- B ---> > <cfset code39[67] = "110000010"> <!--- C ---> > <cfset code39[68] = "001010010"> <!--- D ---> > <cfset code39[69] = "101000010"> <!--- E ---> > <cfset code39[70] = "011000010"> <!--- F ---> > <cfset code39[71] = "000110010"> <!--- G ---> > <cfset code39[72] = "100100010"> <!--- H ---> > <cfset code39[73] = "010100010"> <!--- I ---> > <cfset code39[74] = "001100010"> <!--- J ---> > <cfset code39[75] = "100010001"> <!--- K ---> > <cfset code39[76] = "010010001"> <!--- L ---> > <cfset code39[77] = "110000001"> <!--- M ---> > <cfset code39[78] = "001010001"> <!--- N ---> > <cfset code39[79] = "101000001"> <!--- O ---> > <cfset code39[80] = "011000001"> <!--- P ---> > <cfset code39[81] = "000110001"> <!--- Q ---> > <cfset code39[82] = "100100001"> <!--- R ---> > <cfset code39[83] = "010100001"> <!--- S ---> > <cfset code39[84] = "001100001"> <!--- T ---> > <cfset code39[85] = "100011000"> <!--- U ---> > <cfset code39[86] = "010011000"> <!--- V ---> > <cfset code39[87] = "110001000"> <!--- W ---> > <cfset code39[88] = "001011000"> <!--- X ---> > <cfset code39[89] = "101001000"> <!--- Y ---> > <cfset code39[90] = "011001000"> <!--- Z ---> > > <!--- Code 39 specification requires * at the start and end of the > barcode ---> > <cfset Attributes.InputValue = "*" & Attributes.InputValue & "*"> > > <cfoutput> > <span style="#Attributes.TextFontTop#">#Attributes.TextTop#</span> > <div> > <cfloop index="i" from="1" to="#len(Attributes.InputValue)#"> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],1,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: black; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],6,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: white; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],2,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: black; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],7,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: white; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],3,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: black; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],8,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: white; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],4,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: black; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],9,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: white; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:#val(mid(code39[asc(mid(Attributes. > InputValue,i,1))],5,1)*(Attributes.BarWidth)+(Attributes. > BarWidth/2))#px > solid; border-color: black; height: > #Attributes.BarHeight#px;margin-bottom:#Attributes. > MarginBottom#px;margin-top:#Attributes.MarginTop#px;"></span> > <span style="border-right:2px solid; border-color: white; > height: > 50px;margin-bottom:2px;margin-top:2px;"></span> <!--- space between > individual codes ---> > </cfloop> > </div> > <span style="#Attributes.TextFontBottom#">#Attributes. > TextBottom#</span> > </cfoutput> > > > > On Fri, Sep 18, 2009 at 6:02 AM, Richard White <rich...@j7is.co.uk> > wrote: > > > > hi > > > > our software needs to have the ability to generate a barcode gif and > place it on a document. > > > > has anyone done this before, and what is the best method? > > > > thanks > > > > richard > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:326429 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4