将带有内置扫描仪的打印机算作 WIA 扫描仪的方法

Ways to Count a Printer With a Built in Scanner as a Scanner for WIA

我目前正在使用一些 OMR 软件,该软件将从扫描仪获取并扫描纸张,然后将其信息写入文本文件。为了获得可用的本地扫描仪,我使用 WIA;要获得这些扫描仪,我会使用一些代码,例如

public List<ScannerInfo> GetWiaDevices()
{
    WIA.DeviceManager mgr = new WIA.DeviceManager();
    List<ScannerInfo> retVal = new List<ScannerInfo>();

    foreach (WIA.DeviceInfo info in mgr.DeviceInfos)
    {

        if (info.Type == WIA.WiaDeviceType.ScannerDeviceType)
        {
            foreach (WIA.Property p in info.Properties)
            {

                if (p.Name == "Name")
                    retVal.Add(new ScannerInfo(((WIA.IProperty)p).get_Value().ToString(), info.DeviceID));
            }

        }

    }
    return retVal;

}

现在,我正在使用技术上属于打印机的东西(Windows 读作打印机)-- 我相信 Konica Minolta Bizhub 282。不幸的是,if (info.Type == WIA.WiaDeviceType.ScannerDeviceType) 无法将带有内置扫描仪 的打印机识别为 扫描仪,因此当我 运行 此代码检查本地扫描仪时,打印机不显示向上。

有没有办法让带有内置扫描仪的打印机出现在列表中,并且使它们可以在 C# 中用作扫描仪?感谢您的宝贵时间!

这台打印机似乎没有显示为 twain 或 WIA 来源的扫描仪。

Minolta 网站上肯定没有它的驱动程序(只有 PCLx 和 PostScript 打印驱动程序)。

此扫描仪的工作方式是使用您的 IT 管理员设置的 SMB 网络共享。正确配置后,打印机会将扫描的文档转储到那里。

你可以阅读它 here

如果我不知何故错过了什么……(我想我没有),那台打印机的所有手册都是 here