ZUGFeRD-Umwandlung an das PDF Service delegiert, lokale ZUGFeRD-Klassen entfernt
- PdfServiceClient ruft POST /api/invoices/sign auf (Basis-URL über PDF_SERVICE_URL, Standard http://localhost:8084); ZIP, Dateiname und Validierungsergebnis kommen aus der Response - zugferd-Paket samt Test entfernt, Mustang-Abhängigkeiten aus der pom.xml gestrichen - README und .env.example entsprechend angepasst Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,20 +36,20 @@ mvn clean package -Pproduction
|
||||
java -jar target/pdf-tool-1.0.0-SNAPSHOT.jar
|
||||
```
|
||||
|
||||
## REST-API
|
||||
## PDF Service
|
||||
|
||||
Die REST-API (`/api/invoices/sign` und `/api/invoices/validate`) ist in das
|
||||
eigenständige Projekt **PDF Service** ausgelagert
|
||||
(`../PDF Service`, Port 8084). Dieses Tool enthält nur noch die Weboberfläche;
|
||||
Rechnungen entstehen hier ausschließlich aus gespeicherten Templates.
|
||||
Die ZUGFeRD-Umwandlung (PDF/A-3 + EN16931-XML, Mustangproject) übernimmt das
|
||||
eigenständige Projekt **PDF Service** (`../PDF Service`, Port 8084). Dieses Tool
|
||||
rendert die Rechnung aus dem Template und ruft dann dessen REST-API
|
||||
(`POST /api/invoices/sign`) auf — der Service muss dafür laufen. Die Basis-URL
|
||||
ist über `PDF_SERVICE_URL` konfigurierbar (Standard `http://localhost:8084`).
|
||||
|
||||
## Architektur
|
||||
|
||||
- [ZugferdService](src/main/java/de/assecutor/pdftool/zugferd/ZugferdService.java) — Kernlogik:
|
||||
PDF → PDF/A-3 + EN16931-XML (Mustangproject), Validierung, Verpackung als ZIP.
|
||||
Nicht-PDF/A-Eingaben (der Normalfall) werden tolerant konvertiert.
|
||||
- [ZugferdValidationService](src/main/java/de/assecutor/pdftool/zugferd/ZugferdValidationService.java) — Mustang-Validator
|
||||
(XSD + Schematron + veraPDF), liefert Status und XML-Prüfbericht
|
||||
- [TemplatePdfService](src/main/java/de/assecutor/pdftool/template/TemplatePdfService.java) — rendert
|
||||
die Canvas-Templates (JSON aus MongoDB) über iText html2pdf zu einem PDF
|
||||
- [PdfServiceClient](src/main/java/de/assecutor/pdftool/pdfservice/PdfServiceClient.java) — ruft den
|
||||
PDF Service auf, der daraus die ZUGFeRD-E-Rechnung als ZIP erzeugt
|
||||
- [MainView](src/main/java/de/assecutor/pdftool/ui/MainView.java) — Vaadin-Weboberfläche
|
||||
- [InvoiceMetadata](src/main/java/de/assecutor/pdftool/invoice/InvoiceMetadata.java) — DTO für die Rechnungsdaten
|
||||
|
||||
@@ -59,6 +59,6 @@ Rechnungen entstehen hier ausschließlich aus gespeicherten Templates.
|
||||
mvn test
|
||||
```
|
||||
|
||||
[ZugferdServiceTest](src/test/java/de/assecutor/pdftool/zugferd/ZugferdServiceTest.java) erzeugt ein
|
||||
Test-PDF, konvertiert es und prüft, dass das ZIP ein PDF/A-3 mit eingebettetem
|
||||
`factur-x.xml` (EN16931-Profil) enthält.
|
||||
Die Tests decken das Template-Rendering ([TemplatePdfServiceTest](src/test/java/de/assecutor/pdftool/template/TemplatePdfServiceTest.java),
|
||||
[TemplateVariablesTest](src/test/java/de/assecutor/pdftool/template/TemplateVariablesTest.java)) und die
|
||||
USt-IdNr.-Validierung ab; die ZUGFeRD-Umwandlung wird im Projekt PDF Service getestet.
|
||||
|
||||
Reference in New Issue
Block a user