如何从 C# 增量扫描 Windows 上的文档,同时获取回调以显示图像的片段,并更新我自己的自定义进度 UI?
看起来扫描仪 API 选项包括:
- WIA、WIA 脚本自动化 (windows)
- TWAIN(Windows、Linux)
- ImageKit 和 ImageCaptureCore (MacOS)
- 理智(Linux)
- ISIS(窗户,昂贵的商业)。
我对 WIA 脚本自动化的尝试:
我有一个简单的 C# 应用程序,它使用 Windows WIA 脚本自动化来扫描文档。(参见github 上的代码)但是,在扫描期间,UI 被弹出进度对话框劫持。
当前代码使用 WIA Scripting 进行扫描CommonDialog.showTransfer
(请参阅此处),它会显示一个弹出进度条对话框。我知道我可以改为使用Item.Transfer
,但是它会在整个持续时间内阻塞并且不提供回调,因此我可以更新自己的自定义进度 UI(或取消传输)。
有什么方法可以使用 WIA 进行非阻塞扫描,或者获取进度回调?
我必须使用 TWAIN 吗?