Home  >  Article  >  Backend Development  >  PHP generate barcode example

PHP generate barcode example

*文
*文Original
2017-12-27 14:59:113863browse

In addition to QR codes, one-dimensional codes (barcodes) are also widely used in the commercial field. Because some old gun scanning equipment is not compatible with identifying QR codes, there is still a need to generate barcodes sometimes. So how does PHP generate barcodes? This article will explain an example of generating a barcode with PHP. I hope to be helpful.

A while ago, I came across a merchant coupon function that required the use of barcodes, so I reorganized the information. Friends in need can refer to

##1. What is a barcode?

Baidu Encyclopedia definition: Barcode is a graphic identifier that expresses a set of information by arranging multiple black bars and blanks of different widths according to certain encoding rules. . A common barcode is a pattern consisting of black bars (referred to as bars) and white bars (referred to as spaces) with very different reflectivities arranged into parallel lines. In daily life, barcodes can indicate the country of production, manufacturer, product name, production date, book classification number, mailing address starting and ending, category, date and many other information. Please refer to the printed coupon

for the specific barcode encoding format. Merchants need to use a validator to read the barcode to obtain its validity.

2. How to generate barcode?

First find powerful open source information, download the barcodegen.1d-php5.v5.0.1.zip version from the barcode official website, and then unzip the file and put it in the root directory of your Apache server

2.1 File structure:

2.2 Specific analysis

(1) class file Clip is a class that has been encapsulated to generate barcodes and only needs to be called.

(2) index.php is a function to generate barcodes with optional conditions. It is the entrance to the main program, and the html folder is the referenced code provided. code39.php refers to the default encoding. Format.

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

(3) test.php is another example that directly generates the HELLO barcode through 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. Practical application

After having a general understanding of the above, we can re-integrate the code and use it more conveniently.

First create a new buildcode.php file, rewrite it according to the test.php file, and obtain the data from the requested file:

1).Barcode encoding format

2). The data content required by the barcode

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); 
?>

Then create a new test.html file and request buildcode.php Data

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

Finally accessed, the browser directly generates a barcode in png format

which codebar supports The encoding format can be requested by the user:

/*'BCGcodabar','BCGcode11','BCGcode39','BCGcode39extended','BCGcode93', 'BCGcode128','BCGean8' ,'BCGean13','BCGisbn','BCGi25','BCGs25','BCGmsi',​
'BCGupca','BCGupce','BCGupcext2','BCGupcext5','BCGpostnet','BCGothercode'*/​
The rest is to verify

4.Verification

How do we verify whether the barcode is valid, that is, whether it can be read The content in the barcode.

Save the image first, then access the verification function provided by the official website, upload the image and it’s OK!

Today I will reveal with you how PHP generates barcodes. I hope you can have a general understanding of the formation of barcodes and it will be helpful for future studies.

Related recommendations:

php QR code generation

PHP QR code plus watermark image supports ios, android, win8

php Image operation class, supports generating thumbnails, adding watermarks, and uploading thumbnails

The above is the detailed content of PHP generate barcode example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn