diff --git a/modules/sane_user/HGSaneImpl.cpp b/modules/sane_user/HGSaneImpl.cpp index e01a6bf5..aab2c99b 100644 --- a/modules/sane_user/HGSaneImpl.cpp +++ b/modules/sane_user/HGSaneImpl.cpp @@ -1008,6 +1008,12 @@ void HGAPI HGSaneDeviceImpl::ThreadFunc(HGThread thread, HGPointer param) if (NULL != p->m_scanNotify) p->m_scanNotify((int)SANE_EVENT_WORKING, NULL, 0); + // 获取当前是否设置对折或单面 + HGInt isFold = false; + p->GetIsFold(&isFold); + HGInt isSingle = false; + p->GetIsSingle(&isSingle); + // 双张图像处理的返回值 HGUInt doubleImgRet = HGBASE_ERR_OK; bool clickedReserveImg = false; @@ -1161,6 +1167,10 @@ void HGAPI HGSaneDeviceImpl::ThreadFunc(HGThread thread, HGPointer param) clickedReserveImg = true; if (finalImgCount > 0) multioutSpliteImgCount++; + + // 单面或对折时,只出一张图,此时双张图像标记复位 + if (isSingle || isFold) + doubleImgRet = HGBASE_ERR_OK; } } else