webfarben 13c280e929 GUI-Version mit Tkinter hinzugefügt
- gui.py: Grafische Benutzeroberfläche
- start_gui.sh/cmd: Startskripte für GUI
- GUI_README.md: Installationsanleitung für Tkinter
- Features: PDF-Verwaltung, Fortschrittsanzeige, Live-Log
2026-02-23 11:10:57 +01:00
2026-02-23 11:10:57 +01:00
2026-02-23 10:45:26 +01:00
2026-02-23 10:45:26 +01:00
2026-02-23 10:45:26 +01:00
2026-02-23 10:45:26 +01:00

PDF zu ICS Konverter - Dienstplan Importer

Dieses Tool extrahiert Kalenderdaten aus Dienstplan-PDFs und konvertiert sie in das iCalendar-Format (ICS), das von den meisten Kalenderanwendungen importiert werden kann.

Features

Extrahiert Dienstplan-Informationen aus PDFs Erkennt Schicht-Zeitangaben (z.B. 04:51-15:46) Handhabt Nachtschichten korrekt (über Mitternacht hinaus) Erstellt Standard-konforme ICS-Dateien Unterstützt mehrere PDFs gleichzeitig Benutzerfreundliche Oberfläche

Installation

Die erforderlichen Dependencies sind bereits installiert. Falls Sie das Projekt neu einrichten:

python3 -m venv .venv
source .venv/bin/activate
pip install pdfplumber icalendar pypdf2 pytz

Verwendung

Schnellstart

  1. Kopieren Sie Ihre Dienstplan-PDF-Dateien in dieses Verzeichnis
  2. Führen Sie das Skript aus:
python3 pdf_to_ics.py

Das Tool findet automatisch alle .pdf Dateien und erstellt entsprechende .ics Dateien.

Erweiterte Nutzung

Sie können auch direkt mit dem Python-Modul arbeiten:

from pdf_to_ics import extract_dienstplan_data, create_ics_from_dienstplan

# PDF verarbeiten
dienstplan = extract_dienstplan_data('meine_pdf.pdf')

# ICS erstellen
create_ics_from_dienstplan(dienstplan, 'mein_kalender.ics')

Dateiformat

ICS-Datei importieren

Die erstellte .ics Datei kann in folgende Kalenderanwendungen importiert werden:

  • Outlook: Datei → Öffnen und exportieren → Importieren
  • Google Kalender: Einstellungen → Kalender importieren
  • iCal/macOS: Doppelklick auf die .ics Datei
  • Thunderbird: Kalender → Kalender importieren
  • Android: Mit einer Kalender-App öffnen
  • LibreOffice: Datei → Öffnen

Struktur der extrahierten Daten

Das Tool extrahiert folgende Informationen aus der PDF:

  • Name und Personalnummer: Des Mitarbeiters
  • Betriebshof: Standort
  • Sollarbeitszeit: Gewünschte Arbeitszeit pro Monat
  • Events: Einzelne Schichten mit:
    • Datum
    • Dienstart (z.B. "36234", "Ruhe", "Dispo")
    • Zeitangabe (falls vorhanden)

Output

Für jede verarbeitete PDF wird eine entsprechende ICS-Datei erstellt:

2026-02-23 DB Köhler00100718_März2026.pdf  →  2026-02-23 DB Köhler00100718_März2026.ics

Die ICS-Datei enthält ein Event für jeden Arbeitstag mit:

  • Titel: Name - Dienstart
  • Beschreibung: Dienstart und Betriebshof
  • Zeit: Mit aktueller Zeitzone (Europe/Berlin)

Fehlerbehebung

Keine Events gefunden?

  • Stellen Sie sicher, dass die PDF das erwartete Tabellenformat hat
  • Überprüfen Sie die Dateiname und die PDF-Struktur

Zeitzone falsch?

  • Die aktuelle Einstellung ist Europe/Berlin
  • Zum Ändern: Bearbeiten Sie die Zeile in pdf_to_ics.py:
    tz = pytz.timezone('Europe/Berlin')  # Ändern SIe diesen Wert
    

Technische Details

  • Abhängigkeiten: pdfplumber, icalendar, pytz, pypdf2
  • Python-Version: 3.6+
  • Format: iCalendar 2.0 (RFC 5545)

Lizenz

Dieses Tool ist zur privaten Verwendung gedacht.

Description
No description provided
Readme 466 KiB
Languages
Python 48.4%
HTML 38.4%
Shell 12.3%
Dockerfile 0.9%