From 5e1cdfb9e5024dd55088205a65cb421d21c037aa Mon Sep 17 00:00:00 2001 From: Quality App Developer Date: Thu, 5 Feb 2026 01:20:32 +0200 Subject: [PATCH] Add comprehensive README documentation - Complete project overview and features - Quick start guides for both Python and executable - Step-by-step PyInstaller build instructions - File structure and dependencies overview - Troubleshooting section - Platform support matrix - Technical specifications - Contributing guidelines --- README.md | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1e04416 --- /dev/null +++ b/README.md @@ -0,0 +1,234 @@ +# Label Printer GUI + +A cross-platform barcode label printing application with a modern GUI. Create, generate, and print labels with automatic Code128 barcode encoding. + +## Features + +✨ **Core Features** +- 🎨 Beautiful Kivy GUI interface +- 📊 Automatic Code128 barcode generation +- 📄 High-quality PDF label generation +- 💾 Automatic PDF backup system +- ✅ Input validation with 25-character limit +- 🔢 Number-only filter for quantity field + +🖨️ **Printer Support** +- Windows printer detection and printing +- Linux CUPS printer support +- macOS printing support +- PDF fallback (works everywhere) + +🚀 **Distribution** +- PyInstaller support for standalone Windows .exe +- No Python installation needed +- Cross-platform source code (Windows, Linux, macOS) + +## Quick Start + +### Option 1: Python Source (Recommended for Development) + +```bash +# 1. Clone/Download the project +cd Label-design + +# 2. Create virtual environment +python -m venv venv +source venv/bin/activate # On Windows: venv\Scripts\activate + +# 3. Install dependencies +pip install -r requirements_gui.txt + +# 4. Run the app +python label_printer_gui.py +``` + +### Option 2: Windows Standalone Executable + +1. Download `LabelPrinter.exe` from releases +2. Double-click to run (no Python needed!) +3. First run takes ~5 seconds to initialize + +## Building Your Own Executable + +### Windows Build Steps + +```bash +# 1. Activate virtual environment +venv\Scripts\activate + +# 2. Install PyInstaller +pip install pyinstaller + +# 3. Build executable +python build_exe.py +``` + +Your executable will be in `dist/LabelPrinter.exe` (~200 MB) + +### Manual Build Command + +```bash +pyinstaller --onefile --windowed --name=LabelPrinter ^ + --hidden-import=kivy ^ + --hidden-import=kivy.core.window ^ + --hidden-import=kivy.core.text ^ + --hidden-import=kivy.core.image ^ + --hidden-import=kivy.uix.boxlayout ^ + --hidden-import=kivy.uix.gridlayout ^ + --hidden-import=kivy.uix.label ^ + --hidden-import=kivy.uix.textinput ^ + --hidden-import=kivy.uix.button ^ + --hidden-import=kivy.uix.spinner ^ + --hidden-import=kivy.uix.scrollview ^ + --hidden-import=kivy.uix.popup ^ + --hidden-import=kivy.clock ^ + --hidden-import=kivy.graphics ^ + --hidden-import=PIL ^ + --hidden-import=barcode ^ + --hidden-import=reportlab ^ + --hidden-import=print_label ^ + --hidden-import=print_label_pdf ^ + label_printer_gui.py +``` + +## File Structure + +``` +Label-design/ +├── label_printer_gui.py # Main GUI application +├── print_label.py # Printing functionality +├── print_label_pdf.py # PDF generation +├── build_exe.py # PyInstaller build script +├── requirements_gui.txt # GUI dependencies +├── pdf_backup/ # Generated label PDFs +├── dist/ # Built executables +├── documentation/ # Docs and guides +│ ├── WINDOWS_SETUP.md +│ ├── PYINSTALLER_GUIDE.md +│ └── [other docs] +└── venv/ # Python virtual environment +``` + +## Dependencies + +**Required (Core):** +- `python-barcode` - Barcode generation +- `pillow` - Image processing +- `reportlab` - PDF generation + +**GUI:** +- `kivy` - Cross-platform GUI framework + +**Optional (Printing):** +- `pycups` - Linux CUPS support +- `pywin32` - Windows printer support + +## Usage + +### Basic Workflow + +1. **Enter Data:** + - **SAP-Nr**: Article code (up to 25 chars) + - **Cantitate**: Quantity (numbers only) + - **ID rola**: Reel/Cable ID (up to 25 chars) + +2. **Select Printer:** + - Choose from detected printers + - Or select "PDF" for PDF output + +3. **Print:** + - Click "PRINT LABEL" + - PDF is auto-saved to `pdf_backup/` folder + - Label sent to printer + +### PDF Backup + +All generated labels are automatically saved with timestamps: +``` +pdf_backup/ +├── final_label_20260205_120530.pdf +├── final_label_20260205_120542.pdf +└── final_label_20260205_120555.pdf +``` + +## Guides + +- **[WINDOWS_SETUP.md](documentation/WINDOWS_SETUP.md)** - Windows installation guide +- **[PYINSTALLER_GUIDE.md](documentation/PYINSTALLER_GUIDE.md)** - Building executables +- **[documentation/](documentation/)** - All documentation + +## Troubleshooting + +### "No Printers Found" +This is normal. Select "PDF" option - labels will be saved to `pdf_backup/` folder. + +### "GUI Won't Start" +Ensure all dependencies are installed: +```bash +pip install -r requirements_gui.txt +``` + +### Windows Executable Issues +- Update PyInstaller: `pip install --upgrade pyinstaller` +- Rebuild: `python build_exe.py` +- Check dependencies: `pip list` + +### Kivy Graphics Issues +On Linux, you may need SDL2 dependencies: +```bash +sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev +``` + +## Platform Support + +| Platform | Source | Executable | Status | +|----------|--------|-----------|--------| +| Windows | ✅ Yes | ✅ Yes | ✅ Fully Supported | +| Linux | ✅ Yes | ❌ No | ✅ Fully Supported | +| macOS | ✅ Yes | ⚠️ Possible | ⚠️ Untested | + +## Technical Details + +### Barcode Format +- **Type**: Code128 +- **Max Length**: 25 characters +- **DPI**: 300 (print quality) + +### PDF Specifications +- **Page Size**: 11.5 x 8 cm (landscape) +- **Quality**: High-resolution barcodes +- **Font**: Helvetica with automatic sizing + +### GUI Specifications +- **Framework**: Kivy 2.3+ +- **Size**: 420 x 700 pixels (mobile-optimized) +- **Color**: White text on dark background + +## Contributing + +Feel free to fork, modify, and improve! + +Suggested improvements: +- [ ] Custom barcode formats (QR, Code39, etc.) +- [ ] Batch label printing +- [ ] Label preview before printing +- [ ] Printer-specific settings +- [ ] Multi-language support +- [ ] Database integration + +## License + +Open source - modify and use freely + +## Support + +For issues, questions, or suggestions: +1. Check the documentation in `documentation/` folder +2. Review the code comments +3. Test with the source code first before building exe + +--- + +**Status**: Production Ready ✅ + +Last Updated: February 2026