5 lines of code
scan.pdf
1using (var dsm = new DataSourceManager(this))
2using (var ds = dsm.OpenSource())
3{
4 var collector = ds.Acquire(true);
5 collector.SaveAllToMultipagePdf("scan.pdf");
6}
Simplicity First

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
Flexible Output

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()
Available Scanners 4 found
Canon DR-C225 Document Scanner
Default
Epson WorkForce ES-400 Duplex Scanner
Fujitsu ScanSnap iX1600 Wireless Scanner
HP ScanJet Pro 3000 Flatbed Scanner
Device Management

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
Complete Control

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;
300
Document Scanner Pro
Scanning page 3 of 5...
60%
UI Responsive
Non-Blocking

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
Works Everywhere

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.

100% TWAIN Compliant
500+ Scanners Tested
Canon
Epson
Fujitsu
HP
Brother
Kodak
Xerox
Panasonic
TWAIN Certified

x64 and AnyCPU Support

Most scanner drivers are 32-bit, so standard examples work best with x86 builds. For x64 or AnyCPU projects, our Bridge mode enables seamless integration without architecture constraints.

View x64/AnyCPU Examples
Ready to Ship

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.

300+
companies already shipping with TwainScanning.NET
YourApp.cs
// That's literally it. You're done.
using (var dsm = new DataSourceManager(this))
using (var ds = dsm.OpenSource())
{
    ds.Acquire(true)
      .SaveAllToMultipagePdf("scan.pdf");
}
PDF
5 min
1 Single DLL
0 Dependencies
Deployments
$199 One-time