В VB есть возможность обратится к свойству откуда идёт сканирование, либо в том примере, который нашёл в сети, такая возможность есть. У себя же я такого свойства не нахожу. Синтаксис отличается немного между VB и Delphi. И я так понял свойства всех сканеров могут быть разные, мне же нужен универсальный подход независимо от сканера.
Вот для примера код из VB, где идёт определение источника сканирования. Здесь "1" это лоток многостраничной подачи:
Scanner.Properties("3088").Value = 1 'Dim Scanner As WIA.Device 'Automatic Document Feeder
В Delphi (WIA_TLB) такого свойства нет, по крайней мере у моего сканера.
Думаю что у всех сканеров может быть свой набор свойств и идти они могут под разными номерами.
Вот у мня например для сканера HP CLJM477 Scan Driver какие свойства:
for j := 1 to itm.Properties.Count do //Itm:IItem;
mm1.Lines.Add(inttostr(j)+'. '+itm.Properties.Item[j].Name+' - '+string(itm.Properties.Item[j].Get_Value));
1. Item Name - Scan
2. Full Item Name - 0001\Root\Scan
3. Item Flags - 532483
4. Color Profile Name - sRGB Color Space Profile.icm
5. Access Rights - 3
6. Filename extension - bmp
7. Compression - 0
8. Data Type - 3
9. Bits Per Pixel - 24
10. Channels Per Pixel - 3
11. Bits Per Channel - 8
12. Planar - 0
13. Current Intent - 0
14. Horizontal Resolution - 200
15. Vertical Resolution - 200
16. Horizontal Start Position - 0
17. Vertical Start Position - 0
18. Horizontal Extent - 1700
19. Vertical Extent - 2338
20. Pixels Per Line - 1700
21. Number of Lines - 2338
22. Bytes Per Line - 0
23. Item Size - 0
24. Buffer Size - 262144
25. Photometric Interpretation - 0
26. Brightness - 0
27. Contrast - 0
28. Threshold - 195
29. Orientation - 0
30. Media Type - 2
31. Preferred Format - {B96B3CAB-0728-11D3-9D7B-0000F81EF32E}
32. Format - {B96B3CAB-0728-11D3-9D7B-0000F81EF32E}
При изменении источника сканирования(перекладывания листков в лоток автоматической подачи) на самом сканере меняются автоматически свойства: "Vertical Extent", "Number of Lines".
В общем проблема в том, что если бы знать откуда будет сканирование сейчас, всё остальное можно сделать по имеющимся примерам. Есть возможность сделать поточное сканирование нескольких страниц и работает хорошо и есть сканирование отдельной страницы, но понять где сейчас будет сканироваться пока не получается.
|