首页 > 解决方案 > PyTwain excTWCC_SEQERROR:正确的状态序列是什么?

问题描述

我正在尝试使用PyTwain模块从 USB 连接的扫描仪扫描多个页面,将它们转换为 PIL 格式,然后再做一些事情。

代码如下:

import twain
from PIL import Image
from io import StringIO

source_manager = twain.SourceManager()
data_source = source_manager.open_source()
data_source.request_acquire(0, 0)
data_source.GetImageInfo()
handle = data_source.xfer_image_natively()
image = Image.open(StringIO(twain.dib_to_bm_file(handle)))
twain.global_handle_free(handle)

无论我如何组织代码,我总是得到twain.excTWCC_SEQERROR并且我无法通过这个错误。我目前正在做的是:

  1. 获取扫描仪列表并打开需要的扫描仪。
  2. 请求扫描仪做好准备。
  3. 获取图像信息。
  4. 将图像信息传输到 PIL。

上面提到的错误出现在 之后request_adquire(),使用xfer_image_natively()or时GetImageInfo(),顺序无关紧要。

我知道实际上支持扫描仪,因为如果我使用该功能twain.adquire(),图像将按预期保存到文件中。此外,制造商提供的扫描验证工具可与 TWAINDSM 驱动程序一起使用。

问题

  1. 如何解决这个问题twain.excTWCC_SEQERROR?使用该模块的正确功能顺序是什么?
  2. 如何同时扫描多张图像?扫描仪确实有 ADF。

我已经尝试过thisthis,但得到了相同的结果。

标签: pythonscanningtwain

解决方案


推荐阅读