首页 > 作文

thinkphp5 + barcode 生成条形码

更新时间:2023-04-07 21:04:01 阅读: 评论:0

1、去官网下载类库 “”,选择自己的版本下载

2、解压放到“e:\phpstudy\phptutorial\www\guahao\vendor\下”,其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,index.php是一个可选择条件生成条形码的功能,是主程序的入口,test_1d.php是给的生成条形码的例子,test_1d.html是对应的渲染条形码的页面

3、我们可以直接使用官方给的例子(test_1d.php),复制到自己需要用的地方,然后根据自己的需求稍加改动即可,需要注意的是,加载第三方类库的路径需要改一下。

生成条形码的php代码<?php

namespace app\index\controller;u think\controller;/*** 条形码操作类*/class barcode extends controller{    public function createbarcode()    {        $class_dir = vendor_path.'barcode/class/';        // including all required class        require_once($class_dir.'bcgfontfile.php');        require_once($class_dir.'bcgcolor.php');        require_once($class_dir.'bcgdrawing.php');        require_once($class_dir.'bcgcode39.barcode.php');        // loading font        // 注意font和class是同一级文件夹        $font = new \bcgfontfile(vendor_path.'barcode/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 \bcgcode39();            $code->tscale(2); // resolution            $code->tthickness(30); // thickness            $code->tforegroundcolor($color_black); // color of bars            $code->tbackgroundcolor($color_white); // color of spaces            $code->tfont($font); // font (or 0)  0不显示文字
      $text = ist($_get['text']) ? $_get['text'] : 'hello';
$code->par($text); // text
        } ca圆柱的表面积公式tch(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);        } el {            $drawing->tbarcode($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);    }    public function barcodedes()    {        return $this->fetch();    }}?>

接受渲染条形码的html代码

<img src="{:url('createbarcode')}">

当然,src还可以携带参数,只需更改以下代码

html代码

<img src="{:url('createbarcode',array('text'=>'123'))}">

php代码

$text = ist($_get['text']) ? $_get['text'] : 'hello';

改成

 $text = input('text');      //接收的参数

4、如果想把条形码保存到本地,在实例化“bcgdrawing”的时候填写保存路径即可

// 文件路径        $file_dir = 'uploads/barcode/'.date('y-m-d');        if (!file_exists($file_dir)) {            mkdir($file_dir,0755,true);        }        $imgurl = $file_dir.'/'.time().'.png';        $class_dir = vendor_path.'barcode/class/';        // including all required class        require_once($class_dir.'bcgfontfile.php');        require_once($class_dir.'bcgcolor.php');        require_once($class_dir.'bcgdrawing.php');        require_once($class_dir.'bcgcode39.barcode.php');        // loading font        // 注意font和class是同一级文件夹        $font = new \bcgfontfile(vendor_path.'barcode/font/arial.ttf', 18);        // don't forget to sanitize ur inputs        // $text = ist($_get['text']) ? $_get['text'] : 'hello';  升职通知      // 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 \bcgcode39();            $code->tscale(2); // resolution            $code->tthickness(30); // thickness            $code->tforegroundcolor($color_black); // color of bars            $code->tbackgroundcolor($color_white); // color of spaces            $code->tfont($font); // font (or 0)            $text = input('text');      //接收的参数            $text = ist($text) ? $text :'无参数';                  $code->par($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($imgurl, $color_white);        if($drawexception) {            $drawing->drawexception($drawexcept记得林俊杰ion);        } el {            $drawing->tbarcode($code);            $drawing->draw();        }        $drawing->finish(\bcgdrawing::img_format_png);

5、生成条形码之后,怎么判定条形码是否能用呢?可以把条形码保存成图片到本地,打开官网“”,上传刚刚生成的条形码,如果解析出的参数跟你输入的一样,说明条形码可以用。

本文发布于:2023-04-07 21:03:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/d165ad850b1ec6df1f2e5640c67a82de.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:thinkphp5 + barcode 生成条形码.doc

本文 PDF 下载地址:thinkphp5 + barcode 生成条形码.pdf

标签:条形码   路径   参数   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图