PHP调用barcodegen插件生成条形码

最近在为公司做一个扫码支付,需要用到条形码的相关功能,下面就先介绍如何生成条形码:


1、如何生成条形码?

复制下面的百度网盘链接,下载barcodegen插件

链接: https://pan.baidu.com/s/1o8nyfNG 

密码: r9c7


2、将下载出来的压缩包解压,并且放到ThinkPHP\Library\Vendor\barcodegen

2.1文件结构:

QQ截图20170625141505.png


2.2具体解析

(1)class文件夹是已封装好生成条形码的类,只需要调用即可。

(2)index.PHP是一个可选择条件生成条形码的功能,是主程序的入口,而html文件夹是提供的被引用的代码,code39.php指的是指向默认的编码格式。


3、在框架内调用插件

/**
	 * 生成付款条形码
	 */
	public function vip_get_barcode(){

		$file_dir = 'Uploads/Bar/'.date("Y-m-d",time());	//文件路径
        if(!file_exists($file_dir)) {					//判断文件是否存在
            mkdir($file_dir);						//不存在则生成
        }
		$imgUrl = $file_dir . '/' . time() . '.png';		//图片路径
        vendor('barcodegen.class.BCGcode128');				//载入依赖包
        vendor('barcodegen.class.BCGDrawing');
        vendor('barcodegen.class.BCGColor');
        $color_white = new \BCGColor(255, 255, 255);			//定义颜色
        $drawing = new \BCGDrawing('', $color_white);			//赋值颜色
        $code = new \BCGcode128();
        $font = new \BCGFontFile('Public/font/Arial.ttf', -1000); 	//字体大小
	$code->setFont($font);						//文字大小
	$code->setThickness(30);					//条码厚度
        $code->parse('123465789012345678');				//条形码内容
        $drawing->setBarcode($code);
        $rs = $drawing->setFilename($imgUrl);				//存放路径
        $drawing->draw();						//渲染图片
        $drawing->finish($drawing::IMG_FORMAT_PNG);			//生成图片
		
		$out_arr['code'] = '000000';
		$out_arr['url'] = $imgUrl;
		echo json_encode($out_arr,JSON_UNESCAPED_UNICODE);die;
	}

QQ截图20170625141820.png


4、将Ajax接到的路径输出到<img>标签的src里

QQ截图20170625142023.png

QQ截图20170625142342.png

爬坑两天,生成条形码业务逻辑完结。。。


点击下方打赏一个呗~


点赞

发表评论