小编Jør*_*n R的帖子

带自动文档传送器(ADF)的C#WIA仅在某些扫描仪上重新调整一页

我有一台HP Scanjet 7000(双面和ADF扫描仪)和一台HP Scanjet 5500c(仅限ADF)以及我正在开发的扫描仪程序,该程序在Windows 7上使用WIA 2.0.

问题是代码在较旧的扫描仪模型上完美运行,但在较新的代码上,代码似乎在第一页运行得很好,然后在第二页上运行失败.如果我绕过以下行的代码;

image = (WIA.ImageFile)wiaCommonDialog.ShowTransfer(item, wiaFormatTIFF, false);
Run Code Online (Sandbox Code Playgroud)

旧扫描仪停止并等待在同一参考上进行另一次调用,但是较新的扫描仪只能在一次连续操作中从进纸器运行所有页面.

我注意到如果我在Windows 7中使用默认扫描程序,则较新的一个会返回一个包含所有单独页面的.tif文件.较旧的文件返回单独的.jpg文件(每页一个).

这向我表明,较新的扫描仪在准备好返回图像集之前扫描其整个进纸器,其中较旧的扫描仪在每个扫描的页面之间返回一个图像.

我如何在代码中支持这种行为?以下是适用于旧扫描仪型号的相关代码的一部分:

