RapidScanner 1.0.8
The owner has unlisted this package.
This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package RapidScanner --version 1.0.8
NuGet\Install-Package RapidScanner -Version 1.0.8
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RapidScanner" Version="1.0.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RapidScanner --version 1.0.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RapidScanner, 1.0.8"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RapidScanner as a Cake Addin #addin nuget:?package=RapidScanner&version=1.0.8 // Install RapidScanner as a Cake Tool #tool nuget:?package=RapidScanner&version=1.0.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RapidScanner
RapidScanner is a cross-platform document scanning solution for .NET applications with AI-powered document processing capabilities.
Features
Core Scanning Features
- Cross-platform document scanning support (Windows, macOS, Linux)
- High-performance native interop with scanner devices
- Async/await support for all operations
- Progress tracking for scan operations
- Multiple page scanning support
- Automatic document feeder (ADF) support
- Duplex scanning support
Image Processing
- Auto-enhancement and color correction
- Document bounds detection
- Deskew and rotation correction
- Shadow removal
- Noise reduction
- Barcode and QR code detection
- Multiple output formats (PDF, JPEG, PNG, TIFF)
- Image compression and optimization
Document AI Capabilities
- Text extraction (OCR) with high accuracy
- Document classification
- Table detection and extraction
- Form field recognition
- Signature detection and validation
- Layout analysis
- Document structure recognition
- Language detection and multi-language support
Workflow System
- Custom workflow definition
- Step-based processing
- Progress monitoring
- Error handling and recovery
- Batch processing support
- Parallel processing capabilities
- Extensible workflow steps
Installation
Install via NuGet Package Manager:
dotnet add package RapidScanner
Or via Package Manager Console:
Install-Package RapidScanner
Quick Start
Basic Scanning
using RapidScanner;
// List available scanners
var scanners = await Scanner.ListScannersAsync();
Console.WriteLine($"Found {scanners.Count} scanners");
// Create scanner instance
await using var scanner = new Scanner();
// Configure scan settings
var settings = new ScanSettings
{
DeviceId = scanners[0].Id,
Resolution = 300,
ColorMode = ColorMode.Color,
Size = "A4",
OutputFormat = ImageFormat.Pdf,
OutputPath = "scan.pdf"
};
// Register for progress updates
scanner.ScanProgress += (sender, e) =>
{
Console.WriteLine($"Scan progress: {e.Progress}%");
};
// Start scanning
var result = await scanner.ScanAsync(settings);
Image Processing
using RapidScanner.Image;
// Create image processor
await using var processor = new ImageProcessor();
// Auto-enhance image
await processor.EnhanceImageAsync("input.jpg", "enhanced.jpg");
// Detect document bounds
var bounds = await processor.DetectDocumentBoundsAsync("document.jpg");
// Detect barcodes
var barcodes = await processor.DetectBarcodesAsync("document.jpg");
// Detect QR codes
var qrCodes = await processor.DetectQRCodesAsync("document.jpg");
// Process multiple pages
await processor.ProcessBatchAsync(
new[] { "page1.jpg", "page2.jpg" },
"output.pdf",
new ProcessingOptions
{
EnableDeskew = true,
EnableShadowRemoval = true,
EnableNoiseReduction = true
});
Document AI
using RapidScanner.AI;
using var documentAI = new DocumentAI();
// Extract text with layout
var textBlocks = await documentAI.ExtractTextAsync("document.pdf");
foreach (var block in textBlocks)
{
Console.WriteLine($"Text: {block.Text}");
Console.WriteLine($"Confidence: {block.Confidence:P}");
Console.WriteLine($"Bounds: {block.Bounds}");
}
// Classify document
var classification = await documentAI.ClassifyDocumentAsync("document.pdf");
Console.WriteLine($"Document type: {classification.Type}");
Console.WriteLine($"Confidence: {classification.Confidence:P}");
// Extract tables
var tables = await documentAI.ExtractTablesAsync("document.pdf");
foreach (var table in tables)
{
Console.WriteLine($"Table with {table.Rows.Count} rows and {table.Columns.Count} columns");
}
// Extract form fields
var formFields = await documentAI.ExtractFormFieldsAsync("document.pdf");
foreach (var field in formFields)
{
Console.WriteLine($"Field: {field.Name} = {field.Value}");
}
Custom Workflows
using RapidScanner.Workflow;
// Define workflow steps
var workflow = new Workflow("DocumentProcessing")
{
Steps = new List<WorkflowStep>
{
new ScanStep(new ScanSettings
{
DeviceId = "scanner1",
Resolution = 300,
ColorMode = ColorMode.Color
}),
new ImageProcessStep(new ProcessingOptions
{
EnableDeskew = true,
EnableShadowRemoval = true
}),
new DocumentAnalyzeStep(
"Extract Text",
"Extracts text from document",
async (ai, file) => await ai.ExtractTextAsync(file))
}
};
// Register workflow
WorkflowEngine.Instance.RegisterWorkflow(workflow);
// Start workflow
var workflowId = await WorkflowEngine.Instance.StartWorkflowAsync(
"DocumentProcessing",
new Dictionary<string, string>
{
["BatchId"] = "batch123",
["OutputDir"] = @"C:\Output"
});
// Monitor workflow status
var status = WorkflowEngine.Instance.GetStatus(workflowId);
Console.WriteLine($"Status: {status.Status}");
Console.WriteLine($"Progress: {status.CompletedSteps}/{status.TotalSteps}");
Scanner Settings
Setting | Description | Default | Values |
---|---|---|---|
DeviceId | Scanner device identifier | Required | Device-specific |
Resolution | Scan resolution in DPI | 300 | 100-1200 |
ColorMode | Color mode | Color | Color, Grayscale, BlackAndWhite |
Size | Paper size | "A4" | A4, Letter, Legal, etc. |
OutputFormat | Output format | Pdf, Jpeg, Png, Tiff | |
Duplex | Enable duplex scanning | false | true/false |
ADF | Use document feeder | false | true/false |
Brightness | Image brightness | 0 | -1000 to 1000 |
Contrast | Image contrast | 0 | -1000 to 1000 |
Processing Options
Option | Description | Default |
---|---|---|
EnableDeskew | Automatically straighten images | true |
EnableShadowRemoval | Remove shadows from edges | true |
EnableNoiseReduction | Reduce image noise | true |
EnableColorCorrection | Adjust colors automatically | true |
CompressionQuality | Output compression level | 75 |
MaxDimension | Maximum image dimension | 4096 |
DetectBarcodes | Detect and decode barcodes | false |
DetectQRCodes | Detect and decode QR codes | false |
Platform Support
- Windows: Full support for WIA and TWAIN devices
- macOS: Support for ImageCaptureCore devices
- Linux: Support for SANE devices
Requirements
- .NET 6.0 or higher
- Platform-specific scanner drivers
- For AI features: Internet connection for cloud processing
Performance Considerations
- Use appropriate resolution for your needs (300 DPI is sufficient for most cases)
- Enable compression for large documents
- Use batch processing for multiple pages
- Consider memory usage when processing large images
- Use async/await properly to maintain application responsiveness
Security
- All cloud processing is done over secure HTTPS connections
- No document data is stored permanently on servers
- API keys are required for cloud AI features
- All temporary files are securely deleted after processing
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Created by MohaNed Ghawar
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For support, please:
- Check the Documentation
- Open an issue on the GitHub repository
- Contact support@rapidscanner.dev
Changelog
Version 1.0.0
- Initial release with core scanning features
- Basic image processing
- Document AI capabilities
- Workflow system
Version 1.1.0
- Added barcode and QR code detection
- Improved image processing algorithms
- Enhanced workflow system
- Better error handling and recovery
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- System.IO.Ports (>= 6.0.0)
- System.Text.Json (>= 8.0.5)
-
net7.0
- System.IO.Ports (>= 7.0.0)
- System.Text.Json (>= 8.0.5)
-
net8.0
- System.IO.Ports (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|