Update method names and improve API consistency
Replaced `ExtractAsync` with `ExtractSwissQrCodeAsync` in C#, VB.NET, and PowerShell examples for Swiss QR Code extraction. Updated the `throwIfInvalid` parameter to allow handling invalid PDFs without exceptions. Revised the API endpoint table in README.md to reflect updated method names (`ExtractSwissQrCodeAsync` replaced with `ExtractAsync` for `Client.Attachment`, `Client.SwissQrCode`, and `Client.Zugferd`). Retained `ExtractSwissQrCodeAsync` for `Client.Workflows`. These changes improve clarity, consistency, and functionality in the API and documentation.
This commit is contained in:
@@ -194,17 +194,17 @@ using DocumentService.Client;
|
|||||||
|
|
||||||
// Variante A: byte[]
|
// Variante A: byte[]
|
||||||
byte[] pdfBytes = await File.ReadAllBytesAsync("rechnung.pdf");
|
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($"Betrag: {result?.Bill?.Amount} {result?.Bill?.Currency}");
|
||||||
Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}");
|
Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}");
|
||||||
|
|
||||||
// Variante B: Stream
|
// Variante B: Stream
|
||||||
using var stream = File.OpenRead("rechnung.pdf");
|
using var stream = File.OpenRead("rechnung.pdf");
|
||||||
var result2 = await Client.Workflows.ExtractAsync(stream);
|
var result2 = await Client.Workflows.ExtractSwissQrCodeAsync(stream);
|
||||||
|
|
||||||
// Variante C: Dateipfad
|
// Variante C: Dateipfad
|
||||||
var result3 = await Client.Workflows.ExtractAsync("rechnung.pdf");
|
var result3 = await Client.Workflows.ExtractSwissQrCodeAsync("rechnung.pdf");
|
||||||
```
|
```
|
||||||
|
|
||||||
```vbnet
|
```vbnet
|
||||||
@@ -212,13 +212,13 @@ Imports DocumentService.Client
|
|||||||
|
|
||||||
' Variante A: byte[]
|
' Variante A: byte[]
|
||||||
Dim pdfBytes = System.IO.File.ReadAllBytes("rechnung.pdf")
|
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($"Betrag: {result?.Bill?.Amount} {result?.Bill?.Currency}")
|
||||||
Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}")
|
Console.WriteLine($"Empfänger: {result?.Bill?.Creditor?.Name}")
|
||||||
|
|
||||||
' Variante B: Dateipfad
|
' Variante B: Dateipfad
|
||||||
Dim result2 = Await Client.Workflows.ExtractAsync("rechnung.pdf")
|
Dim result2 = Await Client.Workflows.ExtractSwissQrCodeAsync("rechnung.pdf")
|
||||||
```
|
```
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
@@ -226,12 +226,12 @@ Add-Type -Path "DocumentService.Client.dll"
|
|||||||
|
|
||||||
# Variante A: byte[]
|
# Variante A: byte[]
|
||||||
$pdfBytes = [System.IO.File]::ReadAllBytes("rechnung.pdf")
|
$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 "Betrag: $($result.Bill.Amount) $($result.Bill.Currency)"
|
||||||
Write-Host "Empfaenger:$($result.Bill.Creditor.Name)"
|
Write-Host "Empfaenger:$($result.Bill.Creditor.Name)"
|
||||||
|
|
||||||
# Variante B: Dateipfad
|
# 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`:**
|
**Fehlerbehandlung – `throwIfInvalid`:**
|
||||||
@@ -240,10 +240,10 @@ Standardmäßig wirft die Methode eine `InvalidOperationException`, wenn das PDF
|
|||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
// Exception (Standard) – geeignet, wenn ungültige PDFs ein Fehlerfall sind
|
// 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. Ä.
|
// 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)
|
if (result is null)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen.");
|
Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen.");
|
||||||
@@ -252,10 +252,10 @@ if (result is null)
|
|||||||
|
|
||||||
```vbnet
|
```vbnet
|
||||||
' Exception (Standard)
|
' Exception (Standard)
|
||||||
Dim result = Await Client.Workflows.ExtractAsync(pdfBytes)
|
Dim result = Await Client.Workflows.ExtractSwissQrCodeAsync(pdfBytes)
|
||||||
|
|
||||||
' Null zurückgeben
|
' 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
|
If result2 Is Nothing Then
|
||||||
Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen.")
|
Console.WriteLine("Dokument ungültig oder verschlüsselt – übersprungen.")
|
||||||
End If
|
End If
|
||||||
@@ -263,10 +263,10 @@ End If
|
|||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# Exception (Standard)
|
# 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)
|
# 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) {
|
if ($null -eq $result2) {
|
||||||
Write-Host "Dokument ungueltig oder verschluesselt – uebersprungen."
|
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` | `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-Konformität prüfen |
|
||||||
| `Client.Attachment` | `CheckAsync()` | `POST /api/pdf/attachments/check` | ✅ Verfügbar | Eingebettete Anhänge erkennen |
|
| `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<string, Stream>` |
|
| `Client.Attachment` | `ExtractAsync()` | `POST /api/pdf/attachments/extract` | ✅ Verfügbar | Anhänge extrahieren als `Dictionary<string, Stream>` |
|
||||||
| `Client.Attachment` | `AddAsync()` | `POST /api/pdf/attachments/add` | ⏳ Geplant | Anhänge in PDF/A-3 einbetten |
|
| `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` | `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` | `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.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` | `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.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` | `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 |
|
| `Client.Conversion` | `FromPdfAAsync()` | `POST /api/pdf/conversion/from-pdfa` | ⏳ Geplant | PDF/A-Einschränkungen aufheben |
|
||||||
|
|||||||
Reference in New Issue
Block a user