この記事では主にPHPバーコードの定義と生成方法を紹介しますので、興味のある方は参考にしていただければ幸いです。
1. バーコードとは何ですか?
Baidu Encyclopedia の定義: バーコードは、特定のエンコード規則に従って、幅の異なる複数の黒いバーと空白を配置することで、一連の情報を表現するグラフィック識別子です。一般的なバーコードは、反射率が大きく異なる黒いバー (バーと呼ばれます) と白いバー (スペースと呼ばれます) が平行線に配置されたパターンです。日常生活では、バーコードは製造国、メーカー、製品名、製造日、書籍分類番号、郵送先住所の開始と終了、カテゴリ、日付、その他多くの情報を示すことができます。特定のバーコード エンコード形式については、印刷されたクーポン ##
# を参照してください。販売者は、バリデータを使用してバーコードを読み取り、その有効性を取得する必要があります。2. バーコードを生成するにはどうすればよいですか?
まず、強力なオープンソース情報を見つけて、バーコード公式 Web サイトから barcodegen.1d-php5.v5.0.1.zip バージョンをダウンロードし、ファイルを解凍してルートに置きます。 Apache サーバーのディレクトリ2.1 ファイル構造:
##2.2 特定の分析(1) クラスファイル Clip は、バーコードを生成するためにカプセル化されており、呼び出すだけで使用できるクラスです。
(2)index.phpは、任意の条件でバーコードを生成する関数であり、htmlフォルダが提供される参照コードです。code39.phpは、デフォルトのエンコーディングを参照します。フォーマット。
<?php header('Location: html/code39.php'); ?>
(3) test.php は、コードを通じて HELLO バーコードを直接生成する別の例です。
View Code <?php // 引用class文件夹对应的类 require_once('class/BCGFontFile.php'); require_once('class/BCGColor.php'); require_once('class/BCGDrawing.php'); // 条形码的编码格式 require_once('class/BCGcode39.barcode.php'); // 加载字体大小 $font = new BCGFontFile('./class/font/Arial.ttf', 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('HELLO'); // 条形码需要的数据内容 } catch(Exception $exception) { $drawException = $exception; } //根据以上条件绘制条形码 $drawing = new BCGDrawing('', $color_white); if($drawException) { $drawing->drawException($drawException); } else { $drawing->setBarcode($code); $drawing->draw(); } // 生成PNG格式的图片 header('Content-Type: image/png'); $drawing->finish(BCGDrawing::IMG_FORMAT_PNG); ?>
3. 実践的な応用上記の概要を理解した後、次のことを行うことができます。 - コードを統合して、より便利に使用します。
最初に新しい buildcode.php ファイルを作成し、test.php ファイルに従って書き換えて、要求されたファイルからデータを取得します:
1).バーコード エンコード形式2) バーコードに必要なデータ コンテンツ
View Code
<?php
// Including all required classes
require_once('class/BCGFontFile.php');
require_once('class/BCGColor.php');
require_once('class/BCGDrawing.php');
$codebar = $_REQUEST['codebar']; //条形码将要数据的内容
// Including the barcode technology
require_once('class/'.$codebar.'.barcode.php');
// Loading Font
$font = new BCGFontFile('./class/font/Arial.ttf', 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['text']; //条形码将要数据的内容
$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('', $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('Content-Type: image/png');
// Draw (or save) the image into PNG format.
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>
<!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','BCGupcext5','BCGpostnet','BCGothercode'*/
残りは検証です
4 .検証バーコードが有効かどうか、つまりバーコードの内容を読み取ることができるかどうかをどのように検証しますか。
まずは画像を保存してから、公式サイトの認証機能にアクセスして画像をアップロードすればOKです!
要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。
関連する推奨事項:PHP は多機能ショッピング Web サイトを実装しますphp 変数関数PHP はシミュレートされたログイン機能を実装します
以上がPHPバーコードの定義と生成方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。