QR Code Version/Complexity Configuration #21

Open
opened 2026-01-16 04:30:33 +00:00 by tonym · 0 comments
Owner

Summary

Make QR code version (module count) configurable for better printing on low-DPI label printers.

Upstream Issue

Problem

Budget 203 DPI label printers with small labels (40x25mm) struggle to print the default QR code version (v3, 29x29 modules). Results in poor print quality and unreliable scanning.

Proposed Solutions

1. QR Version Setting

Allow user to select QR version:

  • Version 1: 21x21 modules (simplest)
  • Version 2: 25x25 modules
  • Version 3: 29x29 modules (current default)
  • Auto (based on content length)

2. Short URL Format

Use compact URL format to reduce QR complexity:

  • Current: https://spoolman.example.com/spool/show/123
  • Short: web+spoolman:s-3 (requires app handler)

3. Alphanumeric Encoding

Use uppercase-only URLs for alphanumeric QR encoding (more efficient than byte mode).

4. Error Correction Level

Allow configuring error correction:

  • L (7%) - smallest QR
  • M (15%) - default
  • Q (25%)
  • H (30%) - most redundancy
  • #3 QR Code Sizing Fixes (padding, max-width)
  • #13 QR Code Size Setting (physical size in mm)
  • This issue: QR complexity/version (module count)
## Summary Make QR code version (module count) configurable for better printing on low-DPI label printers. ## Upstream Issue - https://github.com/Donkie/Spoolman/issues/769 - Related PR: #777 (all caps short QR codes for alphanumeric encoding) ## Problem Budget 203 DPI label printers with small labels (40x25mm) struggle to print the default QR code version (v3, 29x29 modules). Results in poor print quality and unreliable scanning. ## Proposed Solutions ### 1. QR Version Setting Allow user to select QR version: - Version 1: 21x21 modules (simplest) - Version 2: 25x25 modules - Version 3: 29x29 modules (current default) - Auto (based on content length) ### 2. Short URL Format Use compact URL format to reduce QR complexity: - Current: `https://spoolman.example.com/spool/show/123` - Short: `web+spoolman:s-3` (requires app handler) ### 3. Alphanumeric Encoding Use uppercase-only URLs for alphanumeric QR encoding (more efficient than byte mode). ### 4. Error Correction Level Allow configuring error correction: - L (7%) - smallest QR - M (15%) - default - Q (25%) - H (30%) - most redundancy ## Related - #3 QR Code Sizing Fixes (padding, max-width) - #13 QR Code Size Setting (physical size in mm) - This issue: QR complexity/version (module count)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tonym/spoolman2#21
No description provided.