在 WIA 2.0 中扫描时设置页面大小
Posted
技术标签:
【中文标题】在 WIA 2.0 中扫描时设置页面大小【英文标题】:Set page size when scanning in WIA 2.0 【发布时间】:2011-04-05 21:47:09 【问题描述】:我有一个名片扫描仪,我正在使用 WIA 2.0 进行交互。我正在尝试在代码中设置所有内容,这样我就不必弹出任何对话框。我遇到的问题与设置扫描页面大小有关。扫描仪大约 4 英寸宽,但我无法让它扫描床最右边一英寸左右。我会设置 PAGE_SIZE 属性,但在遍历 WIA 的所有属性时看不到该属性该扫描仪(设备或项目属性)。
如果我弹出一个对话框 (ShowSelectDialog) 来选择大小,一切似乎都正常。我在该对话框之前和之后比较了 Item 和 Device 上的属性,我看到更改的唯一属性是根据 MSDN 的只读属性。 (水平和垂直大小、范围、起始位置)
关于如何修改页面大小的任何想法?
【问题讨论】:
我遇到了同样的问题 - 我无法设置水平或垂直页面大小属性,实际上只能在我选择源作为 Feeder 时使用 CommonDialog 修改它们,而不是到 FI-6230 Fujitsu 扫描仪上的平板。 【参考方案1】:您可以尝试在 Item 属性上设置值,例如
double _width = 2; //two inches
double _height = 2; //two inches
dynamic item = device.Items[1]; // get the first item
int dpi = 150;
item.Properties["6146"].Value = 2; //greyscale
item.Properties["6147"].Value = dpi;
item.Properties["6148"].Value = dpi;
item.Properties["6151"].Value = (int)(dpi * _width);
item.Properties["6152"].Value = (int)(dpi * _height);
当我需要扫描 A3 纸时,这对我有用。
【讨论】:
你从哪里得到属性["numbers"]? 它们位于 Windows SDK 中的WiaDef.h
文件中。您也可以改用他们的名字。以上是关于在 WIA 2.0 中扫描时设置页面大小的主要内容,如果未能解决你的问题,请参考以下文章