79 lines
1.7 KiB
Markdown
79 lines
1.7 KiB
Markdown
```csharp title="C#"
|
|
using Kreuzberg;
|
|
using System.Collections.Generic;
|
|
|
|
public class CloudOcrBackend : IOcrBackend
|
|
{
|
|
private string _apiKey;
|
|
|
|
public string Name => "cloud-ocr";
|
|
public string Version => "1.0.0";
|
|
|
|
public CloudOcrBackend(string apiKey)
|
|
{
|
|
_apiKey = apiKey;
|
|
}
|
|
|
|
public void Initialize()
|
|
{
|
|
}
|
|
|
|
public void Shutdown()
|
|
{
|
|
}
|
|
|
|
public ExtractionResult ProcessImage(byte[] imageBytes, OcrConfig config)
|
|
{
|
|
// Call cloud OCR API with imageBytes and config.Language
|
|
// Return ExtractionResult with extracted text
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public ExtractionResult ProcessImageFile(string path, OcrConfig config)
|
|
{
|
|
var imageBytes = File.ReadAllBytes(path);
|
|
return ProcessImage(imageBytes, config);
|
|
}
|
|
|
|
public bool SupportsLanguage(string language)
|
|
{
|
|
return SupportedLanguages().Contains(language);
|
|
}
|
|
|
|
public OcrBackendType BackendType()
|
|
{
|
|
return OcrBackendType.Cloud;
|
|
}
|
|
|
|
public List<string> SupportedLanguages()
|
|
{
|
|
return new List<string> { "eng", "deu", "fra" };
|
|
}
|
|
|
|
public bool SupportsTableDetection()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public bool SupportsDocumentProcessing()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public ExtractionResult ProcessDocument(string path, OcrConfig config)
|
|
{
|
|
throw new NotSupportedException("Document processing not supported by CloudOcrBackend");
|
|
}
|
|
}
|
|
|
|
class Program
|
|
{
|
|
static void Main()
|
|
{
|
|
// Register the backend
|
|
var backend = new CloudOcrBackend(apiKey: "your-api-key");
|
|
OcrBackendBridge.Register(backend);
|
|
}
|
|
}
|
|
```
|