Expand description
File processing abstraction for document text extraction.
This module provides a unified interface for extracting text content from various document formats (PDF, DOCX, images, etc.) using configurable providers.
§Providers
UnstructuredProvider- Unstructured.io (hosted or self-hosted)MistralProvider- Mistral OCR APIKreuzbergProvider- Kreuzberg Rust core (high-performance local processing)LocalProvider- Simple local processing (fallback, text files only)
§Usage
ⓘ
use crate::uar::file_processing::{FileProcessorFactory, FileProcessor};
let processor = FileProcessorFactory::create(&config)?;
let result = processor.process(Path::new("document.pdf")).await?;
println!("Extracted: {}", result.content);Structs§
- Extracted
Image - An image extracted from a document.
- File
Processor Factory - Factory for creating file processors based on configuration.
- Kreuzberg
Provider - Kreuzberg-based file processor using the native Rust core.
- Local
Provider - Local file processor for text-based files.
- Mistral
Provider - File processor using Mistral OCR API.
- Processing
Result - Result of file processing.
- Unstructured
Provider - File processor using Unstructured.io API.
Enums§
- Processing
Error - Errors that can occur during file processing.
Traits§
- File
Processor - Trait for file processing providers.
Functions§
- process_
bytes - Process bytes directly without writing to disk. Useful for processing uploaded file data.