PHP génère un exemple de code à barres

*文
Libérer: 2023-03-18 16:38:01
original
3879 Les gens l'ont consulté

En plus des codes QR, les codes unidimensionnels (codes-barres) sont également largement utilisés dans le domaine commercial. Étant donné que certains anciens équipements de numérisation d'armes à feu ne sont pas compatibles avec l'identification des codes QR, il est parfois nécessaire de générer des codes-barres. Alors, comment PHP génère-t-il des codes-barres ? Cet article expliquera un exemple de génération d'un code-barres avec PHP. J'espère que cela aide tout le monde.

Il y a quelque temps, je suis tombé sur une fonction de coupon marchand qui nécessitait l'utilisation de codes-barres, j'ai donc réorganisé les informations. Les amis dans le besoin peuvent s'y référer

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

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. Pour plus de détails sur le format d'encodage du code-barres, veuillez vous référer aux

coupons imprimés. 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;); 
?>
Copier après la connexion

(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); 
?>
Copier après la connexion

Application pratique

Après avoir une compréhension générale de ce qui précède, 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 barre

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); 
?>
Copier après la connexion

Créez ensuite un nouveau test. html et soumettez-le au buildcode. PHP demande des données

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

Enfin, le navigateur génère directement un code-barres au format png

Les formats d'encodage pris en charge par codebar peuvent être demandés par les utilisateurs :

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

4. Vérification

Comment faire nous vérifions 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 !

Aujourd'hui, je vais vous révéler comment PHP génère des codes-barres. J'espère que vous pourrez avoir une compréhension générale de la formation des codes-barres et que cela vous sera utile pour les études futures.

Recommandations associées :

Génération de code QR php

PHP Le code QR et l'image en filigrane prennent en charge iOS, Android, Win8

Classe d'opération d'image php, prend en charge la génération de vignettes, l'ajout de filigranes et le téléchargement de vignettes

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal