From f7cba0549073a6eb2eb7937c19c2a94a640ffb38 Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 31 Aug 2026 16:06:32 +0200 Subject: [PATCH] Update README.md with details on PDF/A validation Added a section explaining the limitations of the `ValidatePdfAAsync` method, highlighting that it performs heuristic PDF/A detection rather than full ISO-19005 compliance checks. Listed specific requirements not validated and clarified the meaning of `IsValid = true`. Updated the API endpoint table to reflect the heuristic nature of the `ValidatePdfAAsync()` method. --- DocumentService.Client/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/DocumentService.Client/README.md b/DocumentService.Client/README.md index 402e046..0cd8da6 100644 --- a/DocumentService.Client/README.md +++ b/DocumentService.Client/README.md @@ -334,6 +334,15 @@ $result2 = [DocumentService.Client.Client]::Validation.ValidateAsync($pdfBytes). #### PDF/A-Konformitätsprüfung +> **⚠️ Hinweis zur Validierungstiefe:** `ValidatePdfAAsync` führt eine **heuristische PDF/A-Erkennung** durch, keine vollständige ISO-19005-Konformitätsprüfung. Die Implementierung erkennt das PDF/A-Konformitätslevel anhand der XMP-Metadaten (`pdfaid:part`, `pdfaid:conformance`) und prüft auf Verschlüsselung. Folgende Anforderungen der Norm werden **nicht** geprüft: +> +> - Einbettung aller verwendeten Schriftarten +> - Gültigkeit und Vollständigkeit der Farbprofile (ICC) +> - Fehlen von JavaScript, eingebetteten Multimedia-Inhalten und externen Referenzen +> - Strukturelle Barrierefreiheit (Level A) +> +> Das Ergebnis `IsValid = true` bedeutet daher: **„Keine erkannten Verstöße"**, nicht **„nachgewiesene ISO-19005-Konformität"**. Für eine zertifizierungsfähige Prüfung ist ein dedizierter Validator (z. B. veraPDF) erforderlich. + ```csharp using DocumentService.Client; @@ -1067,7 +1076,7 @@ Sobald die Endpunkte auf dem Server bereitgestellt werden, entfällt das `[Obsol | **Client-Eigenschaft** | **Methode** | **API-Endpunkt** | **Status** | **Beschreibung** | |---|---|---|---|---| | `Client.Validation` | `ValidateAsync()` | `POST /api/pdf/validation/validate` | ✅ Verfügbar | PDF validieren, Metadaten abrufen | -| `Client.Validation` | `ValidatePdfAAsync()` | `POST /api/pdf/validation/validate-pdfa` | ✅ Verfügbar | PDF/A-Konformität prüfen | +| `Client.Validation` | `ValidatePdfAAsync()` | `POST /api/pdf/validation/validate-pdfa` | ✅ Verfügbar | PDF/A-Erkennung (heuristisch, keine vollständige ISO-19005-Prüfung) | | `Client.Attachment` | `CheckAsync()` | `POST /api/pdf/attachments/check` | ✅ Verfügbar | Eingebettete Anhänge erkennen | | `Client.Attachment` | `ExtractAsync()` | `POST /api/pdf/attachments/extract` | ✅ Verfügbar | Anhänge extrahieren als `Dictionary` | | `Client.Attachment` | `AddAsync()` | `POST /api/pdf/attachments/add` | ⏳ Geplant | Anhänge in PDF/A-3 einbetten |