Home Backend Development PHP Tutorial The definition and generation method of PHP barcode

The definition and generation method of PHP barcode

Jun 07, 2018 am 11:40 AM

This article mainly introduces the definition and generation method of PHP barcode. Interested friends can refer to it. I hope it will be helpful to everyone.

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;); 
?>
Copy after login

(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); 
?>
Copy after login

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); 
?>
Copy after login

Then create a new test.html file, request the data from buildcode.php

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

Finally access it, The browser directly generates a barcode in png format

The encoding format supported by codebar 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 verification

4 .Verification

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

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

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

PHP implements a multi-functional shopping website

php variable function

PHP implements simulated login function

The above is the detailed content of The definition and generation method of PHP barcode. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How does session hijacking work and how can you mitigate it in PHP? How does session hijacking work and how can you mitigate it in PHP? Apr 06, 2025 am 12:02 AM

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

See all articles