- 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
190 lines
4.3 KiB
Markdown
190 lines
4.3 KiB
Markdown
# Label Printing - New Features Guide
|
||
|
||
## Overview
|
||
|
||
The label printer now supports:
|
||
1. **Multiple Templates** - Choose between OK and NOK labels
|
||
2. **Multiple Copies** - Print multiple labels in one operation
|
||
|
||
## File Format
|
||
|
||
The monitored file (`check.txt`) now supports an extended format:
|
||
|
||
```
|
||
ARTICLE;NR_ART;SERIAL;TEMPLATE_TYPE;COUNT
|
||
```
|
||
|
||
### Parameters
|
||
|
||
| Parameter | Position | Description | Values | Default |
|
||
|-----------|----------|-------------|--------|---------|
|
||
| ARTICLE | 1 | Article/Command number | Any text | Required |
|
||
| NR_ART | 2 | Article number | Any text | Required |
|
||
| SERIAL | 3 | Serial number | Any text | Required |
|
||
| TEMPLATE_TYPE | 4 | Template selection | 0 = OK, 1 = NOK | 0 (OK) |
|
||
| COUNT | 5 | Number of copies | 1-100 | 1 |
|
||
|
||
## Templates
|
||
|
||
### Template Files
|
||
|
||
- `conf/label_template_ok.svg` - Template for OK labels (TEMPLATE_TYPE=0)
|
||
- `conf/label_template_nok.svg` - Template for NOK labels (TEMPLATE_TYPE=1)
|
||
- `conf/label_template.svg` - Default fallback template
|
||
|
||
### Customizing Templates
|
||
|
||
Edit the SVG files to customize the layout:
|
||
- Both templates use the same variables: `{Article}`, `{NrArt}`, `{Serial}`
|
||
- Modify colors, fonts, or layout as needed
|
||
- Keep dimensions at 35mm × 25mm (landscape)
|
||
|
||
## Usage Examples
|
||
|
||
### Example 1: Print 1 OK Label
|
||
```
|
||
COM-2024-001;ART-12345;SN-20260213-001;0;1
|
||
```
|
||
|
||
### Example 2: Print 3 OK Labels
|
||
```
|
||
COM-2024-002;ART-67890;SN-20260213-002;0;3
|
||
```
|
||
|
||
### Example 3: Print 1 NOK Label
|
||
```
|
||
COM-2024-003;ART-11111;SN-20260213-003;1;1
|
||
```
|
||
|
||
### Example 4: Print 5 NOK Labels
|
||
```
|
||
COM-2024-004;ART-22222;SN-20260213-004;1;5
|
||
```
|
||
|
||
### Example 5: Backward Compatibility (Old Format)
|
||
```
|
||
COM-2024-005;ART-33333;SN-20260213-005
|
||
```
|
||
This will default to OK template with 1 copy.
|
||
|
||
## Testing
|
||
|
||
### Quick Test
|
||
|
||
1. **Start the application**:
|
||
```powershell
|
||
.\venv\Scripts\python.exe label_printer_gui.py
|
||
```
|
||
|
||
2. **Select your printer** in the GUI
|
||
|
||
3. **Edit the monitored file** (default: `C:\Users\Public\Documents\check.txt`):
|
||
```
|
||
TEST-OK;123456;SN-001;0;2
|
||
```
|
||
|
||
4. **Save the file** - The app will automatically:
|
||
- Detect OK template (type=0)
|
||
- Print 2 copies
|
||
|
||
5. **Test NOK template**:
|
||
```
|
||
TEST-NOK;789012;SN-002;1;1
|
||
```
|
||
|
||
### PDF Testing
|
||
|
||
Use "Microsoft Print to PDF" to test without physical printer:
|
||
- Select "Microsoft Print to PDF" in the GUI
|
||
- PDFs will be saved to `pdf_backup/` folder
|
||
- Check that the correct template was used
|
||
|
||
## Workflow
|
||
|
||
```
|
||
File Modified
|
||
↓
|
||
Read Parameters (Article, NrArt, Serial, Template, Count)
|
||
↓
|
||
Select Template (OK or NOK)
|
||
↓
|
||
For each copy (1 to Count):
|
||
├─ Generate PDF from SVG template
|
||
├─ Replace variables {Article}, {NrArt}, {Serial}
|
||
├─ Save to pdf_backup/
|
||
└─ Print via SumatraPDF
|
||
↓
|
||
Clear file (write "-")
|
||
↓
|
||
Show success message
|
||
```
|
||
|
||
## Safety Limits
|
||
|
||
- **Maximum copies**: 100 per operation
|
||
- **Minimum copies**: 1
|
||
- Invalid values default to 1 copy
|
||
|
||
## Troubleshooting
|
||
|
||
### Template Not Found
|
||
- **Symptom**: Message "Using SVG template: conf/label_template.svg"
|
||
- **Cause**: `label_template_ok.svg` or `label_template_nok.svg` missing
|
||
- **Fix**: Ensure both template files exist in `conf/` folder
|
||
|
||
### Wrong Template Printed
|
||
- **Symptom**: NOK template used when OK expected
|
||
- **Cause**: TEMPLATE_TYPE parameter incorrect
|
||
- **Fix**: Check 4th parameter is 0 for OK, 1 for NOK
|
||
|
||
### Only 1 Label Printed
|
||
- **Symptom**: COUNT parameter ignored
|
||
- **Cause**: Invalid COUNT value or missing parameter
|
||
- **Fix**: Ensure 5th parameter is a number between 1-100
|
||
|
||
## Technical Details
|
||
|
||
### File Parsing
|
||
|
||
The system tries:
|
||
1. **Semicolon format**: `value1;value2;value3;value4;value5`
|
||
2. **Key=value format** (fallback):
|
||
```
|
||
article=COM-2024-001
|
||
nr_art=ART-12345
|
||
serial=SN-001
|
||
template=0
|
||
count=3
|
||
```
|
||
|
||
### Multiple Copy Handling
|
||
|
||
- Each label is printed sequentially
|
||
- 0.5 second delay between copies
|
||
- Progress shown in GUI for multiple copies
|
||
- All copies use the same PDF template
|
||
|
||
### Backward Compatibility
|
||
|
||
Old format (3 parameters) still works:
|
||
```
|
||
ARTICLE;NR_ART;SERIAL
|
||
```
|
||
Automatically uses: OK template, 1 copy
|
||
|
||
## Log Files
|
||
|
||
Print actions are logged to `logs/print_log_YYYYMMDD.csv`:
|
||
- Date/Time
|
||
- Article, NrArt, Serial
|
||
- Printer name
|
||
- PDF filename
|
||
- Template used
|
||
- Number of copies
|
||
- Success/Failure status
|
||
|
||
---
|
||
|
||
**Version**: February 2026
|
||
**Compatible with**: Citizen CTS-310, Zebra ZD420/ZD421
|