在WIA 2.0中扫描时设置页面大小

3
我有一台名片扫描仪,正在使用WIA 2.0进行接口设计。我正在尝试在代码中设置一切,以便无需弹出任何对话框。我遇到的问题与设置扫描页面大小有关。扫描仪大约为4英寸宽,但我无法使其扫描其床铺右侧的一英寸左右。我想设置PAGE_SIZE属性,但是在迭代该扫描仪的所有属性(设备或项目属性)时,我没有看到该属性。

如果我弹出一个对话框(ShowSelectDialog)来选择尺寸,一切似乎都正常工作。我已经根据MSDN在对话框之前和之后比较了项目和设备上的属性,唯一更改的是只读属性(水平和垂直大小,范围,起始位置)。

有什么其他方法可以修改页面大小吗?


1
我遇到了同样的问题 - 我无法设置水平或垂直页面大小属性,实际上只有在我选择源为FI-6230富士通扫描仪上的进纸器而不是平板时,才能使用CommonDialog修改它们。 - flatline
1个回答

0
你可以尝试设置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纸张时,这对我很有用。


3
你从哪里得到了 Properties["numbers"] 这个属性? - Michael
它们位于Windows SDK中的WiaDef.h文件中。您也可以使用它们的名称。 - Hossein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接