I have a requirement to develop an application that can scan documents and produce searchable PDF's that can be previewed from a desktop application (e.g. WPF) or a web browser. Also ability to scan a barcode from the scanned document.
Requirements:
- Scanning documents
- Produce searchable PDF's (OCR)
- OCR has to be usable without scanning (for example when user uploads image)
- PDF previewing & basic manipulation (e.g. turn page upside down)
- Barcode scanning from scanned documents.
- (Optional but nice to have) .NET Core / cross-platform support
Before using any paid libraries, I would like to first find out how easy it is to do this with free and open source libraries.
From what little research I did, it seems like I can use the following to achieve this, but it seems like a lot of work:
- Windows Image Acquisition (WIA) 2.0 for scanning documents. (Windows only)
- Tesseract for OCR and producing PDF's. (Needs a .NET wrapper)
- (Desktop app) embedded web browser for previewing PDF's.
The above might work, but I've read in different places that WIA doesn't work quite well with some scanners and it might be better to use some kind of TWAIN SDK for best scanner support.
Perhaps it's then better to use some paid library, which hopefully doesn't have astronomical costs, such as LEADTOOLS TWAIN SDK.
If paid is the way, what would be the best choice for a .NET Framework / .NET Core developer?