Отсутствуют свойства двустороннего сканирования WIA

Я не могу получить доступ / найти свойство / настройку дуплекса на моем сканере через Powershell и через WIA 2.0.

Я установил правильные драйверы, но кажется, что многие свойства отсутствуют (см. Ниже).

Я читаю неправильные свойства устройства? -> device.Properties["Document Handling Select"] = 5 (см. Здесь Дуплексное сканирование WIA 2.0).

Сканер сканирует обе страницы за 1 оборот (двустороннее сканирование).

Пробовал несколько «исправлений» других вопросов, в том числе дважды вызывать изображение item.transfer - однако обратная страница не отображается.

Что работает:

  • Все, включая сканирование страницы и сохранение ее в .tiff файл

Что не работает:

  • Дуплекс - я просмотрел миллионы сайтов, документацию WIA 2.0, но не могу найти подходящего свойства для установки device.Properties["Document Handling Select"] = 5 (найдено здесь Двухстороннее сканирование WIA 2.0)
  • Сканер является дуплексным и работает с дуплексом во всех стандартных настройках сканирования.

Фрагмент Powershell

While ($true) {
"in While"
Try{

$deviceManager = new-object -ComObject WIA.DeviceManager
"Devices: " + $deviceManager.DeviceInfos.Count()
$device = $deviceManager.DeviceInfos.Item(1).Connect()

} catch {
    "while break"
    $error
    break 
}

$x = 1
while ($x -lt 17){

$device.Properties($x)
$x = $x + 1
}

$imageProcess = new-object -ComObject WIA.ImageProcess

$wiaFormatTIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}"

foreach ($item in $device.Items) {
    "device items: " + $device.Items.Count
    $image = $item.Transfer($wiaFormatTIFF)
    $imageback = $item.Transfer($wiaFormatTIFF)

Вывод собственности

Вывод свойств свойств устройства Powershell через USB:

Name           : User Name
PropertyID     : 3112
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : Root
Name           : Item Name
PropertyID     : 4098
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : 0001\Root
Name           : Full Item Name
PropertyID     : 4099
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : 76
Name           : Item Flags
PropertyID     : 4101
Type           : 5
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001
Name           : Unique Device ID
PropertyID     : 2
Type           : 16
IsReadOnly     : False
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : CANON
Name           : Manufacturer
PropertyID     : 3
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : CANON DR-M140 USB
Name           : Description
PropertyID     : 4
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : 65536
Name           : Type
PropertyID     : 5
Type           : 5
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : \\.\Usbscan4
Name           : Port
PropertyID     : 6
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : CANON DR-M140 USB
Name           : Name
PropertyID     : 7
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : local
Name           : Server
PropertyID     : 8
Type           : 16
IsReadOnly     : False
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          :
Name           : Remote Device ID
PropertyID     : 9
Type           : 16
IsReadOnly     : False
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : {B763D1FD-94C8-4ef6-B5E8-E7F3086CF161}
Name           : UI Class ID
PropertyID     : 10
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : 0
Name           : Hardware Configuration
PropertyID     : 11
Type           : 5
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          :
Name           : BaudRate
PropertyID     : 12
Type           : 16
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

Value          : 19
Name           : STI Generic Capabilities
PropertyID     : 13
Type           : 5
IsReadOnly     : True
IsVector       : False
SubType        : 0
SubTypeDefault :
SubTypeValues  :
SubTypeMin     :
SubTypeMax     :
SubTypeStep    :

device items: 1

person Cedrik    schedule 21.08.2019    source источник


Ответы (1)


Хорошо, на самом деле у сканера не было свойства дуплексного режима, в то время как он был дуплексным. Пробовал с другим сканером, и с этим свойством он работает.

Try {   
    "device items: " + $device.Items.Count

    $device.Properties["3088"].Value = 5 <--- Duplex property 5, ID 3088
    $device.Properties["3087"].Value
    $imageback = $item.Transfer($wiaFormatTIFF)

} catch {
    "while break"
    $error
    $killwhile = 1
    break 
}   
person Cedrik    schedule 21.08.2019