213 lines
5.7 KiB
Markdown
213 lines
5.7 KiB
Markdown
# 📋 Projekt-Zusammenfassung
|
|
|
|
## ✅ Projekt abgeschlossen!
|
|
|
|
Ihr PDF zu ICS Konverter für Dienstpläne ist vollständig eingerichtet und einsatzbereit.
|
|
|
|
---
|
|
|
|
## 📁 Projektstruktur
|
|
|
|
```
|
|
ICS-Import/
|
|
├── 📄 README.md ← ausführliche Dokumentation
|
|
├── 📄 QUICKSTART.md ← schnelle Anleitung
|
|
├── 📄 ZUSAMMENFASSUNG.md ← dieses Dokument
|
|
│
|
|
├── 🐍 pdf_to_ics.py ← Kern-Konvertierungsskript
|
|
├── 🎨 menu.py ← interaktives Benutzermenü
|
|
│
|
|
├── 🚀 start.sh ← Startskript (macOS/Linux)
|
|
├── 🚀 start.cmd ← Startskript (Windows)
|
|
│
|
|
├── 📦 .venv/ ← Python-Umgebung (automatisch)
|
|
│
|
|
└── 📝 PDF-Dateien & ICS-Dateien ← ihre Daten
|
|
├── 2026-02-23 DB Köhler00100718_März2026.pdf
|
|
└── 2026-02-23 DB Köhler00100718_März2026.ics ✓
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Was wurde erstellt
|
|
|
|
### 1. **PDF-Parser** (`pdf_to_ics.py`)
|
|
- Extrahiert Dienstplan-Informationen aus PDFs
|
|
- Erkennt Zeitangaben und Schichtdaten
|
|
- Erstellt valide iCalendar-Dateien
|
|
- Unterstützt mehrere PDF-Dateien
|
|
|
|
### 2. **Benutzermenü** (`menu.py`)
|
|
- Interaktive Oberfläche
|
|
- PDF-Verzeichnis durchsuchen
|
|
- Mehrere PDFs konvertieren
|
|
- Fehlerbehandlung
|
|
|
|
### 3. **Startskripte**
|
|
- Linux/macOS: `start.sh`
|
|
- Windows: `start.cmd`
|
|
- Automatische Umgebungseinrichtung
|
|
|
|
### 4. **Dokumentation**
|
|
- README.md - ausführliche Anleitung
|
|
- QUICKSTART.md - schnelle Einstieg
|
|
- Diese Zusammenfassung
|
|
|
|
---
|
|
|
|
## 🎛️ Verwendung
|
|
|
|
### Von der Kommandozeile:
|
|
```bash
|
|
cd /home/sebastian/Dokumente/ICS-Import
|
|
python3 pdf_to_ics.py # Alle PDFs konvertieren
|
|
python3 menu.py # Interaktives Menü
|
|
./start.sh # Schnellstart (Linux/macOS)
|
|
```
|
|
|
|
### Von Windows:
|
|
```
|
|
Doppelklick auf start.cmd
|
|
```
|
|
|
|
---
|
|
|
|
## 📅 Funktionen der erstellten ICS-Dateien
|
|
|
|
✅ **Vollständige Ereignisinformationen:**
|
|
- Titel: Name - Dienstart
|
|
- Beschreibung: Dienstart & Betriebshof
|
|
- Datum und Uhrzeit
|
|
- Zeitzone: Europe/Berlin
|
|
|
|
✅ **Intelligente Zeitverarbeitung:**
|
|
- Nachtschichten (über Mitternacht)
|
|
- Ganztagesveranstaltungen
|
|
- Automatische Zeitzone-Anpassung
|
|
|
|
✅ **Kalender-kompatibel mit:**
|
|
- Google Kalender ✓
|
|
- Outlook ✓
|
|
- Apple Kalender ✓
|
|
- Thunderbird ✓
|
|
- LibreOffice ✓
|
|
- Linux Kalender-Apps ✓
|
|
|
|
---
|
|
|
|
## 🔧 Technische Details
|
|
|
|
- **Sprache:** Python 3.6+
|
|
- **Abhängigkeiten:** pdfplumber, icalendar, pytz, pypdf2, packaging
|
|
- **Format:** iCalendar 2.0 (RFC 5545)
|
|
- **Umgebung:** Python virtual environment (.venv)
|
|
|
|
### Installierte Pakete:
|
|
```
|
|
pdfplumber==0.10.0+ - PDF-Datenextraktion
|
|
icalendar==5.0.0+ - ICS-Datei-Erstellung
|
|
pytz - Zeitzonenverwaltung
|
|
pypdf2 - PDF-Parsing
|
|
packaging - Versionsvergleich
|
|
```
|
|
|
|
---
|
|
|
|
## 💡 Nächste Schritte
|
|
|
|
### 1. **Ihre erste Konvertierung:**
|
|
```bash
|
|
cd /home/sebastian/Dokumente/ICS-Import
|
|
./start.sh
|
|
```
|
|
Wählen Sie Option "1. PDF(s) konvertieren"
|
|
|
|
### 2. **ICS in Kalender importieren:**
|
|
- Siehe README.md für Anleitung pro Kalender-App
|
|
- Oder siehe QUICKSTART.md für schnelle Übersicht
|
|
|
|
### 3. **Weitere PDFs hinzufügen:**
|
|
- Kopieren Sie PDF-Dateien in das Verzeichnis
|
|
- Das Programm verarbeitet sie automatisch
|
|
|
|
---
|
|
|
|
## 🐛 Fehlerbehebung
|
|
|
|
| Problem | Lösung |
|
|
|---------|--------|
|
|
| "Keine PDF gefunden" | PDFs müssen im Projektverzeichnis sein |
|
|
| "Keine Events" | PDF muss das richtige Tabellenformat haben |
|
|
| "Zeitzone falsch" | Bearbeiten Sie `pdf_to_ics.py` Zeile mit `pytz.timezone()` |
|
|
| Import-Fehler in Kalender | Stelle sicher, dass die `.ics` Datei nicht beschädigt ist |
|
|
|
|
---
|
|
|
|
## 📊 Beispiel-Output
|
|
|
|
```
|
|
Verarbeite: 2026-02-23 DB Köhler00100718_März2026.pdf
|
|
Name: Sebastian Köhler
|
|
Personalnummer: 00100718
|
|
Betriebshof: NSCH3
|
|
Anzahl der Events: 31
|
|
✓ ICS-Datei erstellt: 2026-02-23 DB Köhler00100718_März2026.ics
|
|
```
|
|
|
|
Jedes Event in der ICS-Datei:
|
|
- **Datum:** Automatisch aus PDF extrahiert
|
|
- **Zeit:** z.B. 04:51-15:46 Uhr
|
|
- **Titel:** z.B. "Sebastian Köhler - 36234"
|
|
- **Beschreibung:** Dienstart & Betriebshof
|
|
|
|
---
|
|
|
|
## 📝 Changelog (März 2026)
|
|
|
|
### v1.2.2
|
|
|
|
- README grundlegend strukturiert und bereinigt
|
|
- Installationshinweise nach Betriebssystem ergänzt (Linux, macOS, Windows)
|
|
- Standalone-Hinweise im README klar hervorgehoben
|
|
- Schnellstart und Troubleshooting kompakter und ohne Redundanzen
|
|
|
|
### v1.2.1
|
|
|
|
- Standalone-Build-Workflow mit PyInstaller ergänzt (`build/build_*.{sh,cmd}`)
|
|
- Packaging-Skripte für Release-Artefakte ergänzt:
|
|
- Linux: `.tar.gz`
|
|
- macOS: `.zip`
|
|
- Windows: `.zip`
|
|
- Neue Build-Dokumentation `BUILD_STANDALONE.md`
|
|
- `.gitignore` um Build-Artefakte erweitert (`dist/`, `release/`, `*.spec`, `build/PDFtoICS/`)
|
|
|
|
### v1.2.0
|
|
|
|
- GUI-Technik vollständig auf **wxPython** umgestellt
|
|
- Standard-Startpfade auf `gui_wxpython.py` angepasst (`start_gui.sh`, `start_gui.cmd`, `install.sh`)
|
|
- Linux-Hinweise für wxPython-Build-Abhängigkeiten ergänzt
|
|
- Alte Tkinter-GUI-Datei `gui.py` entfernt
|
|
- Neue Exportoption ergänzt: **Urlaub ausschließen (060/0060)**
|
|
- GUI: zusätzliche Checkbox
|
|
- CLI: `--exclude-vacation` / `-u`
|
|
- Core-Logik: Urlaubseinträge werden optional nicht in ICS exportiert
|
|
- Dokumentation konsolidiert und auf wxPython-only aktualisiert
|
|
|
|
---
|
|
|
|
## 📞 Support
|
|
|
|
Für detaillierte Informationen:
|
|
- **README.md** - Ausführliche Dokumentation
|
|
- **QUICKSTART.md** - Schnelle Anleitung zum Import
|
|
- **Python-Code** - Gut kommentiert und erweiterbar
|
|
|
|
---
|
|
|
|
## 🎉 Fertig!
|
|
|
|
Ihr System ist bereit. Viel Erfolg mit der Dienstplan-Verwaltung! 📅✨
|
|
|
|
**Letzte Änderung:** 2. März 2026
|
|
**Status:** ✅ Einsatzbereit
|