想要以编程方式设置扫描选项(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
当我使用 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