TP6框架下php&qrcode生成二维码且有文字输出

下载php&qrcode集成包(文章已于资源绑定,自行下载)

1.解压后只用到两个文件
在这里插入图片描述
2.fonts粘贴到public目录下
在这里插入图片描述
3.qrcode更改名称QRcode并放到extend的qrcode目录下,并在QRcode文件中加入命名空间:namespace qrcode;
在这里插入图片描述
4.在自己需要使用的控制类里引入:use qrcode\QRcode;

	/**
     * 生成二维码
     * @param $content 二维码内容
     * @param $param
     * @return string
     */
   public function createCode($content, $param)
    {
        try{
            // 删除更新前的二维码
            if ($param["table_code_path"]) {
                unlink($_SERVER['DOCUMENT_ROOT']."/".$param["table_code_path"]);
            }
            $url = “http://www.baidu.com”; // $content 二维码内容 例如扫码跳转百度
            $errorCorrectionLevel = "L"; // 容错级别
            $matrixPointSize = 15;   // 图片大小
            //生成二维码图片
            // 判断是否有这个文件夹  没有的话就创建一个
            if (!is_dir("qrcode/table_qrcode")) {
                // 创建文件夹
                mkdir("qrcode/table_qrcode",0777,true);
            }
            //设置二维码文件名
            $filename = 'qrcode/table_qrcode/' .  date('Y-m-d') . rand(10000, 99999) . '.png';
            // 生成二维码
            QRcode::png($url, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
            // 二维码绝对路径
            $table_path_code = $_SERVER['DOCUMENT_ROOT']."/".$filename;
            $image = imagecreatefrompng($table_path_code);
            $font = $_SERVER['DOCUMENT_ROOT'].'/fonts/simsun.ttc'; // 字体文件 要上传到/public/fonts目录下
            $color = imagecolorallocate($image,0,0,0); // 文字颜色
            imagettftext($image, 16, 0, 150, 425, $color, $font, '二维码码:'.$param["table_code"]);
            imagepng($image, $table_path_code);
            // 删除原来的图片
            imagedestroy($image);
            return $filename; // 二维码地址
        }catch (\Exception $e){
            return $this->jsonError(config("responseText.text.error"));
        }
    }

二维码只能打码,不然审核不过

在这里插入图片描述
5.前端通过图片地址下载和打印

①下载:
		<div><a style="color: #0D9AFF;text-decoration: underline;" download='文件名称'  href='图片地址'>点击下载</a></div>
②打印:
		var v = document.createElement("div");
        $(v).append(table_code_img_path + "</div>"); // table_code_img_path 图片地址
         var h = window.open("Print_window", "_blank");
         h.document.write($(v).prop("outerHTML"));
         h.document.close();
         h.print();
         h.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值