public static List<Image> Scan(string scannerId)
    {
        List<Image> images = new List<Image>();
        List<String> tmp_imageList = new List<String>();

        bool hasMorePages = true;
        bool useAdf = true;
        bool duplex = false;

        int pages = 0;

        string fileName = null;
        string fileName_duplex = null;

        WIA.DeviceManager manager = null;
        WIA.Device device = null;
        WIA.DeviceInfo device_infoHolder = null;
        WIA.Item item = null;
        WIA.ICommonDialog wiaCommonDialog = null;

        manager = …
Run Code Online (Sandbox Code Playgroud)

wia image scanning

5
推荐指数
1
解决办法
1万
查看次数

扫描/滚动弹性搜索索引时是否有可预测的顺序?

扫描 ElasticSearch 索引时,不可能根据文档应用任何排序。但是这个过程中结果的顺序有什么定义吗?如果是的话,是可以预测的吗?

背景资料:

我需要定期对 5M 个文档进行操作,每批 1000 个文档大约需要 1 分钟处理时间。由于我无法确保每次运行该过程都会完成,因此我想让它在上次中断的地方继续工作,例如,如果滚动结果按ID(我知道,它是不),我会跟踪ID代码中最后处理的内容,并且在下一次运行时不再使用 处理任何文档ID <= lastProcessedId,以确保每个文档都得到定期处理。

顺便说一句:“处理文档”并不是指将附加信息写回索引,而是更新数据库中的其他一些内容。在我的情况下,向索引文档写入时间戳不会有帮助,因为进程中断的原因之一可能是索引被替换为新索引(从头开始重新构建)。将处理后的时间戳写入数据库对我来说也不是一个理想的选择,因为迭代性能是我首先使用索引滚动的原因......

scroll elasticsearch database-scan

5
推荐指数
1
解决办法
2391
查看次数

使用VBA使用ADF扫描仪扫描多页

我正在编写Microsoft Access应用程序,并且希望使用户能够将多个页面扫描为单个PDF格式。一旦我扫描了所有页面,即可转换为PDF。这是我的代码:

Option Compare Database
Option Explicit

Const WIA_FORMAT_JPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"

Public Function MyScan()
  Dim ComDialog As WIA.CommonDialog
  Dim DevMgr As WIA.DeviceManager
  Dim DevInfo As WIA.DeviceInfo
  Dim dev As WIA.Device
  Dim img As WIA.ImageFile
  Dim i As Integer
  Dim wiaScanner As WIA.Device

  Set ComDialog = New WIA.CommonDialog
  Set wiaScanner = ComDialog.ShowSelectDevice(WiaDeviceType.UnspecifiedDeviceType, False, True)

  Set DevMgr = New WIA.DeviceManager

  For i = 1 To DevMgr.DeviceInfos().Count
    If DevMgr.DeviceInfos(i).DeviceID = wiaScanner.DeviceID Then
      Set DevInfo = DevMgr.DeviceInfos(i)
    End If
  Next i

  Set dev = …
Run Code Online (Sandbox Code Playgroud)

ms-access wia vba scanning

5
推荐指数
1
解决办法
1万
查看次数

在owncloud中没有指定应用程序名称

我正在尝试创建一个显示"Hello World"的应用程序.此应用程序在Owncloud开发人员手册中进行了解释.我已按照手册中说明的所有程序进行操作.但该应用程序无法启用.问题是什么?它显示消息"未指定应用程序名称".请帮我看看如何启用此应用.

owncloud

5
推荐指数
2
解决办法
9686
查看次数

扫描整个IP范围/子网以打开端口80?

我需要一种快速有效的方法来扫描端口80打开的ip范围.

因此,例如,如果我想扫描OVH IP范围"46.105.0.0/16",我需要它扫描该范围内的每个IP并输出每个IP的列表,端口80打开.

46.105.0.51
46.105.0.72
46.105.0.91
46.105.0.7
46.105.0.15
Run Code Online (Sandbox Code Playgroud)

我需要扫描多个子网,我需要它输出到文件.

编辑:我也在我的专用机箱上运行CentOS,带有1Gbit上行链路.

port centos

5
推荐指数
1
解决办法
6287
查看次数

elm327 CAN 命令打开车头灯常亮

我想发送 AT 命令来打开 Nissan Leaf 中的车头灯。

它位于 ID 625

0x00 - OFF
0x60 - ON
0x40 - Parking lights ON
0x68 - Headlights & fog lights ON
Run Code Online (Sandbox Code Playgroud)

如何通过终端发送命令来更改此设置您能一步一步提供帮助吗?

command can-bus obd-ii elm327

5
推荐指数
1
解决办法
7140
查看次数

Ruby:块内的产量

这是扫描的示例:

"abcdeabcabc".scan("a")
Run Code Online (Sandbox Code Playgroud)

所以它返回一个由 3 个 a 组成的数组。另一个扫描示例:

"abcdeabcabc".scan("a") {|x| puts x}
Run Code Online (Sandbox Code Playgroud)

它只是输出每个“a”,但仍然输出一个数组,这一次它实际上是它返回的原始字符串。

因此,从文档和上面的行为来看,扫描要么返回一个数组(没有给出块),要么返回原始字符串,在此之前会发生一些副作用。关键是这两种情况都会返回一些东西。

那么如果我在块内放置一个“yield”会发生什么?将返回什么?或者,没有?返回值的类型是什么?

"abcdeabcabc".scan("a") {|x| yield x}
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,因为 Ruby 抱怨没有给出任何块。这对我来说有一定道理。但如果它是类方法的一部分,例如,自我实现的“each”,则以下内容有效:

class Test
  def my_each
    "abcdeabcabc".scan("a") {|x| yield x}
  end
end
# => :my_each

t = Test.new
# => #<Test:0x007ff00a8d79b0>

t.my_each {|x| puts "so this is #{x}"}
# it works. Outpus 3 a's then return the original string.
Run Code Online (Sandbox Code Playgroud)

那么,Test类的my_each方法的返回值是什么呢?这是收益率列表还是其他什么?但正如之前讨论的 "abcdeabcabc".scan("a") {|x| Ruby 会抱怨yield x} 段,直到给出一个块为止。将 my_each 块赋予 my_each 实现内部的段,内部发生了什么?

ruby yield return

5
推荐指数
1
解决办法
4448
查看次数

Ruby中是否存在与String.scan等效的Perl?

我想在Perl中这样做:

>> "foo bar baz".scan /(\w+)/
=> [["foo"], ["bar"], ["baz"]]
Run Code Online (Sandbox Code Playgroud)

有什么建议?

regex perl

4
推荐指数
1
解决办法
1392
查看次数

Ruby字符串整数扫描

是否有与Java Scanner相当的Ruby?

如果我有一个像"你好123喜234"的字符串

在Java中我能做到

Scanner sc = new Scanner("hello 123 hi 234");
String a = sc.nextString();
int b = sc.nextInt();
String c = sc.nextString();
int d = sc.nextInt();
Run Code Online (Sandbox Code Playgroud)

你会如何在Ruby中做到这一点?

ruby string parsing

4
推荐指数
2
解决办法
2817
查看次数

扫描目录c ++

在c ++中递归扫描目录的最佳方法是什么?这应该在所有操作系统上运行,以便api最好吗?

c++ directory multiplatform

4
推荐指数
1
解决办法
920
查看次数