Files
PDFService/README.md
T
SvenandClaude Fable 5 cf691649a1 PDF Service: ZUGFeRD-REST-API als eigenständiges Projekt (aus dem PDF Tool herausgelöst)
Endpoints /api/invoices/sign und /api/invoices/validate; Eingabe ist immer ein
fertiges Rechnungs-PDF, Template-Rendering verbleibt im PDF Tool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 11:20:58 +02:00

42 lines
1.2 KiB
Markdown

# PDF Service
REST-API zur Erzeugung und Prüfung rechtskonformer ZUGFeRD-E-Rechnungen
(PDF/A-3 mit eingebettetem EN16931-XML, [Mustangproject](https://www.mustangproject.org/)).
Aus dem PDF Tool herausgelöst: Das PDF Tool enthält die Weboberfläche
(Rechnungserzeugung aus Templates), dieser Service stellt ausschließlich die
API bereit — Eingabe ist immer ein fertiges Rechnungs-PDF.
## Starten
```bash
./mvnw spring-boot:run
```
Der Service läuft standardmäßig auf Port `8084` (überschreibbar per `SERVER_PORT`).
## Endpoints
### PDF in ZUGFeRD-Rechnung umwandeln
```bash
curl -X POST http://localhost:8084/api/invoices/sign \
-F "file=@rechnung.pdf" \
-F "metadata=@metadata.json;type=application/json" \
-o rechnung-zugferd.zip
```
Antwort: ZIP mit ZUGFeRD-PDF und Mustang-Prüfbericht (`validation-report.xml`).
HTTP 200 bei gültiger, HTTP 422 bei ungültiger Rechnung (ZIP in beiden Fällen);
der Header `X-Zugferd-Valid` enthält das Prüfergebnis.
### ZUGFeRD-Rechnung validieren
```bash
curl -X POST http://localhost:8084/api/invoices/validate \
-F "file=@rechnung-zugferd.pdf"
```
Antwort: Mustang-Prüfbericht als XML; HTTP 200 bei gültiger, HTTP 422 bei
ungültiger Rechnung.