ドキュメントの片面のみスキャンできますが、もう片面はスキャンできません。 Wia Leadtoolsを使用してスキャンの両面を達成するために必要な設定は何ですか?Leadtools WIAを使用してドキュメントの両面をスキャンする必要があります
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;
//#if !LEADTOOLS_V19_OR_LATER
System.Windows.Forms.DialogResult dialogResult = _wiaSession.Acquire(mainWindowHandle, _sourceItem, flags);
更新されたコード:、私は「LEADTOOLSサポート」の答えに応じてコードを更新しましたが、それはまだページの1面をスキャンしています。
public void Scan()
{
...
...
...
object rootItem = _wiaSession.GetRootItem(null);
if (rootItem != null)
{
wiaSession.EnumItemsEvent += new EventHandler<WiaEnumItemsEventArgs> (wiaSession_EnumItemsEvent);
wiaSession.EnumChildItems(rootItem);
wiaSession.EnumItemsEvent -= new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent);
wiaSession.AcquireOptions = _wiaAcquireOptions;
transferMode = (_wiaProperties.DataTransfer.TransferMode == WiaTransferMode.None) ? WiaTransferMode.Memory : _wiaProperties.DataTransfer.TransferMode;
//#if !LEADTOOLS_V19_OR_LATER
System.Windows.Forms.DialogResult dialogResult = _wiaSession.Acquire(mainWindowHandle, _sourceItem, flags);
...
...
...
}
public void wiaSession_EnumItemsEvent(object sender, WiaEnumItemsEventArgs e)
{
if (e.Item != null)
{
WiaProperties wiaProperties = _wiaSession.GetProperties(e.Item);
if (System.Windows.Forms.MessageBox.Show("Enable duplex?", "WIA test", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{
wiaProperties.ScanningMode = WiaScanningModeFlags.Feeder | WiaScanningModeFlags.Duplex;
wiaProperties.MaximumNumberOfPages = 2;
}
else
{
wiaProperties.ScanningMode = WiaScanningModeFlags.Feeder | WiaScanningModeFlags.FrontOnly;
wiaProperties.MaximumNumberOfPages = 1;
}
wiaSession.SetProperties(e.Item, wiaProperties);
}
}
注:
- 私は、コードをデバッグしている、それがwiaSession_EnumItemsEvent
のプロパティを設定します - それは「両面を有効にする」から尋ねられたとき、私はYES
をクリック - プロパティ
を設定するためのデバッグ用のコードを追加しましたスクリーンショットを - 私は両側からスキャンするフィーダーに1枚の用紙を持って
の機能オプション:あなたは、フィーダで1枚の用紙を持っていると仮定すると
私はあなたの答えに応じてコードを更新しましたが、まだ文書の1面をスキャンしています。私が紛失しているコードを見てください。 –
WIAバージョン1.0または2.0を使用していますか? CapabilitiesメニューからWIAデモを実行して「サポートされている機能を表示...」を選択すると、その中にツリービューを持つ「項目の選択」ダイアログが表示されますか?ツリー内の各アイテムの機能は何ですか? –
_wiaSession.Startup(WiaVersion.Version2); –