请问该怎么做才能将文字说明和二维码一起作为png图片一起下载?在二维码中添加文字又会被二维码遮挡调整文字距离后超过二维码距离又不显示文字
在前端页面的显示
作为图片下载后的图片样式
<!DOCTYPE html>
<html lang="en">
<head>
<title>工位信息填报</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../css/QRcode.css">
</head>
<body>
</body>
</html>
<?php
// 连接MySQL数据库
$con=mysqli_connect("localhost","root","zsc%1234","textplain");
if (!$con) {
echo "连接数据库失败";
}
// 准备查询语句
$sql = "SELECT * FROM station";
// 执行查询语句
$result = mysqli_query($con, $sql);
// 获取查询结果
$employee_list = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 输出JSON格式的员工列表
//echo json_encode($employee_list);
// 循环获取员工信息并生成二维码
foreach ($employee_list as $employee) {
// 构建二维码字符串
if($employee['userName']&&$employee['workOrder']){
$qr_url="http://localhost/myWEB/stationManagementSystem/html/getinformation.php?statioNum=".urlencode($employee['statioNum'])."&bulid=".urlencode($employee['bulid'])."&floor=".urlencode($employee['floor'])."&userName=".urlencode($employee['userName'])."&workOrder=".urlencode($employee['workOrder']);
}else{
$qr_url="http://localhost/myWEB/stationManagementSystem/html/getinformation.php?statioNum=".urlencode($employee['statioNum'])."&bulid=".urlencode($employee['bulid'])."&floor=".urlencode($employee['floor']);
}
// 输出二维码容器
echo '';
// 输出二维码图片和工位位置的文字说明
echo '$employee['statioNum'] . '">';
echo '' . $employee['statioNum'] . '';
// 引入 QRCodejs2 和 FileSaver.js
echo '<script src="../node_modules/qrcodejs2/qrcode.min.js"></script>';
echo '<script src="../js/FileSaver.js-master/dist/FileSaver.min.js"></script>';
// 生成二维码并保存为文件
echo '<script>
var size = 256; // 二维码大小
var qrcode = new QRCode("qrcode-' . $employee['statioNum'] . '", {
text: "' . $qr_url . '",
width: size,
height: size,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
// 绘制文字
var canvas = document.getElementById("qrcode-' . $employee['statioNum'] . '").getElementsByTagName("canvas")[0];
var ctx = canvas.getContext("2d");
ctx.font = "14px Arial";
ctx.fillStyle = "#FF0000";
ctx.textAlign = "center";
ctx.fillText("' . $employee['statioNum'] . '", size/2, size);
// 保存为文件
canvas.toBlob(function(blob){saveAs(blob,"'.$employee['statioNum'].'.png");});
</script>';
echo '';
}
// 关闭数据库连接
mysqli_close($con);
?>