Files
adaptronic_label-printer/old_code/README.md
NAME 6a11cf3d8d Clean repository and update .gitignore
- Remove build artifacts from git tracking (build/, dist/, __pycache__/, *.spec)
- Updated .gitignore to properly exclude generated files
- Added old_code/ documentation folder
- Updated sample_data.txt to show new 5-field format
- Exclude user-specific conf/app.conf from tracking
2026-02-13 23:41:34 +02:00

154 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Adaptronic Label Printer
Thermal label printing application with customizable SVG templates for 35mm x 25mm labels.
## Features
- 🎨 **Customizable Layouts** - SVG template system for flexible label design
- 📄 **High-Quality PDFs** - 1200 DPI output with automatic backup
- 🖨️ **Silent Printing** - SumatraPDF integration for automatic printing
- 📊 **Variable Support** - Dynamic text replacement ({Article}, {NrArt}, {Serial})
- 💾 **Automatic Backup** - All labels saved to pdf_backup/ with timestamps
- 🔍 **File Monitoring** - Watches check.txt for automatic label generation
## Quick Start
### Install Dependencies
```powershell
# Activate virtual environment
venv\Scripts\activate
# Install requirements
pip install -r requirements_gui.txt
```
### Run the Application
```powershell
python label_printer_gui.py
```
## Label Specifications
- **Size**: 35mm × 25mm (landscape)
- **Format**: Thermal labels (Citizen CTS-310, Zebra ZD420/ZD421)
- **Template**: `conf/label_template.svg`
- **Data Format**: Semicolon-separated (COMANDA;NR_ART;SERIAL)
## File Structure
```
adaptronic_label-printer/
├── label_printer_gui.py # Main GUI application
├── print_label.py # Printing logic
├── print_label_pdf.py # PDF generation with SVG support
├── requirements_gui.txt # Dependencies
├── conf/
│ ├── label_template.svg # Customizable label layout
│ └── app.conf # Application settings
├── pdf_backup/ # Auto-saved label PDFs
├── logs/ # Print logs
└── old_code/ # Legacy scripts (archived)
```
## Customizing Labels
Edit `conf/label_template.svg` to change the layout. Use these variables:
- `{Article}` - Article/Command number
- `{NrArt}` - Article number
- `{Serial}` - Serial number
After editing the SVG, labels will automatically use the new layout.
## Printing
### Silent Printing (Recommended)
Labels print automatically using SumatraPDF. No dialogs or manual steps required.
**SumatraPDF Locations Checked:**
1. Bundled with exe (for deployments)
2. `SumatraPDF/` folder in project directory
3. System installations (`C:\Program Files\SumatraPDF\`)
### PDF Printer Testing
Select "Microsoft Print to PDF" or similar PDF printer to test label generation without physical printing.
### Printer Configuration
For thermal printers, configure in Windows Printer Preferences:
- **Media Type**: LABELS (enables gap sensor)
- **Paper Size**: 35mm x 25mm or Custom
- **Orientation**: Landscape
- **Darkness**: 10-15 (medium)
- **Speed**: Medium (4-6 in/sec)
## Dependencies
Core:
- `reportlab` - PDF generation
- `svglib` - SVG to PDF conversion
- `cairosvg` - Alternative SVG renderer
- `watchdog` - File monitoring
GUI:
- `kivy` - Cross-platform interface
Optional:
- `pywin32` - Windows printer enumeration
- `pycups` - Linux printing support
## Troubleshooting
### Labels Print on Continuous Roll
**Cause**: Printer Media Type set to "Continuous" instead of "LABELS"
**Fix**: Change to "LABELS" in printer preferences
### Dotted or Pixelated Text
**Cause**: Low darkness setting or draft mode
**Fix**: Increase darkness to 12-15, ensure quality mode enabled
### PDF Not Printing Automatically
**Cause**: SumatraPDF not found
**Fix**: Install SumatraPDF or place in project folder
## Technical Details
### PDF Generation
- **Resolution**: 1200 DPI
- **Compression**: None (maximum quality)
- **Font Size**: 8pt (optimized for 35mm labels)
- **Format**: ReportLab with SVG embedding
### Print Workflow
1. Monitor `C:\Users\Public\Documents\check.txt` for changes
2. Parse semicolon-separated data
3. Replace variables in SVG template
4. Convert to high-quality PDF (35mm × 25mm)
5. Auto-save to `pdf_backup/`
6. Silent print via SumatraPDF
## Building Executable
```powershell
python build_exe.py
```
Output: `dist/LabelPrinter.exe`
## Support
- Tested on Windows 10/11
- Compatible with Citizen CTS-310, Zebra ZD420/ZD421
- Based on proven label printer architecture
---
**Status**: Production Ready ✅
**Last Updated**: February 2026