Generate barcode in php
Generate barcode php
In our previous article I have discussed about how to make qr code in php and Now in this article, I am going to discuss you how to make barcode in the easiest way. Our all article is about making something easiest way. So let’s start:-
Note: to see video tutorial of this post scroll down, the video is just under this post.
First of all, I have used 2 pages and 1 barcode plugins of php.
Files are :
- index.php
- barcode.php
- barcode128.php (This is the pluggins)
Now insert the codes in the following pages –
index.php
<!DOCTYPE html> <html> <head> <title>Barcode</title> </head> <body> <form method="post" action="barcode.php"> Type text :<input type="text" name="generate"><br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
barcode.php
<?php include 'barcode128.php'; echo '<center><div style="height: 30%; width: 50%;">'; echo '<p>'.bar128(stripcslashes($_POST['generate'])).'</p>'; echo '</div></center>'; ?>
barcode128.php
<?php ?> <style> div.b128{ border-left: 1px black solid; height: 60px; } </style> <?php global $char128asc,$char128charWidth; $char128asc=' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'; $char128wid = array( '212222','222122','222221','121223','121322','131222','122213','122312','132212','221213', // 0-9 '221312','231212','112232','122132','122231','113222','123122','123221','223211','221132', // 10-19 '221231','213212','223112','312131','311222','321122','321221','312212','322112','322211', // 20-29 '212123','212321','232121','111323','131123','131321','112313','132113','132311','211313', // 30-39 '231113','231311','112133','112331','132131','113123','113321','133121','313121','211331', // 40-49 '231131','213113','213311','213131','311123','311321','331121','312113','312311','332111', // 50-59 '314111','221411','431111','111224','111422','121124','121421','141122','141221','112214', // 60-69 '112412','122114','122411','142112','142211','241211','221114','413111','241112','134111', // 70-79 '111242','121142','121241','114212','124112','124211','411212','421112','421211','212141', // 80-89 '214121','412121','111143','111341','131141','114113','114311','411113','411311','113141', // 90-99 '114131','311141','411131','211412','211214','211232','23311120' ); // 100-106 ////Define Function function bar128($text) { // Part 1, make list of widths global $char128asc,$char128wid; $w = $char128wid[$sum = 104]; // START symbol $onChar=1; for($x=0;$x<strlen($text);$x++) // GO THRU TEXT GET LETTERS if (!( ($pos = strpos($char128asc,$text[$x])) === false )){ // SKIP NOT FOUND CHARS $w.= $char128wid[$pos]; $sum += $onChar++ * $pos; } $w.= $char128wid[ $sum % 103 ].$char128wid[106]; //Check Code, then END //Part 2, Write rows $html="<table cellpadding=0 cellspacing=0><tr>"; for($x=0;$x<strlen($w);$x+=2) // code 128 widths: black border, then white space $html .= "<td><div class=\"b128\" style=\"border-left-width:{$w[$x]};width:{$w[$x+1]}\"></div>"; return "$html<tr><td colspan=".strlen($w)." align=center><font family=arial size=2><b>$text</table>"; } ?>
After implementing this codes you will be able to generate barcode in your project. Hope this article is helpfull to you. If so, then please subscribe and stey with us.
Related posts
hi sir!thanks for this tutorial..
i have a question..i[‘ve tried your codes and its working..but when i put in codeigniter it doesnt work properly..
help me pls!thanks
Check this link http://datainflow.com/qr-code-generator-using-codeigniter-framework-php/
I tried your code and it is awesome. How can I lower the height of the bars?
Hi sir, i tried your code and it works properly.
but i tried putting it inside and under html tag and the barcode doesn’t show properly, then i tried putting the whole html tag under the php then it works. but i need it inside the html tag. how do i do that?
Can you show your code, please.
it is not working when i m reading by code reader
Please show your code.
i try this ….its generated barcodes…but its not read by barcode scanner.
pls advice me ….
Thank you