xjustiz2pdf 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. xjustiz2pdf-0.1.0/PKG-INFO +140 -0
  2. xjustiz2pdf-0.1.0/README.md +114 -0
  3. xjustiz2pdf-0.1.0/pyproject.toml +50 -0
  4. xjustiz2pdf-0.1.0/setup.cfg +4 -0
  5. xjustiz2pdf-0.1.0/xjustiz2pdf/__init__.py +9 -0
  6. xjustiz2pdf-0.1.0/xjustiz2pdf/__main__.py +44 -0
  7. xjustiz2pdf-0.1.0/xjustiz2pdf/converter.py +314 -0
  8. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/CONTRIBUTING.txt +21 -0
  9. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/LICENCE-FAQ.txt +177 -0
  10. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/LICENCE.txt +96 -0
  11. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/README.txt +16 -0
  12. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/TRADEMARKS.txt +4 -0
  13. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/Ubuntu-R.ttf +0 -0
  14. xjustiz2pdf-0.1.0/xjustiz2pdf/fonts/copyright.txt +5 -0
  15. xjustiz2pdf-0.1.0/xjustiz2pdf/gui.py +205 -0
  16. xjustiz2pdf-0.1.0/xjustiz2pdf/gui_build.py +167 -0
  17. xjustiz2pdf-0.1.0/xjustiz2pdf/gui_helpers.py +30 -0
  18. xjustiz2pdf-0.1.0/xjustiz2pdf/gui_io.py +52 -0
  19. xjustiz2pdf-0.1.0/xjustiz2pdf/gui_status.py +34 -0
  20. xjustiz2pdf-0.1.0/xjustiz2pdf/gui_tree.py +140 -0
  21. xjustiz2pdf-0.1.0/xjustiz2pdf/icons/programmicon.ico +0 -0
  22. xjustiz2pdf-0.1.0/xjustiz2pdf/parser - Kopie.py +134 -0
  23. xjustiz2pdf-0.1.0/xjustiz2pdf/parser.py +154 -0
  24. xjustiz2pdf-0.1.0/xjustiz2pdf/pdfbuilder.py +161 -0
  25. xjustiz2pdf-0.1.0/xjustiz2pdf/pdfbuilder_outline.py +56 -0
  26. xjustiz2pdf-0.1.0/xjustiz2pdf/pdfbuilder_selection.py +97 -0
  27. xjustiz2pdf-0.1.0/xjustiz2pdf/pdfbuilder_utils.py +115 -0
  28. xjustiz2pdf-0.1.0/xjustiz2pdf/utils.py +148 -0
  29. xjustiz2pdf-0.1.0/xjustiz2pdf/worker.py +139 -0
  30. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/PKG-INFO +140 -0
  31. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/SOURCES.txt +33 -0
  32. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/dependency_links.txt +1 -0
  33. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/entry_points.txt +2 -0
  34. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/requires.txt +6 -0
  35. xjustiz2pdf-0.1.0/xjustiz2pdf.egg-info/top_level.txt +1 -0
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: xjustiz2pdf
3
+ Version: 0.1.0
4
+ Summary: Diese Desktopanwendung konvertiert XJustiz-Akten / E-Akten in eine Gesamt-PDF (PDF-Converter for electronic records)
5
+ Author-email: Björn Seipel <support@digidigital.de>
6
+ License-Expression: GPL-3.0-or-later
7
+ Project-URL: Homepage, https://xjustiz2pdf.digidigital.de
8
+ Project-URL: Repository, https://github.com/digidigital/XJustiz2PDF
9
+ Project-URL: Support, https://github.com/digidigital/XJustiz2PDF/issues
10
+ Keywords: xjustiz,pdf,akten,konvertierung,gericht,e-akte
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: End Users/Desktop
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Operating System :: OS Independent
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: PySide6
21
+ Requires-Dist: lxml
22
+ Requires-Dist: pypdf
23
+ Requires-Dist: fpdf2
24
+ Requires-Dist: Pillow
25
+ Requires-Dist: docx2pdf
26
+
27
+
28
+ # xjustiz2pdf
29
+
30
+ **English introduction:**
31
+ xjustiz2pdf is a desktop application that converts German *xJustiz* electronic legal communication (ERV) messages and e‑files (*E‑Akte*) into single PDF documents with an outline that preserves structure of the source. It provides a graphical user interface (GUI) for selecting, filtering, and exporting documents with structured bookmarks.
32
+
33
+ ---
34
+
35
+ ## Bedienungsanleitung
36
+
37
+ ### Über die Anwendung
38
+ Mit xjustiz2pdf können Nachrichten im xJustiz‑Format (ERV) sowie elektronische Akten der deutschen Justiz / Verwaltung komfortabel in PDF‑Dokumente umgewandelt werden. Die Anwendung bietet eine grafische Oberfläche, um Dokumente und Akten(teile) auszuwählen, zu sortieren und mit einem Inhaltsverzeichnis in ein einzelnes PDF-Dokument zu exportieren.
39
+
40
+ Die Anwendung ist weitestgehend plattformunabhängig und läuft somit unter Windows, Linux und macOS.
41
+ - Der Export von PDF-Dokumenten und Bilddateien wird ohne die Installation von Zusatzprogrammen unterstützt.
42
+ - Sofern die Anwender [LibreOffice](https://de.libreoffice.org/download/download/) auf ihrem System installiert haben, können diverse Office-Formate konvertiert und beim Export in die PDF-Akte berücksichtigt werden.
43
+ - Falls auch die Anwendung [Ghostscript](https://ghostscript.com/releases/gsdnld.html) auf dem Anwendersystem installiert ist, besteht zudem die Möglichkeit, die Dateigröße der Akte deutlich zu reduzieren.
44
+
45
+ ![Screenshot der Xjustiz2PDF Benutzeroberfläche](https://github.com/digidigital/XJustiz2PDF/blob/main/Images/Screenshot_XJustiz2PDF_Konverter.png)
46
+
47
+ ## Installation und Start der Anwendung
48
+ ### Installation über PyPI - Python Package Index
49
+ ```bash
50
+ pip install xjustiz2pdf
51
+ ```
52
+ - (Optional) Installiere LibreOffice über einen Paketmanager oder nach Download von: [LibreOffice Download-Seite](https://de.libreoffice.org/download/download/)
53
+ - (Optional) Installiere Ghostscript über einen Paketmanager oder nach Download von: [Ghostscript Download-Seite](https://ghostscript.com/releases/gsdnld.html)
54
+
55
+ Start des Prgramms mit:
56
+ ```bash
57
+ python -m xjustiz2pdf
58
+ ```
59
+ oder
60
+ ```bash
61
+ xjustiz2pdf
62
+ ```
63
+
64
+ ### Installation mit Windows-Installer
65
+ Den Windows-Installer findest du auf [Github](https://github.com/digidigital/XJustiz2PDF/releases).
66
+
67
+ Optional:
68
+ - Installiere LibreOffice, um Office-Formate zu konvertieren. Download von: [LibreOffice Download-Seite](https://de.libreoffice.org/download/download/)
69
+ - Installiere Ghostscript, um PDF-Akten verkleinern zu können. Download von: [Ghostscript Download-Seite](https://ghostscript.com/releases/gsdnld.html)
70
+
71
+ ### Hauptfenster
72
+ Nach dem Start öffnet sich das Hauptfenster mit folgenden Bereichen:
73
+
74
+ - **Eingabe**: Auswahl einer XML‑ oder ZIP‑Datei mit xJustiz‑Nachrichten (Bei der Auswahl von ZIP-Dateien wird eine xjustiz_nachricht.xml in der obersten Ebene erwartet und automatisch eingelesen).
75
+ - **Baumansicht**: Zeigt die komplette Aktenstruktur. Jeder Ordner kann einzeln angehakt werden. Nur Dokumente in Ordnern mit einem ☑ werden exportiert!
76
+ - **Alle Haken entfernen**: Entfernt alle Häkchen im Baum.
77
+ - **Ausgabe**: Zielpfad für die zu erzeugende PDF‑Akte/PDF-Datei.
78
+ - **Ausfiltern**: Eingabefeld für mit Leerzeichen getrennte Suchbegriffe, um bestimmte Dokumente gezielt vom Export auszuschließen. Beispiel: "protokoll" filtert "Besprechungsprotokoll" und "Signaturprotokoll"
79
+ - **Optionen**:
80
+ - *Nur Originale/Repräsentate exportieren*: Lässt automatisch alle nicht als Original bzw. Repräsentat gekennzeichnete Dokumente aus (z. B. Signaturen).
81
+ - *Flaches Inhaltsverzeichnis*: Erzeugt ein einfaches Inhaltsverzeichnis ohne Hierarchie (alle Dokumente "in einem Topf").
82
+ - *Sortierung*: Wahlweise Originalreihenfolge, aufsteigend oder absteigend nach Veraktungsdatum.
83
+
84
+ - **Optionale Nachbearbeitungsoptionen** (Wird nur angezeigt, wenn Ghostscript installiert wurde)
85
+ - Keine Nachbearbeitung(Standard)
86
+ - Qualität anpassen mit Ghostscript. Die Qualitässtufen vn niedriger zu hoher Qualität lauten "screen"→"ebook"→"printer"→"prepress"
87
+
88
+ - **PDF erzeugen**: Startet den Umwandlungsprozess. Wird aktiviert und grün, sobald Ein- und Ausgabedatei festgelegt wurden und mindestens ein Haken gesetzt wurde.
89
+
90
+ ## Hinweis
91
+ Die Ergebnisse des Exports können variieren, da es eine Vielzahl von Aktenverwaltungssoftware gibt und sich die E-Akten daher in ihremm Aufbau unterscheiden können. Da es sich bei der Umwandlung der E-Akte um einen Umwandlungsprozess handelt, entsprechen die resultierenden Dateien nicht mehr dem Original. Es ist nicht auszuschließen, dass Informationen (z.B. gehen Inhaltverzeichnisse der Originale verloren) und Details (Qualitätsverlust durch Komprimierung) verloren gehen. Trage Sorge, dass du die Originalakte zur späteren Verwendung archivierst.
92
+
93
+ Für die Arbeit mit der Originalakte empfehle ich [openXJV](https://openxjv.de).
94
+
95
+ ---
96
+
97
+ ### Bedienung Schritt für Schritt
98
+ 1. **Datei laden**
99
+ - Wähle über *Eingabe* eine XML‑ oder ZIP‑Datei.
100
+ - Die Aktenstruktur wird im Baum angezeigt.
101
+
102
+ 2. **Dokumente auswählen**
103
+ - Setze Häkchen bei den gewünschten Ordnern oder Dokumenten.
104
+ - Teilweise gesetzte Häkchen "-" erzeugen leere Container im Inhaltsverzeichnis, ohne deren Dokumente selbst zu übernehmen.
105
+
106
+ 3. **Filter anwenden (optional)**
107
+ - Gib (Teil-)Begriffe ein, um bestimmte Dokumente auszublenden. Trenne mit Leerzeichen.
108
+ - Aktiviere *Nur Originale/Repräsentate exportieren*, um z. B. automatisch Signaturprotokolle und Transfervermerke zu ignorieren.
109
+
110
+ 4. **Sortierung festlegen**
111
+ - Wähle die gewünschte Reihenfolge (Original, aufsteigend, absteigend).
112
+
113
+ 6. **(Optional) Größe und Qualität der Zieldatei beeinflussen**
114
+ - Sofern Ghostscript auf deinem System installiert ist, kannst du die Ausgabequalität in vier Schritten beeinflussen: *screen*, *ebook*, *print*, *prepress*.
115
+
116
+ 6. **PDF erzeugen**
117
+ - Klicke auf *PDF erzeugen*.
118
+ - Der Fortschritt wird im Statusbereich angezeigt.
119
+ - Nicht unterstützte Dateitypen oder fehlende Dokumente werden automatisch durch Platzhalterseiten ersetzt, sodass der Prozess nicht abbricht.
120
+
121
+ 7. **Ergebnis prüfen**
122
+ - Die erzeugte PDF enthält ein Inhaltsverzeichnis entsprechend der Baumstruktur des Originals. Bei flachem Inhaltsverzeichnis wird die Baumstruktur ignoriert.
123
+ - Dokumente sind sortiert und gefiltert wie eingestellt.
124
+
125
+ ---
126
+
127
+ ### Fehlerbehandlung
128
+ - **Nicht‑PDF‑Dateien**: Werden nach Möglichkeit in PDF konvertiert oder durch Platzhalterseiten ersetzt.
129
+ - **Fehlende Dateien**: Ebenfalls Platzhalter mit Hinweistext.
130
+ - **Leere Auswahl oder alle Dokumente ausgefiltert**: Erzeugt eine PDF mit einer Hinweisseite („Keine Dokumente ausgewählt“).
131
+
132
+ ---
133
+
134
+ ### Tipps
135
+ - Nutze "-" für Ordner, wenn du die Struktur im Inhaltsverzeichnis erhalten, aber keine Dokumente übernehmen möchtest.
136
+ - Mit *Flaches Inhaltsverzeichnis* erhältst du eine einfache Aneinanderreihung aller ausgewählten Dokumente ohne Hierarchie. Nutze in diesem Fall ggf. die Option zur Anpassung der Sortierreihenfolge, da die Elemente sonst die Reihenfolge beibehalten, die sie gehabt hätten, wenn sie noch in Ordner/Teilakten einsortiert wären.
137
+ ---
138
+
139
+ ## Lizenz
140
+ xjustiz2pdf ist Open Source unter GPLv3-Lizenz (FOSS mit ❤️) und richtet sich an Anwender:innen und Entwickler:innen, die mit xJustiz‑Nachrichten und E-Akten arbeiten dürfen oder müssen.
@@ -0,0 +1,114 @@
1
+
2
+ # xjustiz2pdf
3
+
4
+ **English introduction:**
5
+ xjustiz2pdf is a desktop application that converts German *xJustiz* electronic legal communication (ERV) messages and e‑files (*E‑Akte*) into single PDF documents with an outline that preserves structure of the source. It provides a graphical user interface (GUI) for selecting, filtering, and exporting documents with structured bookmarks.
6
+
7
+ ---
8
+
9
+ ## Bedienungsanleitung
10
+
11
+ ### Über die Anwendung
12
+ Mit xjustiz2pdf können Nachrichten im xJustiz‑Format (ERV) sowie elektronische Akten der deutschen Justiz / Verwaltung komfortabel in PDF‑Dokumente umgewandelt werden. Die Anwendung bietet eine grafische Oberfläche, um Dokumente und Akten(teile) auszuwählen, zu sortieren und mit einem Inhaltsverzeichnis in ein einzelnes PDF-Dokument zu exportieren.
13
+
14
+ Die Anwendung ist weitestgehend plattformunabhängig und läuft somit unter Windows, Linux und macOS.
15
+ - Der Export von PDF-Dokumenten und Bilddateien wird ohne die Installation von Zusatzprogrammen unterstützt.
16
+ - Sofern die Anwender [LibreOffice](https://de.libreoffice.org/download/download/) auf ihrem System installiert haben, können diverse Office-Formate konvertiert und beim Export in die PDF-Akte berücksichtigt werden.
17
+ - Falls auch die Anwendung [Ghostscript](https://ghostscript.com/releases/gsdnld.html) auf dem Anwendersystem installiert ist, besteht zudem die Möglichkeit, die Dateigröße der Akte deutlich zu reduzieren.
18
+
19
+ ![Screenshot der Xjustiz2PDF Benutzeroberfläche](https://github.com/digidigital/XJustiz2PDF/blob/main/Images/Screenshot_XJustiz2PDF_Konverter.png)
20
+
21
+ ## Installation und Start der Anwendung
22
+ ### Installation über PyPI - Python Package Index
23
+ ```bash
24
+ pip install xjustiz2pdf
25
+ ```
26
+ - (Optional) Installiere LibreOffice über einen Paketmanager oder nach Download von: [LibreOffice Download-Seite](https://de.libreoffice.org/download/download/)
27
+ - (Optional) Installiere Ghostscript über einen Paketmanager oder nach Download von: [Ghostscript Download-Seite](https://ghostscript.com/releases/gsdnld.html)
28
+
29
+ Start des Prgramms mit:
30
+ ```bash
31
+ python -m xjustiz2pdf
32
+ ```
33
+ oder
34
+ ```bash
35
+ xjustiz2pdf
36
+ ```
37
+
38
+ ### Installation mit Windows-Installer
39
+ Den Windows-Installer findest du auf [Github](https://github.com/digidigital/XJustiz2PDF/releases).
40
+
41
+ Optional:
42
+ - Installiere LibreOffice, um Office-Formate zu konvertieren. Download von: [LibreOffice Download-Seite](https://de.libreoffice.org/download/download/)
43
+ - Installiere Ghostscript, um PDF-Akten verkleinern zu können. Download von: [Ghostscript Download-Seite](https://ghostscript.com/releases/gsdnld.html)
44
+
45
+ ### Hauptfenster
46
+ Nach dem Start öffnet sich das Hauptfenster mit folgenden Bereichen:
47
+
48
+ - **Eingabe**: Auswahl einer XML‑ oder ZIP‑Datei mit xJustiz‑Nachrichten (Bei der Auswahl von ZIP-Dateien wird eine xjustiz_nachricht.xml in der obersten Ebene erwartet und automatisch eingelesen).
49
+ - **Baumansicht**: Zeigt die komplette Aktenstruktur. Jeder Ordner kann einzeln angehakt werden. Nur Dokumente in Ordnern mit einem ☑ werden exportiert!
50
+ - **Alle Haken entfernen**: Entfernt alle Häkchen im Baum.
51
+ - **Ausgabe**: Zielpfad für die zu erzeugende PDF‑Akte/PDF-Datei.
52
+ - **Ausfiltern**: Eingabefeld für mit Leerzeichen getrennte Suchbegriffe, um bestimmte Dokumente gezielt vom Export auszuschließen. Beispiel: "protokoll" filtert "Besprechungsprotokoll" und "Signaturprotokoll"
53
+ - **Optionen**:
54
+ - *Nur Originale/Repräsentate exportieren*: Lässt automatisch alle nicht als Original bzw. Repräsentat gekennzeichnete Dokumente aus (z. B. Signaturen).
55
+ - *Flaches Inhaltsverzeichnis*: Erzeugt ein einfaches Inhaltsverzeichnis ohne Hierarchie (alle Dokumente "in einem Topf").
56
+ - *Sortierung*: Wahlweise Originalreihenfolge, aufsteigend oder absteigend nach Veraktungsdatum.
57
+
58
+ - **Optionale Nachbearbeitungsoptionen** (Wird nur angezeigt, wenn Ghostscript installiert wurde)
59
+ - Keine Nachbearbeitung(Standard)
60
+ - Qualität anpassen mit Ghostscript. Die Qualitässtufen vn niedriger zu hoher Qualität lauten "screen"→"ebook"→"printer"→"prepress"
61
+
62
+ - **PDF erzeugen**: Startet den Umwandlungsprozess. Wird aktiviert und grün, sobald Ein- und Ausgabedatei festgelegt wurden und mindestens ein Haken gesetzt wurde.
63
+
64
+ ## Hinweis
65
+ Die Ergebnisse des Exports können variieren, da es eine Vielzahl von Aktenverwaltungssoftware gibt und sich die E-Akten daher in ihremm Aufbau unterscheiden können. Da es sich bei der Umwandlung der E-Akte um einen Umwandlungsprozess handelt, entsprechen die resultierenden Dateien nicht mehr dem Original. Es ist nicht auszuschließen, dass Informationen (z.B. gehen Inhaltverzeichnisse der Originale verloren) und Details (Qualitätsverlust durch Komprimierung) verloren gehen. Trage Sorge, dass du die Originalakte zur späteren Verwendung archivierst.
66
+
67
+ Für die Arbeit mit der Originalakte empfehle ich [openXJV](https://openxjv.de).
68
+
69
+ ---
70
+
71
+ ### Bedienung Schritt für Schritt
72
+ 1. **Datei laden**
73
+ - Wähle über *Eingabe* eine XML‑ oder ZIP‑Datei.
74
+ - Die Aktenstruktur wird im Baum angezeigt.
75
+
76
+ 2. **Dokumente auswählen**
77
+ - Setze Häkchen bei den gewünschten Ordnern oder Dokumenten.
78
+ - Teilweise gesetzte Häkchen "-" erzeugen leere Container im Inhaltsverzeichnis, ohne deren Dokumente selbst zu übernehmen.
79
+
80
+ 3. **Filter anwenden (optional)**
81
+ - Gib (Teil-)Begriffe ein, um bestimmte Dokumente auszublenden. Trenne mit Leerzeichen.
82
+ - Aktiviere *Nur Originale/Repräsentate exportieren*, um z. B. automatisch Signaturprotokolle und Transfervermerke zu ignorieren.
83
+
84
+ 4. **Sortierung festlegen**
85
+ - Wähle die gewünschte Reihenfolge (Original, aufsteigend, absteigend).
86
+
87
+ 6. **(Optional) Größe und Qualität der Zieldatei beeinflussen**
88
+ - Sofern Ghostscript auf deinem System installiert ist, kannst du die Ausgabequalität in vier Schritten beeinflussen: *screen*, *ebook*, *print*, *prepress*.
89
+
90
+ 6. **PDF erzeugen**
91
+ - Klicke auf *PDF erzeugen*.
92
+ - Der Fortschritt wird im Statusbereich angezeigt.
93
+ - Nicht unterstützte Dateitypen oder fehlende Dokumente werden automatisch durch Platzhalterseiten ersetzt, sodass der Prozess nicht abbricht.
94
+
95
+ 7. **Ergebnis prüfen**
96
+ - Die erzeugte PDF enthält ein Inhaltsverzeichnis entsprechend der Baumstruktur des Originals. Bei flachem Inhaltsverzeichnis wird die Baumstruktur ignoriert.
97
+ - Dokumente sind sortiert und gefiltert wie eingestellt.
98
+
99
+ ---
100
+
101
+ ### Fehlerbehandlung
102
+ - **Nicht‑PDF‑Dateien**: Werden nach Möglichkeit in PDF konvertiert oder durch Platzhalterseiten ersetzt.
103
+ - **Fehlende Dateien**: Ebenfalls Platzhalter mit Hinweistext.
104
+ - **Leere Auswahl oder alle Dokumente ausgefiltert**: Erzeugt eine PDF mit einer Hinweisseite („Keine Dokumente ausgewählt“).
105
+
106
+ ---
107
+
108
+ ### Tipps
109
+ - Nutze "-" für Ordner, wenn du die Struktur im Inhaltsverzeichnis erhalten, aber keine Dokumente übernehmen möchtest.
110
+ - Mit *Flaches Inhaltsverzeichnis* erhältst du eine einfache Aneinanderreihung aller ausgewählten Dokumente ohne Hierarchie. Nutze in diesem Fall ggf. die Option zur Anpassung der Sortierreihenfolge, da die Elemente sonst die Reihenfolge beibehalten, die sie gehabt hätten, wenn sie noch in Ordner/Teilakten einsortiert wären.
111
+ ---
112
+
113
+ ## Lizenz
114
+ xjustiz2pdf ist Open Source unter GPLv3-Lizenz (FOSS mit ❤️) und richtet sich an Anwender:innen und Entwickler:innen, die mit xJustiz‑Nachrichten und E-Akten arbeiten dürfen oder müssen.
@@ -0,0 +1,50 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "xjustiz2pdf"
7
+ version = "0.1.0"
8
+ description = "Diese Desktopanwendung konvertiert XJustiz-Akten / E-Akten in eine Gesamt-PDF (PDF-Converter for electronic records)"
9
+ readme = "README.md"
10
+ license = "GPL-3.0-or-later"
11
+ authors = [
12
+ { name = "Björn Seipel", email = "support@digidigital.de" }
13
+ ]
14
+ dependencies = [
15
+ "PySide6",
16
+ "lxml",
17
+ "pypdf",
18
+ "fpdf2",
19
+ "Pillow",
20
+ "docx2pdf"
21
+ ]
22
+ requires-python = ">=3.9"
23
+
24
+ classifiers = [
25
+ "Development Status :: 3 - Alpha",
26
+ "Intended Audience :: End Users/Desktop",
27
+ "Programming Language :: Python :: 3.9",
28
+ "Programming Language :: Python :: 3.10",
29
+ "Programming Language :: Python :: 3.11",
30
+ "Programming Language :: Python :: 3.12",
31
+ "Operating System :: OS Independent",
32
+ ]
33
+
34
+ keywords = ["xjustiz", "pdf", "akten", "konvertierung", "gericht", "e-akte"]
35
+
36
+ [project.scripts]
37
+ xjustiz2pdf = "xjustiz2pdf.__main__:main"
38
+
39
+ [project.urls]
40
+ Homepage = "https://xjustiz2pdf.digidigital.de"
41
+ Repository = "https://github.com/digidigital/XJustiz2PDF"
42
+ Support = "https://github.com/digidigital/XJustiz2PDF/issues"
43
+
44
+ [tool.setuptools]
45
+ include-package-data = true
46
+ packages = ["xjustiz2pdf"]
47
+ exclude-package-data = { "xjustiz2pdf.fonts" = ["*"], "xjustiz2pdf.icons" = ["*"] }
48
+
49
+ [tool.setuptools.package-data]
50
+ "xjustiz2pdf" = ["icons/*", "fonts/*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,9 @@
1
+ """
2
+ Copilot-Kommentarblock:
3
+ Dieses Modul `xjustiz2pdf` konvertiert XJustiz-Akten (XML/ZIP) in eine Gesamt-PDF.
4
+ Es enthält Parser, PDFBuilder, Worker, Utils und eine Qt-GUI.
5
+ Die Datei __init__.py definiert die Paketversion und macht das Modul importierbar.
6
+ """
7
+
8
+ __version__ = "0.1.0"
9
+ __debugstate__ = False
@@ -0,0 +1,44 @@
1
+ # Xjustiz2PDF is a desktop application that converts German xJustiz
2
+ # e‑files (E-Akte) into a single PDF document
3
+ # Copyright (C) 2025 Björn Seipel
4
+ #
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation, either version 3 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ """
19
+ Dies ist der Einstiegspunkt für das Modul.
20
+ Wenn man `python -m xjustiz2pdf` ausführt, startet automatisch die GUI.
21
+ Die GUI wird über MainWindow bereitgestellt.
22
+ Fehler werden abgefangen, Debug-Ausgaben erfolgen wenn in __init__.py __debugstate__=True
23
+ """
24
+
25
+ import sys
26
+ import multiprocessing
27
+ from PySide6.QtWidgets import QApplication
28
+ from .gui import MainWindow
29
+ from .utils import debug
30
+
31
+ def main():
32
+ try:
33
+ app = QApplication(sys.argv)
34
+ win = MainWindow()
35
+ win.show()
36
+ debug("[Main] GUI gestartet")
37
+ sys.exit(app.exec())
38
+ except Exception as e:
39
+ debug(f"[Main] Fehler beim Starten der GUI: {e}")
40
+ raise
41
+
42
+ if __name__ == "__main__":
43
+ multiprocessing.freeze_support() # Nur zur Sicherheit ;)
44
+ main()