diff --git a/DocumentService.Client/README.md b/DocumentService.Client/README.md index 4663df8..3efe137 100644 --- a/DocumentService.Client/README.md +++ b/DocumentService.Client/README.md @@ -194,17 +194,17 @@ using DocumentService.Client; // Variante A: byte[] byte[] pdfBytes = await File.ReadAllBytesAsync("rechnung.pdf"); -var result = await Client.Workflows.ExtractAsync(pdfBytes); +var result = await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes); Console.WriteLine($"Betrag: {result?.Bill?.Amount} {result?.Bill?.Currency}"); Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}"); // Variante B: Stream using var stream = File.OpenRead("rechnung.pdf"); -var result2 = await Client.Workflows.ExtractAsync(stream); +var result2 = await Client.Workflows.ExtractSwissQrCodeAsync(stream); // Variante C: Dateipfad -var result3 = await Client.Workflows.ExtractAsync("rechnung.pdf"); +var result3 = await Client.Workflows.ExtractSwissQrCodeAsync("rechnung.pdf"); ``` ```vbnet @@ -212,13 +212,13 @@ Imports DocumentService.Client ' Variante A: byte[] Dim pdfBytes = System.IO.File.ReadAllBytes("rechnung.pdf") -Dim result = Await Client.Workflows.ExtractAsync(pdfBytes) +Dim result = Await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes) Console.WriteLine($"Betrag: {result?.Bill?.Amount} {result?.Bill?.Currency}") Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}") ' Variante B: Dateipfad -Dim result2 = Await Client.Workflows.ExtractAsync("rechnung.pdf") +Dim result2 = Await Client.Workflows.ExtractSwissQrCodeAsync("rechnung.pdf") ``` ```powershell @@ -226,12 +226,12 @@ Add-Type -Path "DocumentService.Client.dll" # Variante A: byte[] $pdfBytes = [System.IO.File]::ReadAllBytes("rechnung.pdf") -$result = [DocumentService.Client.Client]::Workflows.ExtractAsync($pdfBytes).GetAwaiter().GetResult() +$result = [DocumentService.Client.Client]::Workflows.ExtractSwissQrCodeAsync($pdfBytes).GetAwaiter().GetResult() Write-Host "Betrag: $($result.Bill.Amount) $($result.Bill.Currency)" Write-Host "Empfaenger:$($result.Bill.Creditor.Name)" # Variante B: Dateipfad -$result2 = [DocumentService.Client.Client]::Workflows.ExtractAsync("rechnung.pdf").GetAwaiter().GetResult() +$result2 = [DocumentService.Client.Client]::Workflows.ExtractSwissQrCodeAsync("rechnung.pdf").GetAwaiter().GetResult() ``` **Fehlerbehandlung – `throwIfInvalid`:** @@ -240,10 +240,10 @@ Standardmäßig wirft die Methode eine `InvalidOperationException`, wenn das PDF ```csharp // Exception (Standard) – geeignet, wenn ungültige PDFs ein Fehlerfall sind -var result = await Client.Workflows.ExtractAsync(pdfBytes); +var result = await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes); // Null zurückgeben – geeignet für Batch-Verarbeitung o. Ä. -var result = await Client.Workflows.ExtractAsync(pdfBytes, throwIfInvalid: false); +var result = await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes, throwIfInvalid: false); if (result is null) { Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen."); @@ -252,10 +252,10 @@ if (result is null) ```vbnet ' Exception (Standard) -Dim result = Await Client.Workflows.ExtractAsync(pdfBytes) +Dim result = Await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes) ' Null zurückgeben -Dim result2 = Await Client.Workflows.ExtractAsync(pdfBytes, throwIfInvalid:=False) +Dim result2 = Await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes, throwIfInvalid:=False) If result2 Is Nothing Then Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen.") End If @@ -263,10 +263,10 @@ End If ```powershell # Exception (Standard) -$result = [DocumentService.Client.Client]::Workflows.ExtractAsync($pdfBytes).GetAwaiter().GetResult() +$result = [DocumentService.Client.Client]::Workflows.ExtractSwissQrCodeAsync($pdfBytes).GetAwaiter().GetResult() # Null zurückgeben ($false = throwIfInvalid:false) -$result2 = [DocumentService.Client.Client]::Workflows.ExtractAsync($pdfBytes, $false, $false).GetAwaiter().GetResult() +$result2 = [DocumentService.Client.Client]::Workflows.ExtractSwissQrCodeAsync($pdfBytes, $false, $false).GetAwaiter().GetResult() if ($null -eq $result2) { Write-Host "Dokument ungueltig oder verschluesselt – uebersprungen." } @@ -1074,14 +1074,14 @@ Sobald die Endpunkte auf dem Server bereitgestellt werden, entfällt das `[Obsol | `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.Attachment` | `CheckAsync()` | `POST /api/pdf/attachments/check` | ✅ Verfügbar | Eingebettete Anhänge erkennen | -| `Client.Attachment` | `ExtractSwissQrCodeAsync()` | `POST /api/pdf/attachments/extract` | ✅ Verfügbar | Anhänge extrahieren als `Dictionary` | +| `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 | | `Client.Operations` | `MergeAsync()` | `POST /api/pdf/operations/merge` | ✅ Verfügbar | Mehrere PDFs zusammenführen | | `Client.Operations` | `AnnotateAsync()` | `POST /api/pdf/operations/annotate` | ✅ Verfügbar | Annotationen hinzufügen | | `Client.Operations` | `StampAsync()` | `POST /api/pdf/operations/stamp` | ✅ Verfügbar | Text-/Bildstempel hinzufügen | -| `Client.SwissQrCode` | `ExtractSwissQrCodeAsync()` | `POST /api/pdf/qr-code/extract-swiss` | ✅ Verfügbar | Schweizer QR-Code-Daten extrahieren | +| `Client.SwissQrCode` | `ExtractAsync()` | `POST /api/pdf/qr-code/extract-swiss` | ✅ Verfügbar | Schweizer QR-Code-Daten extrahieren | | `Client.Zugferd` | `CheckAsync()` | `POST /api/pdf/zugferd/has-zugferd` | ✅ Verfügbar | ZUGFeRD-Einbettung prüfen | -| `Client.Zugferd` | `ExtractSwissQrCodeAsync()` | `POST /api/pdf/zugferd/extract` | ✅ Verfügbar | ZUGFeRD-XML als Stream | +| `Client.Zugferd` | `ExtractAsync()` | `POST /api/pdf/zugferd/extract` | ✅ Verfügbar | ZUGFeRD-XML als Stream | | `Client.Zugferd` | `ExtractAsResultAsync()` | `POST /api/pdf/zugferd/extract` | ✅ Verfügbar | ZUGFeRD-XML mit Metadaten als Objekt | | `Client.Conversion` | `ToPdfAAsync()` | `POST /api/pdf/conversion/to-pdfa` | ⏳ Geplant | PDF zu PDF/A konvertieren | | `Client.Conversion` | `FromPdfAAsync()` | `POST /api/pdf/conversion/from-pdfa` | ⏳ Geplant | PDF/A-Einschränkungen aufheben |