Powerful Features, Simple API
See what TwainScanning.NET can do for your application. Interactive demos show each capability in action.
Scan Documents in 5 Lines
No complex setup. No configuration files. No boilerplate. Just reference the DLL and start scanning. Our clean API means you write less code and ship faster.
- Opens TWAIN connection automatically
- Detects and uses default scanner
- Shows native scanner UI
- Saves directly to your chosen format
Export to Any Format
One scan, multiple possibilities. Save to PDF for documents, JPEG for web, TIFF for archival, or PNG for lossless quality. Multi-page support built in.
.SaveAllToMultipagePdf()
.SaveAllToJpegs()
.SaveAllToMultipageTiff()
.SaveAllToPngs()
.SaveAllToBmps()
Discover All Scanners
Enumerate every TWAIN-compatible scanner on the system. Let users pick their preferred device, or automatically use the default. Full device information available.
List<TwIdentity> scanners = dsm.AvailableSources();
- List all available TWAIN devices
- Get device names and types
- Show native selection dialog
- Open any scanner by name
Configure Every Setting
Access the full TWAIN specification. Set resolution, color mode, page size, duplex, feeder settings, and hundreds of other capabilities programmatically.
ds.Resolution.Value = 300f;
ds.ColorMode.Value = TwPixelType.RGB;
ds.PageSize.Value = TwSS.A4;
Scan Asynchronously
Keep your application responsive while scanning. Our async API uses callbacks to notify you when scanning completes, letting users continue working.
ds.AcquireAsync(OnScanComplete, showUI: true);
- UI stays responsive during scan
- Callback-based completion
- Progress notifications available
- Cancel scanning mid-operation
x64 & AnyCPU Support
Most TWAIN scanner drivers are 32-bit only. Our Bridgex86 mode transparently bridges the architecture gap, letting your 64-bit application communicate with 32-bit drivers without any code changes.
ds.Bridgex86.Enabled = true;
// That's it — your x64 app now talks to x86 drivers
- Single line to enable bridging
- Works with AnyCPU, x64, and ARM64
- Automatic IPC — zero overhead for you
- Full API parity with native mode
Universal Compatibility
If it supports TWAIN, it works with TwainScanning.NET. We've tested with hundreds of scanners from all major manufacturers. One API for every device.
C# Code Examples
Ready to start coding? Browse real C# code examples covering the most common use cases — from basic scanning to advanced configuration, batch processing, and async operations.
- Minimal scanner UI example
- ADF batch scanning to PDF
- Advanced scanner settings
- Async scanning patterns
Your App. Scanner-Ready. In 5 Minutes.
You've seen what TwainScanning.NET can do. Now experience it yourself. Download the full-featured trial and have scanning working in your app before your next coffee break.
// That's literally it. You're done.
using (var dsm = new DataSourceManager(this))
using (var ds = dsm.OpenSource())
{
ds.Acquire(true)
.SaveAllToMultipagePdf("scan.pdf");
}