Skip to main content

สร้าง Barcode ด้วย PHP Barcode Generator

ในบทความนี้ เราจะมาแนะนำการ สร้าง Barcode อย่างง่าย ด้วย Library
PHP Barcode Generator กันครับ

https://github.com/picqer/php-barcode-generator

รายละเอียด

PHP Barcode Generator นั้นรองรับการสร้าง Barcode ในรูปแบบของไฟล์

  • SVG
  • PNG
  • JPG
  • HTML

สำหรับ Barcode Type รองรับการสร้าง Barcode ได้หลายรูปแบบ เช่น

  • TYPE_CODE_39
  • TYPE_CODE_128
  • TYPE_EAN_13
  • และ อื่น ๆ

ซึ่งแต่ละแบบ จะเหมาะกับลักษณะ ของ การเก็บข้อมูล ที่ต่างกันครับ ต้องเลือกรูปแบบให้เหมาะสมกับ Barcode ที่เราจะสร้างครับ

การติดตั้ง PHP Barcode Generator

การติดตั้งเราต้องทำการติดตั้งด้วย Comporser ครับ

composer require picqer/php-barcode-generator

สำหรับใครที่ไม่อยาก ติดตั้งด้วย Composer สามารถ Load ตัวอย่าง Code ได้ในตอนท้ายของบทความครับ

การใช้งาน PHP Barcode Generator

<?php
include "src/BarcodeGenerator.php";
include "src/BarcodeGeneratorHTML.php";

$code = "000001";//รหัส Barcode ที่ต้องการสร้าง

$generator = new Picqer\Barcode\BarcodeGeneratorHTML();
$border = 2;//กำหนดความหน้าของเส้น Barcode
$height = 50;//กำหนดความสูงของ Barcode

echo $generator->getBarcode($code , $generator::TYPE_CODE_128,$border,$height);
echo $code ;

echo "<hr>";

?>

ตัวอย่างผลการทำงาน

ตัวอย่างการสร้าง Barcode รายการสินค้าจากฐานข้อมูล MySQL

สร้างฐานข้อมูล Barcode ดังนี้

CREATE TABLE `barcode` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `code` varchar(50) DEFAULT NULL,
 `product` varchar(50) DEFAULT NULL,
 `price` int(11) DEFAULT NULL,
 `units` varchar(50) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

insert into barcode (id, code, product, price, units) values (1, '373343328-9', 'Crab - Meat', 46, 'PGH');
insert into barcode (id, code, product, price, units) values (2, '476988663-2', 'Chicken - Wieners', 37, 'TPVG');
insert into barcode (id, code, product, price, units) values (3, '986716735-X', 'Flower - Commercial Bronze', 23, 'UBND');
insert into barcode (id, code, product, price, units) values (4, '304731212-5', 'Bulgar', 100, 'NXPI');
insert into barcode (id, code, product, price, units) values (5, '268711160-0', 'Milk - Buttermilk', 35, 'SSYS');
insert into barcode (id, code, product, price, units) values (6, '203075759-4', 'Veal - Heart', 40, 'EOT');
insert into barcode (id, code, product, price, units) values (7, '513220011-7', 'Soup - Knorr, Veg / Beef', 60, 'TSRO');
insert into barcode (id, code, product, price, units) values (8, '719168560-3', 'Squash - Sunburst', 30, 'LHCG');
insert into barcode (id, code, product, price, units) values (9, '532894227-2', 'Arizona - Green Tea', 56, 'BFO');
insert into barcode (id, code, product, price, units) values (10, '784923698-X', 'Dill - Primerba, Paste', 78, 'CFRX');

สร้างไฟล์ Example.php ดังนี้

1.ในไฟล์ Example บรรทัดที่ 1 – 2 จะมีการ Include ไฟล์ BarcodeGenerator.php และ BarcodeGeneratorHTML.php

2.สร้าง function barcode รับค่าตัวแปร $code เพื่อสร้าง barcode

3.ในส่วนของการแสดงผล Table มีการเรียก function barcode เพื่อแสดงผล barcode

<?php
include "src/BarcodeGenerator.php";
include "src/BarcodeGeneratorHTML.php";


function barcode($code){
	
	$generator = new Picqer\Barcode\BarcodeGeneratorHTML();
	$border = 2;//กำหนดความหน้าของเส้น Barcode
	$height = 40;//กำหนดความสูงของ Barcode

	return $generator->getBarcode($code , $generator::TYPE_CODE_128,$border,$height);

}

$servername = "localhost";
$username = "root";
$password = "";
$db_name = "barcode";

// สร้างการเชื่อมต่อฐานข้อมูล
$conn = mysqli_connect($servername, $username, $password,$db_name);

//กำหนด charset ให้เป็น utf8 เพื่อรองรับภาษาไทย
mysqli_set_charset($conn,"utf8");

// ตรวจสอบการเชื่อมต่อฐานข้อมูล
if (!$conn) {
	//กรณีเชื่อมต่อไม่ได้
	die("Connection failed: " . mysqli_connect_error());
}
?>

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">

    <title>Barcode Genrator</title>
  </head>
  <body>
  <div class="container">
  
    <h4>Barcode Genrator</h4>
	
	<?php
		$sql = "SELECT * FROM barcode";

		$result = mysqli_query($conn, $sql);

		if (mysqli_num_rows($result) > 0) {
			
			echo "<table class='table'>";
				
				while ($r = mysqli_fetch_assoc($result)) {
					
					echo "<tr>";
						echo "<td>";
						echo barcode($r['code'])."<br>";
						echo "รหัส : ".$r['code']."<br>";
						echo "สินค้า : ".$r['product']."<br>";
						echo "ราคา : ".$r['price']."&nbsp;บาท";
						echo "</td>";
					echo "</tr>";
				}
				
			echo "</table>";
		}

		mysqli_close($conn);
	?>
	
   </div>
   
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
  </body>
</html>

 

ตัวอย่างผลการทำงาน

SourceCode ประกอบบทความ

Demo

ขอขอบคุณข้อมูลจาก
https://github.com/picqer/php-barcode-generator

 


Deprecated: Function create_function() is deprecated in /home/service1/domains/monkeywebstudio.com/public_html/wp-content/plugins/simple-lightbox/controller.php on line 1642