qr-generator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

QR Code Generator Skill

QR Code Generator Skill

Generate QR codes for various data types using Python's qrcode library.
使用Python的qrcode库为多种数据类型生成二维码。

When to Use

使用场景

USE this skill when:
  • "Generate a QR code for this URL"
  • "Create QR code for WiFi credentials"
  • "Make a QR code for contact info"
  • "Generate QR for this text"
适用场景:
  • "为该网址生成二维码"
  • "创建WiFi凭证二维码"
  • "制作联系人信息二维码"
  • "为这段文本生成二维码"

When NOT to Use

不适用场景

DON'T use this skill when:
  • Reading/scanning QR codes → use mobile device or dedicated scanner
  • Creating barcodes (non-QR) → use barcode libraries
请勿在以下场景使用:
  • 读取/扫描二维码 → 使用移动设备或专用扫描器
  • 创建条形码(非二维码) → 使用条形码相关库

Setup

安装步骤

Install required package:
bash
pip install qrcode pillow
安装所需依赖包:
bash
pip install qrcode pillow

Commands

命令示例

Basic QR Code

基础二维码生成

bash
{baseDir}/qr.sh "https://example.com"
{baseDir}/qr.sh "Hello, World!" --out /tmp/qr.png
bash
{baseDir}/qr.sh "https://example.com"
{baseDir}/qr.sh "Hello, World!" --out /tmp/qr.png

WiFi QR Code

WiFi二维码生成

bash
{baseDir}/qr-wifi.sh --ssid "MyNetwork" --password "secret123"
{baseDir}/qr-wifi.sh --ssid "MyNetwork" --password "secret123" --security WPA3
bash
{baseDir}/qr-wifi.sh --ssid "MyNetwork" --password "secret123"
{baseDir}/qr-wifi.sh --ssid "MyNetwork" --password "secret123" --security WPA3

vCard QR Code

vCard联系人二维码生成

bash
{baseDir}/qr-vcard.sh --name "John Doe" --phone "+1234567890" --email "john@example.com"
{basedir}/qr-vcard.sh --name "Jane Doe" --phone "+1234567890" --org "Company" --url "https://example.com"
bash
{baseDir}/qr-vcard.sh --name "John Doe" --phone "+1234567890" --email "john@example.com"
{basedir}/qr-vcard.sh --name "Jane Doe" --phone "+1234567890" --org "Company" --url "https://example.com"

Email QR Code

邮件二维码生成

bash
{baseDir}/qr-email.sh --to "user@example.com" --subject "Hello" --body "Check this out"
bash
{baseDir}/qr-email.sh --to "user@example.com" --subject "Hello" --body "Check this out"

Customize Options

自定义选项

bash
{baseDir}/qr.sh "data" --size 20 --border 4 --color black --bg white
{baseDir}/qr.sh "data" --out /tmp/custom.png --size 30 --border 2
bash
{baseDir}/qr.sh "data" --size 20 --border 4 --color black --bg white
{baseDir}/qr.sh "data" --out /tmp/custom.png --size 30 --border 2

Options

参数选项

  • --out <path>
    : Output file path (default: qr.png)
  • --size <N>
    : Module size in pixels (default: 10)
  • --border <N>
    : Border size in modules (default: 4)
  • --color <color>
    : QR code color (default: black)
  • --bg <color>
    : Background color (default: white)
  • --format <fmt>
    : Output format: PNG, SVG (default: PNG)
  • --out <path>
    : 输出文件路径(默认值:qr.png)
  • --size <N>
    : 模块像素大小(默认值:10)
  • --border <N>
    : 边框模块大小(默认值:4)
  • --color <color>
    : 二维码颜色(默认值:black)
  • --bg <color>
    : 背景颜色(默认值:white)
  • --format <fmt>
    : 输出格式:PNG、SVG(默认值:PNG)

Output Formats

输出格式

PNG

PNG

Binary image file, widely compatible.
二进制图像文件,兼容性广泛。

SVG

SVG

Vector format, scalable without quality loss.
矢量格式,可无损缩放。

Examples

示例

URL QR Code:
bash
{baseDir}/qr.sh "https://mywebsite.com/page?id=123" --out website.png
WiFi QR Code (guests can scan to connect):
bash
{baseDir}/qr-wifi.sh --ssid "GuestNetwork" --password "guestpass" --security WPA
Contact QR Code (scan to add to contacts):
bash
{baseDir}/qr-vcard.sh --name "Alice Smith" --phone "+15551234567" --email "alice@example.com"
网址二维码:
bash
{baseDir}/qr.sh "https://mywebsite.com/page?id=123" --out website.png
WiFi二维码(访客可扫码连接):
bash
{baseDir}/qr-wifi.sh --ssid "GuestNetwork" --password "guestpass" --security WPA
联系人二维码(扫码添加至通讯录):
bash
{baseDir}/qr-vcard.sh --name "Alice Smith" --phone "+15551234567" --email "alice@example.com"

Notes

注意事项

  • QR codes can store up to ~4KB of data
  • Larger data = denser QR = harder to scan
  • Use URL shorteners for very long URLs
  • Error correction allows partial damage recovery
  • 二维码最多可存储约4KB数据
  • 数据量越大,二维码越密集,越难扫描
  • 超长网址建议使用短链接工具
  • 纠错功能支持部分损坏的二维码恢复读取