51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
```csharp title="C#"
|
|
using Kreuzberg;
|
|
|
|
var extractor = new CustomTextExtractor();
|
|
KreuzbergLib.RegisterDocumentExtractor(extractor);
|
|
|
|
public class CustomTextExtractor : IDocumentExtractor
|
|
{
|
|
public string Name => "custom-text-extractor";
|
|
public string Version => "1.0.0";
|
|
|
|
public void Initialize()
|
|
{
|
|
Console.WriteLine("Custom text extractor initialized");
|
|
}
|
|
|
|
public void Shutdown()
|
|
{
|
|
Console.WriteLine("Custom text extractor shut down");
|
|
}
|
|
|
|
public ExtractionResult ExtractBytes(byte[] content, string mimeType, ExtractionConfig config)
|
|
{
|
|
var text = System.Text.Encoding.UTF8.GetString(content);
|
|
|
|
return new ExtractionResult
|
|
{
|
|
Content = text.ToUpper(),
|
|
MimeType = mimeType,
|
|
DetectedLanguages = null
|
|
};
|
|
}
|
|
|
|
public ExtractionResult ExtractFile(string path, string mimeType, ExtractionConfig config)
|
|
{
|
|
var content = System.IO.File.ReadAllBytes(path);
|
|
return ExtractBytes(content, mimeType, config);
|
|
}
|
|
|
|
public string[] SupportedMimeTypes()
|
|
{
|
|
return new[] { "text/plain" };
|
|
}
|
|
|
|
public int Priority()
|
|
{
|
|
return 50;
|
|
}
|
|
}
|
|
```
|