ホームページ >php教程 >php手册 >PHP を使用して EAN_13 標準バーコードを生成する

PHP を使用して EAN_13 標準バーコードを生成する

WBOY
WBOYオリジナル
2016-06-21 09:15:591129ブラウズ

標準|バーコード

ここ数日、PHP を使用してバーコードを生成する方法について議論している人を見かけたので、時間をかけて EAN_13 標準について学習しました。EAN_13 標準は広く使用されているバーコード エンコード標準であり、主に当社のような商品流通で使用されています。商品のバーコードはこのエンコード標準であり、書籍のエンコード標準もこのエンコード標準です
以下は EAN_13 標準バーコードを生成するために使用したコードです。これには php+gd 環境が必要です
[コード。 :1:dfc50fedcf]< ;?
function EAN_13($code) {
//ユニットの幅
$lw = 2;
// バーコードの高さ
$hi = 100; // ガイドコードはコーディングなし、左側部分のコーディング タイプを表示するために使用されます//
// 配列ガイドは、EAN_13 を記録するために使用されます。左側部分のコーディング タイプ//
$Guide = array(1=>'AAAAAA','AABABB','AABBAB ','ABAABB','ABBAAB','ABBBAA','ABABAB','ABABBA','ABBABA');
$Lstart ='101'
$Lencode = array("A" => array(' 0001101','0011001', '0010011','0111101','0100011','0110001','0101111','0111011','0110111','0001011'), 🜜 " B" => 配列(' 0100 111','0110011', '0011011','0100001','0011101','0111001','0000101','0010001','0001001','0010111'));
$Rencode = array('111001) 0 ','1100110','110 1100 ','1000010','1011100',
'1001110','1010000','1000100','1001000','1110100');
$center = '0 1010';

$ends = '101';
if ( strlen($code) != 13 )
{ die("UPC-A は 13 桁である必要があります。") }
$lsum =0;
for($i=0;$ i {
if($i % 2)
{
// $odd += $ncode[$x]
$lsum +=(int)$code [$i];
}else{
$rsum +=(int)$code[$i] }

}
$tsum = $lsum*3 + $rsum;
if($code[12] ! = (10-($tsum % 10)))
{
die("コードが悪い!")
}

// echo $Guide[$code[0] ];
$barcode = $Lstart;
for($i=1;$i<=6;$i++)
{
$barcode .= $Lencode [$Guide[$code[0]][($i- 1)]] [$code[$ i]];
}
$barcode .= $center;

for($i=7;$i {
$barcode .= $Rencode[ $code[($i)]] ;
} $barcode .= $ends;

$img = ImageCreate($lw*95+60,$hi+30); , 0, 0);
$bg = ImageColorAllocate($img, 255, 255, 255);
ImageFilledRectangle($img, 0, 0, $lw*95+60, $hi+30, $bg);シフト = 10;
for ($x =0;$x if (($x=45 && $x=92))
{
$sh=10;
} else {
$sh=0;
}
if ($barcode[$x] == '1')
{
$color = $fg; } else {
$ color = $bg;
ImageFilledRectangle($img, ($x*$lw)+30,5,($x+1)*$lw+29,$hi+5 +$sh,$color);
}
/* 人間が読めるラベルを追加します */
ImageString($img,5,20,$hi+5,$code[0],$fg); =0;$x ImageString($img,5,$lw*(8+$x*6)+30,$hi+5,$code[$x+1],$fg );
ImageString($img,5 ,$lw*(53+$x*6)+30,$hi+5,$code[$x+7],$fg);  }
// ImageString($img,4,$lw*95+17,$hi-5,$code[12],$fg);
/* ヘッダーとコンテンツを出力します。 */
header("Content-Type: image/png");
画像PNG($img);

}

EAN_13('6901028055048');

?> 



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。