ホームページ  >  記事  >  バックエンド開発  >  PHP でバーコードを生成する例

PHP でバーコードを生成する例

*文
*文オリジナル
2017-12-27 14:59:113865ブラウズ

QRコードに加えて、一次元コード(バーコード)も商業分野で広く使用されています。一部の古い銃スキャン装置は QR コードの識別と互換性がないため、依然としてバーコードを生成する必要がある場合があります。では、PHP はどのようにしてバーコードを生成するのでしょうか?この記事では、PHPでバーコードを生成する例を説明します。お役に立てれば幸いです。

少し前に、バーコードを使用する必要がある加盟店のクーポン機能を見つけたので、必要な友達が参照できるように情報を整理しました

1. バーコードとは何ですか?

Baidu百科事典の定義: バーコードは、特定のエンコード規則に従って、複数の黒いバーとさまざまな幅の空白を配置することによって一連の情報を表現するグラフィック識別子です。一般的なバーコードは、反射率が大きく異なる黒いバー (バーと呼ばれます) と白いバー (スペースと呼ばれます) が平行線に配置されたパターンです。日常生活では、バーコードは製造国、メーカー、製品名、製造日、書籍分類番号、郵送先住所の開始と終了、カテゴリ、日付、その他多くの情報を示すことができます。特定のバーコード エンコード形式については、

印刷されたクーポンを参照してください。販売者は、バリデーターを使用してバーコードを読み取り、有効性を取得する必要があります。

2. バーコードを生成するには?

まず、強力なオープンソース情報を見つけて、バーコード公式 Web サイトから barcodegen.1d-php5.v5.0.1.zip バージョンをダウンロードし、ファイルを解凍して Apache サーバーのルート ディレクトリに置きます

2.1 ファイル構造:

2.2 具体的な分析

(1) クラスフォルダーは、バーコードを生成するためにカプセル化されており、呼び出すだけで済むクラスです。

(2)index.phpは任意の条件でバーコードを生成する関数でメインプログラムへの入り口、htmlフォルダーは提供される参照コード、code39.phpはデフォルトのエンコード形式を指します。

<?php 
header(&#39;Location: html/code39.php&#39;); 
?>

(3) test.php は、コードを通じて HELLO バーコードを直接生成するもう 1 つの例です。

View Code  
 
<?php 
// 引用class文件夹对应的类 
require_once(&#39;class/BCGFontFile.php&#39;); 
require_once(&#39;class/BCGColor.php&#39;); 
require_once(&#39;class/BCGDrawing.php&#39;); 
 
// 条形码的编码格式 
require_once(&#39;class/BCGcode39.barcode.php&#39;); 
 
// 加载字体大小 
$font = new BCGFontFile(&#39;./class/font/Arial.ttf&#39;, 18); 
 
//颜色条形码 
$color_black = new BCGColor(0, 0, 0); 
$color_white = new BCGColor(255, 255, 255); 
 
$drawException = null; 
try { 
  $code = new BCGcode39(); 
  $code->setScale(2);  
  $code->setThickness(30); // 条形码的厚度 
  $code->setForegroundColor($color_black); // 条形码颜色 
  $code->setBackgroundColor($color_white); // 空白间隙颜色 
  $code->setFont($font); //  
  $code->parse(&#39;HELLO&#39;); // 条形码需要的数据内容 
} catch(Exception $exception) { 
  $drawException = $exception; 
} 
 
//根据以上条件绘制条形码 
$drawing = new BCGDrawing(&#39;&#39;, $color_white); 
if($drawException) { 
  $drawing->drawException($drawException); 
} else { 
  $drawing->setBarcode($code); 
  $drawing->draw(); 
} 
 
// 生成PNG格式的图片 
header(&#39;Content-Type: image/png&#39;); 
 
 
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG); 
?>

3. 実際の応用

上記を一般的に理解した後、より便利に使用するために以下のコードを再統合できます。

まず新しい buildcode.php ファイルを作成し、test.php ファイルに従って書き換えて、要求されたファイルからデータを取得します:

1) バーコードのエンコード形式

2)。バーコードに必要なデータコンテンツ

View Code  
<?php 
// Including all required classes 
require_once(&#39;class/BCGFontFile.php&#39;); 
require_once(&#39;class/BCGColor.php&#39;); 
require_once(&#39;class/BCGDrawing.php&#39;);  
$codebar = $_REQUEST[&#39;codebar&#39;]; //条形码将要数据的内容  
// Including the barcode technology 
require_once(&#39;class/&#39;.$codebar.&#39;.barcode.php&#39;);  
// Loading Font 
$font = new BCGFontFile(&#39;./class/font/Arial.ttf&#39;, 12);  
// The arguments are R, G, B for color. 
$color_black = new BCGColor(0, 0, 0); 
$color_white = new BCGColor(255, 255, 255);  
$drawException = null; 
try { 
  $code = new $codebar();//实例化对应的编码格式 
  $code->setScale(2); // Resolution 
  $code->setThickness(23); // Thickness 
  $code->setForegroundColor($color_black); // Color of bars 
  $code->setBackgroundColor($color_white); // Color of spaces 
  $code->setFont($font); // Font (or 0) 
  $text = $_REQUEST[&#39;text&#39;]; //条形码将要数据的内容 
  $code->parse($text); 
} catch(Exception $exception) { 
  $drawException = $exception; 
}  
/* Here is the list of the arguments 
 - Filename (empty : display on screen) 
 - Background color */ 
$drawing = new BCGDrawing(&#39;&#39;, $color_white); 
if($drawException) { 
  $drawing->drawException($drawException); 
} else { 
  $drawing->setBarcode($code); 
  $drawing->draw(); 
}  
// Header that says it is an image (remove it if you save the barcode to a file) 
header(&#39;Content-Type: image/png&#39;);  
// Draw (or save) the image into PNG format. 
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG); 
?>

次に、新しいtest.htmlファイルを作成し、buildcode.phpからデータをリクエストします

<!DOCTYPE html> 
<html> 
<head> 
<title>Test with embedded image</title> 
</head> 
<body> 
 <img src="buildcode.php?codebar=BCGcode39&text=abc123"/> 
</body> 
</html>

最後にアクセスすると、ブラウザがpng形式でバーコードを直接生成します

codebar でサポートされているエンコード形式は、ユーザーのリクエストによって取得できます:

/*'BCGcodabar','BCGcode11','BCGcode39','BCGcode39extended','BCGcode93',
'BCGcode128','BCGean8', 'BCGean13','BCGisbn','BCGi25' ,'BCGs25','BCGmsi',
'BCGupca','BCGupce','BCGupcext2','BCGpcext5','BCGpostnet','BCGothercode'*/

残り検証です

4. 検証

バーコードが有効かどうか、つまりバーコードの内容が読み取れるかどうかをどのように検証しますか。

まずは画像を保存してから、公式サイトの認証機能にアクセスして画像をアップロードすればOKです!

今日は、PHP がバーコードを生成する方法について説明します。バーコードの形成について一般的に理解していただき、今後の研究に役立つことを願っています。

関連する推奨事項:

php QRコード生成

php QRコードとウォーターマーク画像 iOS、android、win8をサポート

php画像操作クラスは、サムネイルの生成、透かしの追加、サムネイルのアップロードをサポートします

以上がPHP でバーコードを生成する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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