This commit is contained in:
51
docs/snippets/csharp/plugins/extractor_registration.md
Normal file
51
docs/snippets/csharp/plugins/extractor_registration.md
Normal file
@@ -0,0 +1,51 @@
|
||||
```csharp title="C#"
|
||||
using Kreuzberg;
|
||||
|
||||
var extractor = new JsonDocumentExtractor();
|
||||
KreuzbergLib.RegisterDocumentExtractor(extractor);
|
||||
|
||||
public class JsonDocumentExtractor : IDocumentExtractor
|
||||
{
|
||||
public string Name => "json-extractor";
|
||||
public string Version => "1.0.0";
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
Console.WriteLine("JSON extractor initialized");
|
||||
}
|
||||
|
||||
public void Shutdown()
|
||||
{
|
||||
Console.WriteLine("JSON extractor shut down");
|
||||
}
|
||||
|
||||
public ExtractionResult ExtractBytes(byte[] content, string mimeType, ExtractionConfig config)
|
||||
{
|
||||
var json = System.Text.Encoding.UTF8.GetString(content);
|
||||
|
||||
var result = new ExtractionResult
|
||||
{
|
||||
Content = json,
|
||||
MimeType = mimeType,
|
||||
DetectedLanguages = null
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
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[] { "application/json", "text/json" };
|
||||
}
|
||||
|
||||
public int Priority()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user