Maison  >  Article  >  développement back-end  >  La méthode de définition et de génération du code barre PHP

La méthode de définition et de génération du code barre PHP

墨辰丷
墨辰丷original
2018-06-07 11:40:424567parcourir

Cet article présente principalement la définition et la méthode de génération du code-barres PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

1. Qu'est-ce qu'un code barre ?

Définition de l'Encyclopédie Baidu : Le code à barres est un identifiant graphique qui exprime un ensemble d'informations en disposant plusieurs barres noires et blancs de différentes largeurs selon certaines règles d'encodage. Un code-barres courant est un motif composé de barres noires (appelées barres) et de barres blanches (appelées espaces) avec des réflectivités très différentes disposées en lignes parallèles. Dans la vie quotidienne, les codes-barres peuvent indiquer le pays de production, le fabricant, le nom du produit, la date de production, le numéro de classification du livre, l'adresse postale de début et de fin, la catégorie, la date et bien d'autres informations. Veuillez vous référer au coupon imprimé de

pour le format spécifique d'encodage du code-barres. Les commerçants doivent utiliser un validateur pour lire le code-barres afin d'obtenir sa validité.

2. Comment générer un code barre ?

Trouvez d'abord des informations open source puissantes, téléchargez la version barcodegen.1d-php5.v5.0.1.zip à partir du site officiel du code à barres, puis décompressez le fichier et placez-le à la racine répertoire de votre serveur Apache

2.1 Structure des fichiers :

2.2 Analyse spécifique

(1) fichier de classe Le clip est une classe qui a été packagée pour générer des codes-barres et qui doit seulement être appelée.

(2) index.php est une fonction pour générer des codes-barres avec des conditions facultatives. C'est l'entrée du programme principal, et le dossier html est le code référencé fourni. code39.php fait référence à l'encodage par défaut. Format.

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

(3) test.php est un autre exemple, générant directement un code-barres HELLO via le code.

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. Application pratique

Après avoir une compréhension générale de ce qui précède, le suivant Nous pouvons réintégrer le code et l'utiliser plus facilement.

Créez d'abord un nouveau fichier buildcode.php, réécrivez-le selon le fichier test.php et obtenez les données du fichier demandé :

Format d'encodage du code-barres

2). Le contenu des données requis par le code-barres

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); 
?>
Créez ensuite un nouveau fichier test.html et demandez les données à buildcode.php

<!DOCTYPE html> 
<html> 
<head> 
<title>Test with embedded image</title> 
</head> 
<body> 
 <img src="buildcode.php?codebar=BCGcode39&text=abc123"/> 
</body> 
</html>
Enfin, lors de l'accès, le navigateur génère directement un code barre au format png

Le format d'encodage supporté par codebar peut être demandé par l'utilisateur :

/* 'BCGcodabar','BCGcode11','BCGcode39','BCGcode39extended','BCGcode93', 'BCGcode128','BCGean8','BCGean13','BCGisbn','BCGi25 ','BCGs25','BCGmsi' ,
'BCGupca','BCGupce','BCGupcext2','BCGupcext5','BCGpostnet','BCGothercode'*/  
Le reste est vérification

4. Vérification

Comment vérifier si le code-barres est valide, c'est-à-dire si le contenu du code-barres peut être lu.

Enregistrez d'abord l'image, puis accédez à la fonction de vérification fournie par le site officiel, téléchargez l'image et c'est OK !

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

PHP implémente un site Web d'achat multifonctionnel

Fonction variable PHP

PHP implémente une fonction de connexion simulée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn