首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用(py)twain扫描多个页面

使用(py)twain扫描多个页面
EN

Stack Overflow用户
提问于 2017-03-20 18:56:24
回答 1查看 1.5K关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
import twain
for i in range(10):
    twain.acquire(str(i) + ".jpg", ds_name=b"B110,192.168.1.112 TWAIN",
                  dpi=200, pixel_type='gray', bpp=8, show_ui=False)

我假设每个acquire都对扫描仪进行扫描,但事实并非如此

如何使用pytwain扫描多个页面?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-02-09 19:49:45

代码语言:javascript
复制
def multiScan(self):
    """ Scan and return an array of PIL objects 
        If no images, will return an empty array
    """

    self.scanner.RequestAcquire(0, 1)
    images = []
    handles = []
    try:
        handle, more = self.scanner.XferImageNatively()
        handles.append(handle)
    except twain.excDSTransferCancelled:
        return []
    while more != 0:
        try:
            handle, more = self.scanner.XferImageNatively()
            handles.append(handle)
        except twain.excDSTransferCancelled:
            more = 0

    for handle in handles:
        images.append(Image.open(StringIO(twain.DIBToBMFile(handle))))
        twain.GlobalHandleFree(handle)

    return images

这就是我在我的包中做的事情:https://github.com/spacemudd/webagent-scanner/blob/master/pyScanLib/twainLib.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42901800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档