Über Web, Tech, Games, Art,
Musik, Code & Design

13. Dezember 2024

SVG-QR-Codes generieren mit Python

Mit diesem Python Skript kannst du aus einer Liste von URLs SVG-QR-Codes erzeugen. Hierzu musst du zunächst 2 Pakete installieren. Öffne das Terminal und führe folgenden Befehl aus:

pip3 install qrcode svgwrite

Anschließend erstellst du eine Datei namens generate.py mit folgendem Inhalt:

import qrcode
import svgwrite
from urllib.parse import urlparse

def generate_filename_from_url(url):
    parsed_url = urlparse(url)
    path = parsed_url.path.strip('/')
    parts = [parsed_url.netloc] + path.split('/')
    filename = "qr-" + "-".join(parts).replace('.', '-').replace('_', '-') + ".svg"
    return filename

def save_qrcode_svg(data, filename):
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    qr.add_data(data)
    qr.make(fit=True)

    size = len(qr.modules) * 10  # 10 ist die box_size

    dwg = svgwrite.Drawing(filename, size=(size, size), profile='tiny')

    for row, line in enumerate(qr.modules):
        for col, module in enumerate(line):
            if module:
                dwg.add(dwg.rect(insert=(col * 10, row * 10), size=(10, 10), fill='black'))

    dwg.save()

with open('urls.txt', 'r') as file:
    urls = file.readlines()

for url in urls:
    url = url.strip()  
    if url: 
        filename = generate_filename_from_url(url)
        save_qrcode_svg(url, filename)
        print(f"QR-Code für URL {url} wurde gespeichert als {filename}")
Code-Sprache: PHP (php)

Außerdem erstellst du eine Datei namens urls.txt im gleichen Verzeichnis. Dort trägst du die gewünschten URLS ein – eine pro Zeile.

Jetzt navigierst du im Terminal in das Verzeichnis. Z.B.

cd python/qr-code-generator

… und führst das Python Skript mit folgendem Befehl aus:

python3 generate.pyCode-Sprache: CSS (css)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert