Add ZUGFeRD detection and extraction functionality

Introduced `ZugferdController` to handle ZUGFeRD-related operations, including detection and extraction of ZUGFeRD XML from PDFs via file upload or Base64-encoded payloads. Integrated `MediatR` for query/command handling.

Added `ZugferdSettings` for configurable file names and patterns, and updated `appsettings.json` and `Program.cs` to support this configuration.

Implemented `HasZugferdQuery` and `ExtractZugferdCommand` with their respective handlers and validators. Added DTOs (`ZugferdCheckResult`, `ZugferdExtractionResult`) for operation results.

Included `ZUGFeRD-Example.pdf` for testing and integrated `Serilog.Ui.Core.Extensions` for logging.
This commit is contained in:
2026-07-30 10:16:43 +02:00
parent 080c2ac2a0
commit 94123cd1be
9 changed files with 449 additions and 0 deletions

View File

@@ -61,6 +61,22 @@
"EnableDetailedLogging": true
},
"ZugferdSettings": {
"ZugferdFileNames": [
"factur-x.xml",
"zugferd-invoice.xml",
"ZUGFeRD-invoice.xml",
"xrechnung.xml",
"XRechnung.xml"
],
"ZugferdFileNamePatterns": [
"factur",
"zugferd",
"xrechnung",
"peppol"
]
},
"RedisSettings": {
"ConnectionString": "localhost:6379",
"InstanceName": "DocumentOperator:",