9

我需要一个生成条形码图像文件的类,最好与最常见的标准兼容。

我正在寻找基于个人经验的建议/建议。

非常感谢

4

4 回答 4

8

这是一个用于生成 barocdes 的简单 PHP 脚本:

<?php
//For displaying barcodes

//Arguments are:
//  code    Number you want outputted as a barcode

//You can use this script in two ways:
//  From a webpage/PHP script   <img src='/images/barcode.php?code=12345'/>
//  Directly in your web browser    http://www.example.com/images/barcode.php?code=12345

//Outputs the code as a barcode, surrounded by an asterisk (as per standard)
//Will only output numbers, text will appear as gaps
//Image width is dynamic, depending on how much data there is

//Get the barcode font (called 'free3of9') from here http://www.barcodesinc.com/free-barcode-font/

header("Content-type: image/png");
$file = "images/barcode.png"; // path to base png image
$im = imagecreatefrompng($file); // open the blank image
$string = $_GET['code']; // get the code from URL
imagealphablending($im, true); // set alpha blending on
imagesavealpha($im, true); // save alphablending setting (important)

$black = imagecolorallocate($im, 0, 0, 0); // colour of barcode

$font_height=40; // barcode font size. anything smaller and it will appear jumbled and will not be able to be read by scanners

$newwidth=((strlen($string)*20)+41); // allocate width of barcode. each character is 20px across, plus add in the asterisk's
$thumb = imagecreatetruecolor($newwidth, 40); // generate a new image with correct dimensions

imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, 40, 10, 10); // copy image to thumb
imagettftext($thumb, $font_height, 0, 1, 40, $black, 'c:\windows\fonts\free3of9.ttf', '*'.$string.'*'); // add text to image

//show the image
imagepng($thumb);
imagedestroy($thumb);
?>

希望这对您有所帮助。

于 2012-11-16T02:59:22.940 回答
3

两个 PEAR 包Zend Framework v1.10也有 BarCode 类。

不过我没用过,所以不能推荐。

于 2010-01-19T12:34:14.607 回答
2

如果您仍在寻找解决方案,我已经使用了这个(改编了 ASP.NET 版本)并且它生成了没有问题的 EAN 代码。

于 2010-04-29T08:18:55.200 回答
1

这里有一个包含 php 类、jQuery 插件和原型插件的免费库。它也有很好的例子访问

于 2013-02-11T10:31:13.173 回答