【问题标题】:Set page size when scanning in WIA 2.0在 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 扫描仪上的平板。

标签: c# wia


【解决方案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 文件中。您也可以改用他们的名字。
猜你喜欢
  • 2011-01-15
  • 2015-08-24
  • 2011-12-18
  • 2018-08-06
  • 2016-12-01
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多