如何用脚本生成二维码

wen 实用脚本 3

本文目录导读:

如何用脚本生成二维码

  1. Python 方案(最常用)
  2. JavaScript 方案(Web端)
  3. 命令行工具(无需编程)
  4. Python Flask Web服务
  5. 一键批处理脚本
  6. 使用建议

我可以为您提供几种生成二维码的脚本方案,涵盖不同编程语言和使用场景:

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

使用建议

  1. 选择方案:根据使用场景选择合适的方式

    • Python:适合数据处理和批量生成
    • JavaScript:适合Web应用
    • 命令行:适合快速生成
  2. 参数调整

    • version:控制二维码大小(1-40)
    • error_correction:纠错级别(L=7%, M=15%, Q=25%, H=30%)
    • box_size:每个模块的像素大小
  3. 最佳实践

    • 测试生成后的二维码能否正常扫描
    • 保持足够的边距(至少4个模块宽度)
    • 使用高对比度颜色(黑/白最佳)

您需要哪种具体的实现方案?我可以提供更详细的代码示例。

抱歉,评论功能暂时关闭!