如何从C#中逐渐扫描Windows上的文档,同时获取回调以显示它们进来时的图像碎片,并更新我自己的自定义进度UI?带有增量式自定义进度UI的Windows C#文档扫描?
它看起来像扫描仪API选项包括:
- WIA,WIA脚本自动化(窗口)
- TWAIN(在Windows,Linux)
- ImageKit和ImageCaptureCore(MacOS的)
- SANE( linux)
- ISIS(窗口,昂贵的商业)。
我的WIA脚本自动化的尝试:
我有一个使用Windows WIA脚本自动化扫描文档一个简单的C#应用程序。 (请参阅code on github)但是,在扫描期间,UI会被弹出的进度对话框劫持。
当前代码使用WIA脚本CommonDialog.showTransfer
(see here)进行扫描,显示弹出进度条对话框。我知道我可以改为使用Item.Transfer
,但是,它阻止整个持续时间,并且不提供回调,因此我可以更新自己的自定义进度UI(或取消传输)。
有什么办法可以通过WIA进行无阻塞扫描,或获取进度回调吗?
我必须使用TWAIN吗?
您的项目如何设置增量预览?我将UseIncrementalMemoryXfer设置为true,结果没有改变。 – Dia
你在用什么扫描仪?你指的是什么“结果”?这是你自己的应用程序,还是其中一个测试应用程序? –
更新:我正在使用penpower卡A8扫描仪,并且我正在使用您的WPF测试应用程序。我将'UseIncrementalMemoryXfer'设置为true。如果我选择默认twain设备,则生成的图像始终为黑白色,并且在扫描完成后仅触发一次“TransferImage”事件。如果我选择扫描仪的WIA模式,TransferImage事件将逐步触发,但结果图像中缺少蓝色。 – Dia