搜索

首页  >  问答  >  正文

请问如何在thinkphp5开发条形码功能

我想实现一个在系统里可以生成条形码及用条码扫描器扫条码实现进库和出库的功能。我用的是thinkphp5来开发的。找了很多资料,做了以下的几步。1.把条形码的类文件夹barcode拷贝到extend目录下。2. 在入口文件里加了这一句define('EXTEND_PATH','../extend/');   3.在common里自建的base.php的文件里,加了一个方法

<?php

namespace app\admin\common;


use think\Controller;

use think\Request;

use Util\data\Sysdb;

use think\Session;


class Base extends Controller

{

    public function barcode_create(){

        $content='123';

        // 引用barcode文件夹对应的类

        Loader::import('BCode.BCGFontFile',EXTEND_PATH);

        //Loader::import('BCode.BCGColor',EXTEND_PATH);

        Loader::import('BCode.BCGDrawing',EXTEND_PATH);

        // 条形码的编码格式

        Loader::import('BCode.BCGcode39',EXTEND_PATH,'.barcode.php');

       // $code = '';

        // 加载字体大小

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

       //颜色条形码

        $color_black = new \BCGColor(0, 0, 0);

        $color_white = new \BCGColor(255, 255, 255);

        $drawException = null;

        try

        {

            $code = new \BCGcode39();

            $code->setScale(2);

            $code->setThickness(30); // 条形码的厚度

            $code->setForegroundColor($color_black); // 条形码颜色

            $code->setBackgroundColor($color_white); // 空白间隙颜色

           // $code->setFont($font); //

            $code->parse($content); // 条形码需要的数据内容

        }

        catch(\Exception $exception)

        {

            $drawException = $exception;

        }

        //根据以上条件绘制条形码

        $drawing = new \BCGDrawing('', $color_white);

        if($drawException) {

            $drawing->drawException($drawException);

        }else{

            $drawing->setBarcode($code);

            $drawing->draw();

        }

        // 生成PNG格式的图片

        header('Content-Type: image/png');

       // header('Content-Disposition:attachment; filename="barcode.png"'); //自动下载

        $drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);

    }

请问我写对了吗?接下来该怎么做呢?


JenniferJennifer2416 天前1220

全部回复(0)我来回复

暂无回复
  • 取消回复