Generating bar code in PHP is very simple, You need a barcode.php library for this. Follow the steps given below.
Step 1:
Download barcode library
OR
Create a file barcode.php and paste code given below
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | <?php /* * Author David S. Tufts * Company davidscotttufts.com * * Date: 05/25/2003 * Usage: <img src="/barcode.php?text=testing" alt="testing" /> */ // For demonstration purposes, get pararameters that are passed in through $_GET or set to the default value $filepath = (isset($_GET["filepath"])?$_GET["filepath"]:""); $text = (isset($_GET["text"])?$_GET["text"]:"0"); $size = (isset($_GET["size"])?$_GET["size"]:"20"); $orientation = (isset($_GET["orientation"])?$_GET["orientation"]:"horizontal"); $code_type = (isset($_GET["codetype"])?$_GET["codetype"]:"code128"); $print = (isset($_GET["print"])&&$_GET["print"]=='true'?true:false); $sizefactor = (isset($_GET["sizefactor"])?$_GET["sizefactor"]:"1"); // This function call can be copied into your project and can be made from anywhere in your code barcode( $filepath, $text, $size, $orientation, $code_type, $print, $sizefactor ); function barcode( $filepath="", $text="0", $size="20", $orientation="horizontal", $code_type="code128", $print=false, $SizeFactor=1 ) { $code_string = ""; // Translate the $text into barcode the correct $code_type if ( in_array(strtolower($code_type), array("code128", "code128b")) ) { $chksum = 104; // Must not change order of array elements as the checksum depends on the array's key to validate final code $code_array = array(" "=>"212222","!"=>"222122","\""=>"222221","#"=>"121223","$"=>"121322","%"=>"131222","&"=>"122213","'"=>"122312","("=>"132212",")"=>"221213","*"=>"221312","+"=>"231212",","=>"112232","-"=>"122132","."=>"122231","/"=>"113222","0"=>"123122","1"=>"123221","2"=>"223211","3"=>"221132","4"=>"221231","5"=>"213212","6"=>"223112","7"=>"312131","8"=>"311222","9"=>"321122",":"=>"321221",";"=>"312212","<"=>"322112","="=>"322211",">"=>"212123","?"=>"212321","@"=>"232121","A"=>"111323","B"=>"131123","C"=>"131321","D"=>"112313","E"=>"132113","F"=>"132311","G"=>"211313","H"=>"231113","I"=>"231311","J"=>"112133","K"=>"112331","L"=>"132131","M"=>"113123","N"=>"113321","O"=>"133121","P"=>"313121","Q"=>"211331","R"=>"231131","S"=>"213113","T"=>"213311","U"=>"213131","V"=>"311123","W"=>"311321","X"=>"331121","Y"=>"312113","Z"=>"312311","["=>"332111","\\"=>"314111","]"=>"221411","^"=>"431111","_"=>"111224","`"=>"111422","a"=>"121124","b"=>"121421","c"=>"141122","d"=>"141221","e"=>"112214","f"=>"112412","g"=>"122114","h"=>"122411","i"=>"142112","j"=>"142211","k"=>"241211","l"=>"221114","m"=>"413111","n"=>"241112","o"=>"134111","p"=>"111242","q"=>"121142","r"=>"121241","s"=>"114212","t"=>"124112","u"=>"124211","v"=>"411212","w"=>"421112","x"=>"421211","y"=>"212141","z"=>"214121","{"=>"412121","|"=>"111143","}"=>"111341","~"=>"131141","DEL"=>"114113","FNC 3"=>"114311","FNC 2"=>"411113","SHIFT"=>"411311","CODE C"=>"113141","FNC 4"=>"114131","CODE A"=>"311141","FNC 1"=>"411131","Start A"=>"211412","Start B"=>"211214","Start C"=>"211232","Stop"=>"2331112"); $code_keys = array_keys($code_array); $code_values = array_flip($code_keys); for ( $X = 1; $X <= strlen($text); $X++ ) { $activeKey = substr( $text, ($X-1), 1); $code_string .= $code_array[$activeKey]; $chksum=($chksum + ($code_values[$activeKey] * $X)); } $code_string .= $code_array[$code_keys[($chksum - (intval($chksum / 103) * 103))]]; $code_string = "211214" . $code_string . "2331112"; } elseif ( strtolower($code_type) == "code128a" ) { $chksum = 103; $text = strtoupper($text); // Code 128A doesn't support lower case // Must not change order of array elements as the checksum depends on the array's key to validate final code $code_array = array(" "=>"212222","!"=>"222122","\""=>"222221","#"=>"121223","$"=>"121322","%"=>"131222","&"=>"122213","'"=>"122312","("=>"132212",")"=>"221213","*"=>"221312","+"=>"231212",","=>"112232","-"=>"122132","."=>"122231","/"=>"113222","0"=>"123122","1"=>"123221","2"=>"223211","3"=>"221132","4"=>"221231","5"=>"213212","6"=>"223112","7"=>"312131","8"=>"311222","9"=>"321122",":"=>"321221",";"=>"312212","<"=>"322112","="=>"322211",">"=>"212123","?"=>"212321","@"=>"232121","A"=>"111323","B"=>"131123","C"=>"131321","D"=>"112313","E"=>"132113","F"=>"132311","G"=>"211313","H"=>"231113","I"=>"231311","J"=>"112133","K"=>"112331","L"=>"132131","M"=>"113123","N"=>"113321","O"=>"133121","P"=>"313121","Q"=>"211331","R"=>"231131","S"=>"213113","T"=>"213311","U"=>"213131","V"=>"311123","W"=>"311321","X"=>"331121","Y"=>"312113","Z"=>"312311","["=>"332111","\\"=>"314111","]"=>"221411","^"=>"431111","_"=>"111224","NUL"=>"111422","SOH"=>"121124","STX"=>"121421","ETX"=>"141122","EOT"=>"141221","ENQ"=>"112214","ACK"=>"112412","BEL"=>"122114","BS"=>"122411","HT"=>"142112","LF"=>"142211","VT"=>"241211","FF"=>"221114","CR"=>"413111","SO"=>"241112","SI"=>"134111","DLE"=>"111242","DC1"=>"121142","DC2"=>"121241","DC3"=>"114212","DC4"=>"124112","NAK"=>"124211","SYN"=>"411212","ETB"=>"421112","CAN"=>"421211","EM"=>"212141","SUB"=>"214121","ESC"=>"412121","FS"=>"111143","GS"=>"111341","RS"=>"131141","US"=>"114113","FNC 3"=>"114311","FNC 2"=>"411113","SHIFT"=>"411311","CODE C"=>"113141","CODE B"=>"114131","FNC 4"=>"311141","FNC 1"=>"411131","Start A"=>"211412","Start B"=>"211214","Start C"=>"211232","Stop"=>"2331112"); $code_keys = array_keys($code_array); $code_values = array_flip($code_keys); for ( $X = 1; $X <= strlen($text); $X++ ) { $activeKey = substr( $text, ($X-1), 1); $code_string .= $code_array[$activeKey]; $chksum=($chksum + ($code_values[$activeKey] * $X)); } $code_string .= $code_array[$code_keys[($chksum - (intval($chksum / 103) * 103))]]; $code_string = "211412" . $code_string . "2331112"; } elseif ( strtolower($code_type) == "code39" ) { $code_array = array("0"=>"111221211","1"=>"211211112","2"=>"112211112","3"=>"212211111","4"=>"111221112","5"=>"211221111","6"=>"112221111","7"=>"111211212","8"=>"211211211","9"=>"112211211","A"=>"211112112","B"=>"112112112","C"=>"212112111","D"=>"111122112","E"=>"211122111","F"=>"112122111","G"=>"111112212","H"=>"211112211","I"=>"112112211","J"=>"111122211","K"=>"211111122","L"=>"112111122","M"=>"212111121","N"=>"111121122","O"=>"211121121","P"=>"112121121","Q"=>"111111222","R"=>"211111221","S"=>"112111221","T"=>"111121221","U"=>"221111112","V"=>"122111112","W"=>"222111111","X"=>"121121112","Y"=>"221121111","Z"=>"122121111","-"=>"121111212","."=>"221111211"," "=>"122111211","$"=>"121212111","/"=>"121211121","+"=>"121112121","%"=>"111212121","*"=>"121121211"); // Convert to uppercase $upper_text = strtoupper($text); for ( $X = 1; $X<=strlen($upper_text); $X++ ) { $code_string .= $code_array[substr( $upper_text, ($X-1), 1)] . "1"; } $code_string = "1211212111" . $code_string . "121121211"; } elseif ( strtolower($code_type) == "code25" ) { $code_array1 = array("1","2","3","4","5","6","7","8","9","0"); $code_array2 = array("3-1-1-1-3","1-3-1-1-3","3-3-1-1-1","1-1-3-1-3","3-1-3-1-1","1-3-3-1-1","1-1-1-3-3","3-1-1-3-1","1-3-1-3-1","1-1-3-3-1"); for ( $X = 1; $X <= strlen($text); $X++ ) { for ( $Y = 0; $Y < count($code_array1); $Y++ ) { if ( substr($text, ($X-1), 1) == $code_array1[$Y] ) $temp[$X] = $code_array2[$Y]; } } for ( $X=1; $X<=strlen($text); $X+=2 ) { if ( isset($temp[$X]) && isset($temp[($X + 1)]) ) { $temp1 = explode( "-", $temp[$X] ); $temp2 = explode( "-", $temp[($X + 1)] ); for ( $Y = 0; $Y < count($temp1); $Y++ ) $code_string .= $temp1[$Y] . $temp2[$Y]; } } $code_string = "1111" . $code_string . "311"; } elseif ( strtolower($code_type) == "codabar" ) { $code_array1 = array("1","2","3","4","5","6","7","8","9","0","-","$",":","/",".","+","A","B","C","D"); $code_array2 = array("1111221","1112112","2211111","1121121","2111121","1211112","1211211","1221111","2112111","1111122","1112211","1122111","2111212","2121112","2121211","1121212","1122121","1212112","1112122","1112221"); // Convert to uppercase $upper_text = strtoupper($text); for ( $X = 1; $X<=strlen($upper_text); $X++ ) { for ( $Y = 0; $Y<count($code_array1); $Y++ ) { if ( substr($upper_text, ($X-1), 1) == $code_array1[$Y] ) $code_string .= $code_array2[$Y] . "1"; } } $code_string = "11221211" . $code_string . "1122121"; } // Pad the edges of the barcode $code_length = 20; if ($print) { $text_height = 30; } else { $text_height = 0; } for ( $i=1; $i <= strlen($code_string); $i++ ){ $code_length = $code_length + (integer)(substr($code_string,($i-1),1)); } if ( strtolower($orientation) == "horizontal" ) { $img_width = $code_length*$SizeFactor; $img_height = $size; } else { $img_width = $size; $img_height = $code_length*$SizeFactor; } $image = imagecreate($img_width, $img_height + $text_height); $black = imagecolorallocate ($image, 0, 0, 0); $white = imagecolorallocate ($image, 255, 255, 255); imagefill( $image, 0, 0, $white ); if ( $print ) { imagestring($image, 5, 31, $img_height, $text, $black ); } $location = 10; for ( $position = 1 ; $position <= strlen($code_string); $position++ ) { $cur_size = $location + ( substr($code_string, ($position-1), 1) ); if ( strtolower($orientation) == "horizontal" ) imagefilledrectangle( $image, $location*$SizeFactor, 0, $cur_size*$SizeFactor, $img_height, ($position % 2 == 0 ? $white : $black) ); else imagefilledrectangle( $image, 0, $location*$SizeFactor, $img_width, $cur_size*$SizeFactor, ($position % 2 == 0 ? $white : $black) ); $location = $cur_size; } // Draw barcode to the screen or save in a file if ( $filepath=="" ) { header ('Content-type: image/png'); imagepng($image); imagedestroy($image); } else { imagepng($image,$filepath); imagedestroy($image); } } ?> |
Step 2:
Write code in your PHP file, where you want to display Barcode. Example given below.
1 2 3 4 | <?php $text ="123456"; ?> <img alt="Serial No." src='barcode.php?codetype=Code39&size=40&text=<?php echo $text; ?>&print=true'/> |