1. 程式人生 > >PHP 生成條形碼: barcodegen

PHP 生成條形碼: barcodegen

例項結構:

1. index.html

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

2. buildcode.php
<?php
// Including all required classes
require_once('class/BCGFontFile.php');
require_once('class/BCGColor.php');
require_once('class/BCGDrawing.php');

// Including the barcode technology
$barcode_name = isset($_REQUEST['type']) ? $_REQUEST['type'] : 'BCGcode39' ;
require_once('class/'.$barcode_name.'.barcode.php');

// Don't forget to sanitize user inputs
$text = isset($_REQUEST['text']) ? $_REQUEST['text'] : 'HELLO';

// Loading Font
$font = new BCGFontFile('./class/font/Arial.ttf', 18);

// 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 $barcode_name();
	$code->setScale(2); // Resolution
	$code->setThickness(30); // Thickness
	$code->setForegroundColor($color_black); // Color of bars
	$code->setBackgroundColor($color_white); // Color of spaces
	$code->setFont($font); // Font (or 0)
	$code->parse($text); // Text
} catch(Exception $exception) {
	$drawException = $exception;
}

/* Here is the list of the arguments
1 - Filename (empty : display on screen)
2 - 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');
header('Content-Disposition: inline; filename="barcode.png"');

// Draw (or save) the image into PNG format.
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

3. barcode 類庫下載地址:

效果: