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:326428
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to