789fb5d77f
Entfernt den Zusatz "ehemals xsl-validator" aus CLAUDE.md und README. README mit korrekten Infos zu Theme, Worker-Pool und externen Tools ergänzt. Download-Links auf Web-Seite auf Version 1.7.3 aktualisiert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
155 lines
4.4 KiB
Markdown
155 lines
4.4 KiB
Markdown
# DocuMentor
|
|
|
|
**Professionelle XSL-Transformations-Verwaltung und PDF-Generierung**
|
|
|
|
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.
|
|
|
|
## 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
|
|
- Parallelisierte XSLT-Transformationen durch eine Worker-Pool-Architektur
|
|
|
|
### 🔍 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
|
|
- Dark/Light-Theme-Unterstützung
|
|
- 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 .
|
|
```
|
|
|
|
### Externe Tools
|
|
|
|
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))
|
|
- **OpenJDK/JRE**: für Saxon und Apache FOP. JDK empfohlen für Worker-Pools ([Eclipse Temurin](https://adoptium.net))
|
|
|
|
## Verwendung
|
|
|
|
### Anwendung starten
|
|
|
|
```bash
|
|
uv run python src/main.py
|
|
```
|
|
|
|
### Erste Start
|
|
Konfigurieren Sie Ihre Tools (Saxon, Apache FOP, diff-pdf) in den Einstellungen
|
|
|
|
### Projekt erstellen
|
|
|
|
1. Legen Sie ein neues Projekt an
|
|
2. Organisieren Sie XSL-Stylesheets und XML-Dateien in der Baumstruktur
|
|
3. Führen Sie Transformationen aus
|
|
|
|
### 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
|