FileFire is a cross-platform, open-source Document SDK built with Rust, designed for high-performance document processing across mobile, desktop, and web platforms. It follows a Hexagonal Architecture with a Microkernel/Plugin system for maximum extensibility.
- Cross-Platform: Native bindings for Flutter, iOS, Android, Web (WASM), and .NET
- High Performance: Built with Rust for memory safety and speed
- Plugin Architecture: Extensible microkernel design with hot-swappable plugins
- Document Support: PDF, DOCX, XLSX, PPTX processing and rendering
- Rich Functionality: Annotations, OCR, digital signatures, watermarking, AI-powered features
- Cloud Ready: Headless cloud API for batch processing and SaaS integration
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Applications β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Flutter β iOS β Android β Web β .NET β Cloud β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Platform Adapters β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Core Engine (Rust) β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β PDF Engine β β Office Engine β β Image Engine β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Plugin System β
β OCR β AI/ML β Signatures β Watermark β Converters β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
import 'package:filefire/filefire.dart';
final doc = await FileFire.open("document.pdf");
await doc.annotate(page: 1, text: "Hello World", x: 100, y: 200);
await doc.save("output.pdf");import FileFire
let doc = try await FileFire.open("document.pdf")
try await doc.annotate(page: 1, text: "Hello World", x: 100, y: 200)
try await doc.save("output.pdf")import { FileFire } from 'filefire-wasm';
const doc = await FileFire.open("document.pdf");
await doc.annotate({ page: 1, text: "Hello World", x: 100, y: 200 });
await doc.save("output.pdf");/filefire
βββ core/ # Rust core engine
βββ plugins/ # Plugin implementations
β βββ ocr/ # OCR plugin (Tesseract)
β βββ ai/ # AI/ML plugins
β βββ watermark/ # Watermarking plugin
β βββ signature/ # Digital signature plugin
βββ bindings/ # Platform-specific adapters
β βββ flutter/ # Dart/Flutter bindings
β βββ ios/ # Swift/iOS bindings
β βββ android/ # Kotlin/Java bindings
β βββ wasm/ # WebAssembly bindings
β βββ dotnet/ # C#/.NET bindings
βββ examples/ # Example applications
βββ cloud/ # Cloud API and Docker setup
βββ docs/ # Documentation
- Rust 1.75+
- Flutter 3.0+ (for Flutter bindings)
- Xcode (for iOS bindings)
- Android SDK (for Android bindings)
- .NET 8+ (for .NET bindings)
cd core
cargo build --release# Build core and all bindings
make build-all
# Or build specific platforms
make build-flutter
make build-ios
make build-android
make build-wasm
make build-dotnet# Run all tests
cargo test --workspace
# Run platform-specific tests
cd bindings/flutter && flutter test
cd examples/ios_app && xcodebuild testFileFire's plugin architecture allows for easy extension:
use filefire_core::Plugin;
#[derive(Debug)]
pub struct OCRPlugin;
impl Plugin for OCRPlugin {
fn name(&self) -> &str { "ocr" }
fn version(&self) -> &str { "1.0.0" }
async fn process(&self, input: &[u8]) -> Result<Vec<u8>, Box<dyn std::error::Error>> {
// OCR implementation
Ok(vec![])
}
}- Core Rust engine with basic PDF support
- Plugin system architecture
- Flutter bindings and example app
- iOS/Android native bindings
- WebAssembly support
- OCR plugin implementation
- Office document support (DOCX, XLSX, PPTX)
- Cloud API with Docker deployment
- Real-time collaboration features
- AI-powered document analysis
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is dual-licensed under the MIT OR Apache-2.0 license.
For enterprise support, custom features, or consulting services, please contact us at enterprise@filefire.dev.
Built with β€οΈ by the FileFire community