PHP 生成条形码

/**
*$id_brecod 是条形码下面的数字
*/
public function barcode($id_brecod){
     //已laravel为例 引入文件 前3行 为必引文件 第4行 根据条形码类型 引入不同的文件 
        require_once  base_path().'/vendor/barcodegen/class/BCGFontFile.php'; 
        require_once  base_path().'/vendor/barcodegen/class/BCGColor.php';
        require_once  base_path().'/vendor/barcodegen/class/BCGDrawing.php'; 
        require_once  base_path().'/vendor/barcodegen/class/BCGcode128.barcode.php';
        $a = base_path().'/vendor/barcodegen/font/Arial.ttf'; //为必引文件
        $font = new \BCGFontFile($a,12); //实例化 第二参 字体大小 
        $color_black = new \BCGColor(0, 0, 0);
        $color_white = new \BCGColor(255, 255, 255);
        $drawException = null;

        try {
            $code = new \BCGcode128();//实例化对应的编码格式   (根据自己的需要实例化不同的条形码生成类)
            $code->setScale(2); // Resolution

            $code->setThickness(60); // Thickness
            $code->setForegroundColor($color_black); // Color of bars
            $code->setBackgroundColor($color_white); // Color of spaces

            $code->setFont($font); // Font (or 0)

            $text = (string)$id_brecod;//$_REQUEST['text']; //条形码数据的内容

            $code->parse($text);

        } catch(\Exception $exception) {
            $drawException = $exception;
        }

        if(!is_dir(public_path().'/brecode')){
            mkdir(public_path().'/brecode');
        }
        $img = public_path().'/brecode/'.$id_brecod.'.png';
        $drawing = new \BCGDrawing($img, $color_white); //(第一个参数 生成图片的路径 如:public/barcode/xx.png)

        $drawing->setBarcode($code);
        $drawing->draw();
        // header('Content-Type: image/png');
        // header("Content-Disposition:attachment;filename='barcode.png'");
        $drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);
        return $img;
    }
评论数量: 0

0
点赞
240
浏览
0
评论

贡献 4
863401844
PHP工程师