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('Location: html/code39.php'); ?>
(3) test.php est un autre exemple, générant directement un code-barres HELLO via le code.
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); ?>
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('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>
/*'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 :
PHP Le code QR et l'image en filigrane prennent en charge iOS, Android, Win8
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!