Files
pdf_to_ics/ZUSAMMENFASSUNG.md
2026-03-02 18:03:59 +01:00

5.7 KiB

📋 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:

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:

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