• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 图文详解thinkphp5+barcode生成条形码

图文详解thinkphp5+barcode生成条形码

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了thinkphp5,barcode,生成条形码等相关知识,希望对您有所帮助

下面给大家介绍thinkphp5 + barcode 生成条形码,希望对需要的朋友有所帮助!

thinkphp5 + barcode 生成条形码


603f48cca792f.png


1、去官网下载类库 “[https://www.barcodebakery.com...]”,选择自己的版本下载


603f48fc5c286.png


2、解压放到“E:\phpstudy\PHPTutorial\WWW\guahao\vendor\下”,

其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,index.php是一个可选择条件生成条形码的功能,是主程序的入口,test_1D.php是给的生成条形码的例子,test_1D.html是对应的渲染条形码的页面


603f493c1e4fb.png


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


生成条形码的php代码


<?phpnamespace app\index\controller;use think\Controller; /*** 条形码操作类*/class Barcode extends Controller{    public function createBarcode()    {        $class_dir = VENDOR_PATH.'barcode/class/';        // Including all required classes        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->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)  0不显示文字         $text = isset($_GET['text']) ? $_GET['text'] : 'HELLO';            $code->parse($text); // Text        } catch(Exception $exception) {            $drawException = $exception;        }         /* Here is the list of the arguments        - Filename (empty : display on screen)        - 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);     }     public function barcodedes()    {        return $this->fetch();    }}?>

接受渲染条形码的Html代码

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


603f49e7c95a7.png


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

html代码

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

php代码把

$text = isset($_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 classesrequire_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 user inputs// $text = isset($_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->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)    $text = input('text');      //接收的参数    $text = isset($text) ? $text :'无参数';          $code->parse($text); // Text} catch(Exception $exception) {    $drawException = $exception;}/* Here is the list of the arguments- Filename (empty : display on screen)- Background color */// 保存到本地 (路径,颜色)路径为空则表示显示到页面上$drawing = new \BCGDrawing($imgUrl, $color_white);if($drawException) {    $drawing->drawException($drawException);} else {    $drawing->setBarcode($code);    $drawing->draw();}$drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);

5、生成条形码之后,怎么判定条形码是否能用呢?

可以把条形码保存成图片到本地,打开官网“[https://www.barcodebakery.com/en/download]”,上传刚刚生成的条形码,如果解析出的参数跟你输入的一样,说明条形码可以用。

603f4a899dbbf.png


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPhp5.1制作微信支付以及支付后的几种状态说明
  • 你知道Thinkphp5.1让验证码在Electron-vue中怎么用?
  • ThinkPHP5通过ajax插入图片并实时显示(完整代码)
  • 分析 thinkphp5 显示render不兼容问题
  • ThinkPHP5访问怎么去除/public/index.php
  • Thinkphp5.1详细讲解中间件的用法
  • ThinkPHP5分页paginate代码实例解析
  • 关于thinkphp5中分页paginate()之后的数据中添加键值
  • Thinkphp5+Redis实现商品秒杀代码实例讲解
  • 如何使用thinkphp5.1的数组查询对象

相关文章

  • 2022-04-29安装apache后如何添加代理模块
  • 2022-04-29浅谈利用Node.js如何获取WI-FI密码
  • 2022-04-29WordPress获取各类页面链接的函数总结
  • 2022-04-29帝国CMS内容字段域名替换函数
  • 2022-04-29PhotoShop绘制反光水晶玻璃球按钮教程
  • 2022-04-2933个非常实用的JavaScript一行代码,建议收藏!
  • 2022-04-29PhotoShop制作漂亮的渐变星光文字效果教程
  • 2022-04-29DEDECMS的优化方案
  • 2022-04-29ThinkPHP3.2.3如何从php5升级到php7
  • 2022-04-29UEditor新增自定义按钮/UEditor增加自定义插件

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop使用计算工具调出别致的颜色
    • PHP简短而安全的数组遍历
    • Dedecms在php7下的一些常见问题
    • 帝国cms二次开发搜索页支持php和动态标签代码
    • 利用滤镜及动作制作暗调金属质感立体字
    • 图文详解thinkphp5+barcode生成条形码
    • AI教程几何图形小鸟LOGO视频教程
    • PHP中怎么解决serialize函数中文乱码的问题
    • 帝国CMS后台添加关键字时自动复制到TAGS(同步更新)的方法
    • Photoshop制作创意文字标志

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有