2026-01-02 17:40:03 +01:00
# DocuMentor
**Professionelle XSL-Transformations-Verwaltung und PDF-Generierung **
2026-05-31 19:37:17 +02:00
DocuMentor ist eine leistungsstarke PySide6-basierte Desktop-Anwendung zur Verwaltung und Validierung von XSL-Transformationen mit automatischer PDF-Generierung. Die Anwendung bietet eine intuitive GUI zur Konfiguration von Transformations-Toolchains (Saxon, Apache FOP, diff-pdf) und zur Verwaltung komplexer PDF-Generierungsprojekte mit PostgreSQL-Datenbankintegration.
2026-01-02 17:40:03 +01:00
## Features
### 🌳 Hierarchische Projektverwaltung
- Organisieren Sie Ihre XSL-Transformationen in einer übersichtlichen Baumstruktur
- Flexible Workflow-Definitionen mit verschachtelten Knoten
- Projektspezifische Konfiguration mit `project.yaml`
### ⚡ Asynchrone Batch-Verarbeitung
- Verarbeiten Sie große Mengen von XML-Dateien im Hintergrund
- Fortschrittsanzeige für lange Transformationen
2026-05-31 19:37:17 +02:00
- Parallelisierte XSLT-Transformationen durch eine Worker-Pool-Architektur
2026-01-02 17:40:03 +01:00
### 🔍 Intelligente Duplikatserkennung
- Automatische Hash-basierte Erkennung von identischen XML-Dateien (Blake2b)
- Verhindert Redundanzen und spart Speicherplatz
- Asynchrone Hash-Berechnung im Hintergrund
### 📄 PDF-Vergleichsansicht
- Drei-Panel-Ansicht (Referenz, Diff, Neu)
- Alpha-Blending für visuellen Vergleich
- Zoom- und Pan-Funktionalität
### 🗄️ PostgreSQL-Integration
- Nahtlose Datenbankanbindung mit Polars und ConnectorX
- Performante SQL-Abfragen und Datenverarbeitung
- SSL-Modus-Unterstützung
### 🛠️ Konfigurierbare Toolchains
- Flexible Verwaltung von Saxon, Apache FOP und diff-pdf
- Versionierung von Tools
- Plattformübergreifende Unterstützung (Linux, Windows, macOS)
### 🎨 Modernes UI
2026-05-31 19:37:17 +02:00
- Dark/Light-Theme-Unterstützung
2026-01-02 17:40:03 +01:00
- Drag-and-Drop für XML-Dateien
- Responsive und intuitive Benutzeroberfläche
## Installation
### Voraussetzungen
- Python 3.13 oder höher
- [uv ](https://github.com/astral-sh/uv ) Paketmanager
### Abhängigkeiten installieren
``` bash
# Mit uv (empfohlen)
uv sync
# Oder mit pip
pip install -e .
```
2026-05-31 19:37:17 +02:00
### Externe Tools
2026-01-02 17:40:03 +01:00
Für die volle Funktionalität benötigen Sie:
- **Saxon-HE**: XSLT 3.0 Prozessor ([Download ](https://www.saxonica.com/download/ ))
- **Apache FOP**: PDF-Generierung aus XSL-FO ([Download ](https://xmlgraphics.apache.org/fop/download.html ))
- **diff-pdf**: PDF-Vergleich ([GitHub ](https://github.com/vslavik/diff-pdf ))
2026-05-31 19:37:17 +02:00
- **OpenJDK/JRE**: für Saxon und Apache FOP. JDK empfohlen für Worker-Pools ([Eclipse Temurin ](https://adoptium.net ))
2026-01-02 17:40:03 +01:00
## Verwendung
### Anwendung starten
``` bash
uv run python src/main.py
```
2026-05-31 19:37:17 +02:00
### Erste Start
Konfigurieren Sie Ihre Tools (Saxon, Apache FOP, diff-pdf) in den Einstellungen
2026-01-02 17:40:03 +01:00
### Projekt erstellen
1. Legen Sie ein neues Projekt an
2026-05-31 19:37:17 +02:00
2. Organisieren Sie XSL-Stylesheets und XML-Dateien in der Baumstruktur
3. Führen Sie Transformationen aus
2026-01-02 17:40:03 +01:00
### Konfiguration
Die Anwendung speichert Konfigurationsdateien an folgenden Orten:
- **Linux**: `~/.config/DocuMentor/config.json`
- **Windows**: `%APPDATA%\DocuMentor\config.json`
- **macOS**: `~/Library/Application Support/DocuMentor/config.json`
Projektdaten werden in `project.yaml` im jeweiligen Projektverzeichnis gespeichert.
## Entwicklung
### Code-Qualität
``` bash
# Code-Style prüfen
uv run ruff check
# Code formatieren
uv run ruff format
```
### Tests
``` bash
# Hash-Implementierung testen
uv run python test_hash_implementation.py
# Duplikatserkennung testen
uv run python test_xml_hash_duplicate_detection.py
```
### Architektur
- **PySide6**: Native Qt-basierte GUI
- **Pydantic**: Typsichere Konfigurationsverwaltung
- **Polars**: Lightning-fast DataFrame-Verarbeitung
- **Blake2b**: Kryptographische Hash-Funktion für Integritätsprüfung
Siehe [CLAUDE.md ](CLAUDE.md ) für detaillierte Entwicklerdokumentation.
## Lizenz
DocuMentor ist unter der [MIT License ](LICENSE ) lizenziert.
### Third-Party-Lizenzen
Diese Software verwendet folgende Open-Source-Bibliotheken:
- **PySide6** - LGPL-3.0 OR GPL-2.0 OR GPL-3.0
- **Pydantic** - MIT License
- **Polars** - MIT License
- **pyqtdarktheme** - MIT License
- Weitere siehe [THIRD_PARTY_LICENSES.txt ](THIRD_PARTY_LICENSES.txt )
Externe Tools (separat zu installieren):
- **Saxon-HE** - Mozilla Public License 2.0
- **Apache FOP** - Apache License 2.0
Vollständige Lizenzanalyse: [LICENSES.md ](LICENSES.md )
## Danksagungen
Vielen Dank an alle Entwickler der verwendeten Open-Source-Bibliotheken!
---
**DocuMentor ** - Professionelle XSL-Transformations-Verwaltung für anspruchsvolle Projekte