This commit is contained in:
35
docs/snippets/csharp/pdf_metadata_extractor.md
Normal file
35
docs/snippets/csharp/pdf_metadata_extractor.md
Normal file
@@ -0,0 +1,35 @@
|
||||
```csharp title="C#"
|
||||
using Kreuzberg;
|
||||
|
||||
var processor = new PdfMetadataExtractor();
|
||||
KreuzbergLib.RegisterPostProcessor(processor);
|
||||
|
||||
public class PdfMetadataExtractor : IPostProcessor
|
||||
{
|
||||
private int _processedCount = 0;
|
||||
|
||||
public string Name() => "pdf_metadata_extractor";
|
||||
public string Version() => "1.0.0";
|
||||
public string Description() => "Extracts and enriches PDF metadata";
|
||||
public string ProcessingStage() => "early";
|
||||
|
||||
public bool ShouldProcess(ExtractionResult result)
|
||||
=> result.MimeType == "application/pdf";
|
||||
|
||||
public ExtractionResult Process(ExtractionResult result)
|
||||
{
|
||||
_processedCount++;
|
||||
return result;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
Console.WriteLine("PDF metadata extractor initialized");
|
||||
}
|
||||
|
||||
public void Shutdown()
|
||||
{
|
||||
Console.WriteLine($"Processed {_processedCount} PDFs");
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user