Initial commit: PDF zu ICS Konverter
This commit is contained in:
178
ZUSAMMENFASSUNG.md
Normal file
178
ZUSAMMENFASSUNG.md
Normal file
@@ -0,0 +1,178 @@
|
||||
# 📋 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
|
||||
- **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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 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
|
||||
|
||||
---
|
||||
|
||||
## 📞 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:** 23. Februar 2026
|
||||
**Status:** ✅ Einsatzbereit
|
||||
Reference in New Issue
Block a user