Hi…
I saw this thread I tried this code:
<?php
$bc = new barCode();
$bc->build('LO130319001');
class barCode
{
public $bcHeight, $bcThinWidth, $bcThickWidth, $bcFontSize, $mode;
function __construct($mode='gif', $height=25, $thin=1, $thick=2, $fSize=1)
{
$this->bcHeight = $height;
$this->bcThinWidth = $thin;
$this->bcThickWidth = $this->bcThinWidth * $thick;
$this->fontSize = $fSize;
$this->mode = $mode;
$this->outMode = array('gif'=>'gif', 'png'=>'png', 'jpeg'=>'jpeg', 'wbmp'=>'vnd.wap.wbmp');
$this->codeMap = array(
'0'=>'000110100', '1'=>'100100001', '2'=>'001100001', '3'=>'101100000',
'4'=>'000110001', '5'=>'100110000', '6'=>'001110000', '7'=>'000100101',
'8'=>'100100100', '9'=>'001100100', 'A'=>'100001001', 'B'=>'001001001',
'C'=>'101001000', 'D'=>'000011001', 'E'=>'100011000', 'F'=>'001011000',
'G'=>'000001101', 'H'=>'100001100', 'I'=>'001001100', 'J'=>'000011100',
'K'=>'100000011', 'L'=>'001000011', 'M'=>'101000010', 'N'=>'000010011',
'O'=>'100010010', 'P'=>'001010010', 'Q'=>'000000111', 'R'=>'100000110',
'S'=>'001000110', 'T'=>'000010110', 'U'=>'110000001', 'V'=>'011000001',
'W'=>'111000000', 'X'=>'010010001', 'Y'=>'110010000', 'Z'=>'011010000',
' '=>'011000100', '$'=>'010101000', '%'=>'000101010', '*'=>'010010100',
'+'=>'010001010', '-'=>'010000101', '.'=>'110000100', '/'=>'010100010'
);
}
public function build($text='', $showText=false, $fileName=null)
{
if (trim($text) <= ' ')
throw new exception('barCode::build - must be passed text to operate');
if (!$fileType = $this->outMode[$this->mode])
throw new exception("barCode::build - unrecognized output format ({$this->mode})");
if (!function_exists("image{$this->mode}"))
throw new exception("barCode::build - unsupported output format ({$this->mode} - check phpinfo)");
$text = strtoupper($text);
$dispText = "* $text *";
$text = "*$text*"; // adds start and stop chars
$textLen = strlen($text);
$barcodeWidth = $textLen * (7 * $this->bcThinWidth + 3 * $this->bcThickWidth) - $this->bcThinWidth;
$im = imagecreate($barcodeWidth, $this->bcHeight);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $white);
$xpos = 0;
for ($idx=0; $idx<$textLen; $idx++)
{
if (!$char = $text[$idx]) $char = '-';
for ($ptr=0; $ptr<=8; $ptr++)
{
$elementWidth = ($this->codeMap[$char][$ptr]) ? $this->bcThickWidth : $this->bcThinWidth;
if (($ptr + 1) % 2)
imagefilledrectangle($im, $xpos, 0, $xpos + $elementWidth-1, $this->bcHeight, $black);
$xpos += $elementWidth;
}
$xpos += $this->bcThinWidth;
}
if ($showText)
{
$pxWid = imagefontwidth($this->fontSize) * strlen($dispText) + 10;
$pxHt = imagefontheight($this->fontSize) + 2;
$bigCenter = $barcodeWidth / 2;
$textCenter = $pxWid / 2;
imagefilledrectangle($im, $bigCenter - $textCenter, $this->bcHeight - $pxHt, $bigCenter + $textCenter, $this->bcHeight, $white);
imagestring($im, $this->fontSize, ($bigCenter - $textCenter) + 5, ($this->bcHeight - $pxHt) + 1, $dispText, $black);
}
if (!$fileName) header("Content-type: image/{$fileType}");
switch($this->mode)
{
case 'gif': imagegif($im, $fileName);
case 'png': imagepng($im, $fileName);
case 'jpeg': imagejpeg($im, $fileName);
case 'wbmp': imagewbmp($im, $fileName);
}
imagedestroy($im);
}
}
?>
as you can see $bc->build(‘LO130319001’);
but when I tried to scan the barcode the output become LO13-319—1 the 0 become –
before this is my code:
$sql = "SELECT r.lot_number, m.mat_code, m.description FROM wms_receiving AS r LEFT JOIN bom_material AS m ON r.uid_mat = m.uid_mat WHERE r.rm_id = " . $_SESSION["rm_id"];
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
$labelprint = "<table>";
$labelprint .= "<tr><td><strong> Lot # : </strong></td><td> $row[lot_number] </td></tr>";
// $labelprint .= "<tr><td><strong> Stock Item : </strong></td><td> $row[mat_code] </td></tr><tr><td><strong> Stock Desc. : </strong></td><td> $row[description] </td></tr>";
$description_to_print =htmlspecialchars($row[description], ENT_QUOTES);
$labelprint .= "<tr><td><strong> Stock Item : </strong></td><td> $row[mat_code] </td></tr><tr><td><strong> Stock Desc. : </strong></td><td> $description_to_print</td></tr>";
$labelprint .= "</table>";
unset($_POST);
Now I need to put the Lot number into barcode. How can I used the above code in generating barcode.
Thank you so much