ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Fujitsu fi-6130 ignoring FeederEnabled
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

JonRobertson

USA
41 Posts

Posted - Oct 31 2011 :  15:00:57  Show Profile  Reply
I'm testing a Fujitsu scanner against our new scanning implementation (which uses ImageEn). We've recommended the Fujitsu fi-series scanners to our customers for years and our customers love them.

I'd like the ability to scan a single page even if there are multiple pages loaded in the feeder. I've tried setting TwainParams.FeederEnabled := False and TwainParams.AutoFeed := False. Yet, the Fujitsu still scans everything in the feeder.

After stepping through Acquire, which calls IETW_SetCapabilities, I can't see a problem in the ImageEn source. I'm assuming that the scanner simply ignores the CAP_FEEDERENABLED value from the application.

Does anyone have experience with this? Any workarounds available?

I thought about implementing the OnAcquireBitmap event to acquire the first page and then stop the scan. But I can't see a way to tell ImageEn/Twain to stop scanning from that event.

Thanks

JonRobertson

USA
41 Posts

Posted - Oct 31 2011 :  16:01:43  Show Profile  Reply
I tested with the ScandAll PRO utility that came with the Fujitsu scanner. It is using the TWAIN driver and I can scan a single page with it even though the ADF contains additional pages.

I thought that if I passed multi = False into IETW_Acquire, so that IETW_XferReady is called instead of IETW_XferReadyMulti, that maybe I could get a single page scan. However, IETW_XferReady seems to be dependent on IOParams, which is nil.

When stepping through IETW_XferReadyMulti, the scanner physically scans the second page before the first page has even finished transferring. So ImageEn isn't detecting the additional page and telling the scanner to scan it. Something during negotiation is telling or allowing the scanner to scan multiple pages.

I've briefly read over chapters 3 and 4 of the TWAIN spec, looking for the magic clue that is telling the scanner to scan everything in the feeder. Unfortunately, I don't have the experience with TWAIN to know for sure what I'm looking for. Pending Transfers makes sense. But that is after the scanner has already scanned every page. Since the CAP_AUTOFEED and CAP_FEEDERENABLED capabilities are enabled as False, I can't find what it is telling the scanner to scan all pages.

I'm not sure this scanner supports CAP_FEEDERENABLED = False, as there is no flat bed. The only way to scan is to use the feeder, even for a single sheet.

But that doesn't explain why CAP_AUTOFEED isn't working as expected.
Go to Top of Page

fab

1310 Posts

Posted - Nov 01 2011 :  22:49:52  Show Profile  Reply
Just a try: please use TImageEnView instead of TImageEnMView and try to call Acquire. What happens?
Go to Top of Page

JonRobertson

USA
41 Posts

Posted - Nov 02 2011 :  09:31:24  Show Profile  Reply
Using TImageEnView, the scanner still scans all of the pages in the feeder. Of course the TImageEnView only contains a single page.
Go to Top of Page

fab

1310 Posts

Posted - Nov 03 2011 :  13:48:06  Show Profile  Reply
Next minor version will have two new Twain properties named AcceptedImages (to acquire only a specified number of pages) and AutoScan (to prevent pre-acquiring). They should fix this problem.
Please send me a private email if you want to test a preview of this version.
Go to Top of Page

JonRobertson

USA
41 Posts

Posted - Nov 10 2011 :  08:04:30  Show Profile  Reply
Thanks fabrizio, it did solve the issue! I can now scan a single page from the feeder even when the feeder contains multiple pages.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: