想要以编程方式设置扫描选项(Leadtools SDK)

Want to set scanning options programmatically (Leadtools SDK)

当我使用 Leadtools 提供的示例代码通过 Leadtools SDK 扫描文档时。它向我展示了扫描选项表单。我不想向用户显示此扫描选项(表单)。

如何隐藏它并以编程方式设置扫描选项?我已经浏览了 leadtools 文档和示例,但找不到。

附上sanning选项的截图Scanning Options

    WiaAcquireFlags flags = WiaAcquireFlags.None;
    bool showProgress = true;
    _progressDlg = new ProgressForm("Transferring", "", 100);
    _wiaAcquiring = true;

    if (_showUserInterface)
    {
        flags = WiaAcquireFlags.UseCommonUI | WiaAcquireFlags.ShowUserInterface;
    }
    else
    {           
        if (SelectAcquireSource() != System.Windows.Forms.DialogResult.OK)
        {
            _wiaAcquiring = false;
            return;
        }
    }

    if (_showUserInterface && _wiaVersion == WiaVersion.Version2)
        showProgress = false;

    if (showProgress)
        _progressDlg.Show();

    _wiaSession.AcquireOptions = _wiaAcquireOptions;
    _transferMode = (_wiaProperties.DataTransfer.TransferMode == WiaTransferMode.None) ? WiaTransferMode.Memory : _wiaProperties.DataTransfer.TransferMode;

根据文档,如果您不想显示扫描仪的用户界面,则不应为 ShowUserInterface 传递 WiaAcquireFlags,而应使用 WiaAcquireFlags.None。 https://www.leadtools.com/help/leadtools/v19/dh/wa/wiaacquireflags.html
在上面粘贴的代码中,您需要确保 _showUserInterface 设置为 false。

如果要以编程方式设置属性,可以使用 WiaSession.SetPropertyXXX() 方法。例如,如果您的设备(扫描仪)支持设置 X 和 Y 分辨率值,您可以使用如下代码:

_wiaSession.SetPropertyLong(_selectedWiaItem, null, WiaPropertyId.ScannerItemXRes, 300);
_wiaSession.SetPropertyLong(_selectedWiaItem, null, WiaPropertyId.ScannerItemYRes, 300);

https://www.leadtools.com/help/leadtools/v19/dh/wa/wiasession-setpropertylong.html