Generate ready-to-print QSL label strips (PDF) directly from your ADIF logbook.
997
Generate ready-to-print QSL label strips (PDF) directly from your ADIF logbook — optimized for the Brother QL-700 label printer using a 62 mm continuous roll (e.g. DK-22205).
✅ Reads standard .adif log files (which may come from GridTracker2 or other logging software)
✅ Generates one label per QSO as PDF
✅ Includes Callsign (16 pt), Date, Time, Band, Frequency, Mode, RST, Grid, and optional Name/QTH
✅ Uses precise layout for 62 mm continuous labels (Brother QL-700)
✅ Runs fully automatically inside a lightweight Python 3.11 container
Each printed label contains:
OE6XYZ
Date: 20251101, Time: 1810 UTC
Freq: 3.575440 MHz, Mode: FT8
RST: -01/-08
→ PDF is directly printable from any OS, no P-Touch Editor required. → Use “Actual Size” / “No Scaling” for correct print alignment.
1️⃣ Build locally
docker build -t qsl-labels .
2️⃣ Prepare your data
Place your ADIF file (e.g. logbook.adif) in a local folder:
/home/user/qsl-data/logbook.adif
3️⃣ Run the container
docker run --rm \
-v "/home/user/qsl-data:/data" \
-e ADIF_FILE="/data/logbook.adif" \
-e OUTPUT_FILE="/data/qsl_labels_ql700.pdf" \
bytebang/qsl-labels
After execution, you’ll find:
/home/user/qsl-data/qsl_labels_ql700.pdf
Variable Default Description ADIF_FILE /data/logbook.adi Path to your ADIF file inside the container OUTPUT_FILE /data/qsl_labels_ql700.pdf Output PDF path LABEL_HEIGHT 30 mm (fixed) Adjust label height if needed
Use Brother QL-700 (or compatible) with:
Label roll: 62 mm continuous (e.g. DK-22205)
Print settings:
Base image: python:3.11-slim
Dependencies:
adif-io
for ADIF parsing
reportlab
for PDF rendering
Output format: PDF, one label per page
Content type
Image
Digest
sha256:48ec8d8b2…
Size
58.9 MB
Last updated
11 months ago
docker pull bytebang/qsl-labels