- This topic has 6 replies, 2 voices, and was last updated 2 years, 5 months ago by Anand.
March 18, 2014 at 1:02 pm #22928
since that I’m developing an application that use the imprinter/endorser functionality, I was wondering if there exist any way to do some preliminary tests … without actually having a real scanner.
Are there any kind of simulators / virtual scanners for doing that ?
HypMarch 18, 2014 at 3:45 pm #26100MarkMParticipant
- Topics - 1
- Replies - 135
- Total Posts - 136
The Kodak Alaris i5600 supports printing (this version is TWAIN 2.1 compliant, a 2.3 release isn’t out yet). Even though this is released as an ‘update’ it contains everything needed to install and run the TWAIN driver on a clean machine.
If you run the ScanValidation (c:program files (x86)Kodakdocument imaging) tool it will offer to temporarily place you into simulator mode. Once up you can use it to raise the driver’s UI. Navigate through: Settings / Device / Diagnostics / Debug Tab. From there you can lock the simulator to stay on, and select the printer accessory. From that point on the driver will expose its printer capabilities. I recommend setting CAP_XFERCOUNT to a small number from your test program, so that when scanning the simulator doesn’t run forever.
This driver supports a custom TWEI_HDR_PRINTERSTRING (included in the kdscust.h that comes with the Integrator’s Guide), for DAT_EXTIMAGEINFO, which is Kodak only, but functionally identical to the standard TWEI_PRINTERTEXT introduced in TWAIN 2.3, so you can test with that, if you like.
Good luck…March 19, 2014 at 7:49 am #26101
That’s an excellent start! 😀
I’ll immediately have a look at it!
Thank you MarkM!
HypMarch 19, 2014 at 9:42 am #26102
I did a quick test and the driver you suggested me seems to work perfectly. 😀
… But now, I’ve just a small doubt 😉 …. This is what happens:
– My program starts the scanning process.
– The Kodak driver interface shows up.
– I go into Settings –> Device –> Printer (tab) and what I can see is an empty (?) template. Now, if I create a template with ‘Message 1’, I can actually see the string I sent to the scanner imprinter.
So, my doubt is…. is that supposed to be correct (and my string would be printed)? Or… am I missing something (because I need to set some kind of template) ?
Thank you very much,
HypMarch 19, 2014 at 11:51 am #26103MarkMParticipant
- Topics - 1
- Replies - 135
- Total Posts - 136
The Kodak driver is heavily customized for printing with a lot of features. TWAIN 2.3 is just catching up with it from a feature-set standpoint, but like I said that particular i5600 driver doesn’t reflect those capabilities yet (I doubt if many drivers do, since the Spec only came out a month ago).
The UI dialog box you see is geared towards the Kodak way of managing a printer. You would see different behavior with other scanner vendors.
What you should be able to do is negotiate the standard TWAIN capabilities (common to all vendors) by doing the following…
set CAP_PRINTERENABLED to TRUE
set CAP_PRINTERMODE to TWPM_SINGLESTRING
set CAP_PRINTERSUFFIX to “dog”
Then if you bring the driver’s user interface up you’ll see that you have one message that says “dog” in the printer tab. If you change “dog” to “cat” in the printer tab and click on OK to close the dialog (you don’t have to save the profile), and then do a get on CAP_PRINTERSUFFIX you will get back “cat”.
If you did this with a real scanner, it would print “cat” on the sheets of paper. If you want to investigate the custom Kodak features, there’s an article all about it in the Integrator’s Guide that I pointed to in the last message.
You may also want consider investigating the DAT_CUSTOMDSDATA / MSG_GET and MSG_SET operation to gain access to all the features of the scanner, both standard and custom. This technique works for any TWAIN driver that supports DAT_CUSTOMDSDATA and DAT_USERINTERFACE / MSG_ENABLEDSUIONLY. By leveraging off the driver’s UI and taking snapshots one can access the full capabilities of a TWAIN driver with minimal code…March 19, 2014 at 2:19 pm #26104
thank you very much for your explanations! 😀
I still have a lot of work to do but I’m definitely more confident, now! 😉
I’ll be back with the results! 😉
HypMay 25, 2018 at 8:24 am #30913Anand
- Topics - 88
- Replies - 179
- Total Posts - 267
We need urgent help. We are working on imprinting requirement where we need to set imprinting text via Java Application.
We are using Twain driver. we tried the below set of code to pass the imprint txt but it is not working. could you please assist
Scanner: Fujitsu fi6670
this.dwtObject.Capability = 4138;
this.dwtObject.CapType = 1;
this.dwtObject.CapValueString = “Imprint Me please”;