本文目录导读:

我可以为您提供几种生成二维码的脚本方案,涵盖不同编程语言和使用场景:
Python 方案(最常用)
使用 qrcode 库
# 安装:pip install qrcode[pil]
import qrcode
# 基础生成
img = qrcode.make('https://www.example.com')
img.save('qrcode.png')
# 高级配置
qr = qrcode.QRCode(
version=1, # 1-40,控制大小
error_correction=qrcode.constants.ERROR_CORRECT_L, # 纠错级别
box_size=10, # 每个格子的像素数
border=4, # 边框宽度
)
qr.add_data('https://www.example.com')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save('qrcode_detail.png')
批量生成
import qrcode
import os
# 批量生成二维码
urls = {
'google': 'https://www.google.com',
'github': 'https://github.com',
'python': 'https://www.python.org'
}
os.makedirs('qrcodes', exist_ok=True)
for name, url in urls.items():
img = qrcode.make(url)
img.save(f'qrcodes/{name}.png')
print(f'✓ 已生成 {name}.png')
JavaScript 方案(Web端)
使用 qrcode.js(浏览器)
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.min.js"></script>
</head>
<body>
<div id="qrcode"></div>
<script>
// 基础使用
new QRCode(document.getElementById("qrcode"), "https://www.example.com");
// 高级配置
new QRCode(document.getElementById("qrcode"), {
text: "https://www.example.com",
width: 256,
height: 256,
colorDark: "#000000",
colorLight: "#ffffff",
});
</script>
</body>
</html>
Node.js 方案
// 安装:npm install qrcode
const QRCode = require('qrcode');
// 生成文件
QRCode.toFile('./qrcode.png', 'https://www.example.com', {
color: {
dark: '#000000',
light: '#ffffff'
},
width: 300,
margin: 2
}, function(err) {
if (err) throw err;
console.log('二维码已生成');
});
// 生成 base64
QRCode.toDataURL('https://www.example.com', { width: 300 })
.then(url => {
console.log('Base64:', url);
})
.catch(err => console.error(err));
命令行工具(无需编程)
使用 Linux/Unix 命令
# 安装 qrencode
sudo apt-get install qrencode # Ubuntu/Debian
brew install qrencode # macOS
# 基本使用
qrencode -o qrcode.png "https://www.example.com"
# 自定义尺寸和颜色
qrencode -o qrcode.png -s 10 -m 2 "https://www.example.com"
# 批量生成
while read url; do
name=$(echo $url | md5sum | cut -d' ' -f1)
qrencode -o "qr_${name}.png" "$url"
done < urls.txt
Python Flask Web服务
# 安装:pip install flask qrcode
from flask import Flask, request, send_file
import qrcode
from io import BytesIO
app = Flask(__name__)
@app.route('/qrcode')
def generate_qrcode():
# 获取参数
data = request.args.get('data', 'https://www.example.com')
size = int(request.args.get('size', 300))
# 生成二维码
qr = qrcode.QRCode(version=1, box_size=10, border=4)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image()
# 转换为bytes
img_bytes = BytesIO()
img.save(img_bytes, format='PNG')
img_bytes.seek(0)
return send_file(img_bytes, mimetype='image/png')
if __name__ == '__main__':
app.run(debug=True)
一键批处理脚本
Windows Batch
@echo off echo 生成二维码工具 set /p url=请输入URL: qrencode -o output.png "%url%" echo 二维码已保存为 output.png pause
使用建议
-
选择方案:根据使用场景选择合适的方式
- Python:适合数据处理和批量生成
- JavaScript:适合Web应用
- 命令行:适合快速生成
-
参数调整:
version:控制二维码大小(1-40)error_correction:纠错级别(L=7%, M=15%, Q=25%, H=30%)box_size:每个模块的像素大小
-
最佳实践:
- 测试生成后的二维码能否正常扫描
- 保持足够的边距(至少4个模块宽度)
- 使用高对比度颜色(黑/白最佳)
您需要哪种具体的实现方案?我可以提供更详细的代码示例。