Home › Forums › TWAIN Classic › Imprinter/Endorser stuff
- This topic has 11 replies, 4 voices, and was last updated 17 years ago by Thierry.
- AuthorPosts
I’m currently programming a FUJITSU fi-5650 with an imprinter/endoser via TWAIN. My code does this:
CAP_PRINTER = TWPR_IMPRINTERBOTTOMAFTER
CAP_PRINTERENABLED = true
CAP_PRINTERMODE = TWPM_COMPOUNDSTRING
CAP_PRINTERINDEX = 1
CAP_PRINTERSTRING = "testString "
All set successfully. Two issues with this I’m having though.
1) The enabling/disabling doesn’t work on my program. I can only enable/disable the imprinter by using the software that comes with it. TWAIN saves all the settings from that software but not the program I’m building. Anyone know why this is happening?2) The imprinter outputs “testString 00000000”. I read in another thread to use CAP_ENDOSER instead of CAP_PRINTERINDEX. If I use,
CAP_ENDORSER = 1
CAP_PRINTERSTRING = "testString %05ud"
I should get “testString 00001”, right? Does TWAIN have a set of reserved strings (ie “%05ud”) for the imprinter?
Hi elouis – You’ve probably moved on, but the answer to your last questions is: TWAIN does not define any reserved strings or special characters for the imprinter, but Fujitsu does implement this non-standard feature – contact Fujitsu for documentation and details.
@spike wrote:
Hi elouis – You’ve probably moved on, but the answer to your last questions is: TWAIN does not define any reserved strings or special characters for the imprinter, but Fujitsu does implement this non-standard feature – contact Fujitsu for documentation and details.
Hey spike – Thanks for the info. This is an on going project. I’m dealing with it right now by modifying the FTS files in the twain32 directories as a temporary solution. I have contacted Fujitsu about the specs on the imprinter/endorser. They sent me a document for creating a new capability and entry point. So far I can get TWAIN to accept the new capability but no results so far.
Anyway, back to my orginal posting. I still can’t disable/enable from my program. New problem now is I can set the CAP_ENDORSER, but it doesn’t increment or anything. Any input?
@elouis wrote:
@spike wrote:
Hi elouis – You’ve probably moved on, but the answer to your last questions is: TWAIN does not define any reserved strings or special characters for the imprinter, but Fujitsu does implement this non-standard feature – contact Fujitsu for documentation and details.
Hey spike – Thanks for the info. This is an on going project. I’m dealing with it right now by modifying the FTS files in the twain32 directories as a temporary solution. I have contacted Fujitsu about the specs on the imprinter/endorser. They sent me a document for creating a new capability and entry point. So far I can get TWAIN to accept the new capability but no results so far.
Anyway, back to my orginal posting. I still can’t disable/enable from my program. New problem now is I can set the CAP_ENDORSER, but it doesn’t increment or anything. Any input?
Instead of modifying the FTS files, why don’t you try to set it up directly in memory using CAP_CUSTOMDSDATA ?
That’s what I do for Fujitsu scanners … and actually it works perfectly.That’s a good idea Thierry – I just dumped the custom DS data from my fi-5110C, and it’s in INI file format. Below is an excerpt, notice the Endorser section. I think you could save this to a file and use the Windows Profile functions to edit it. Shameless plug: This would be especially easy with EZTwain Pro, which has single functions to get and set the CustomDsData…
[CustomHead]
Driver=FJTW32.DS
Version=V9.18
Scanner=fi-5110Cdj
DataLength=04831
StructureRevision=5.6
[Common]
ImageScanner=fi-5110Cdj
ReverseImageForm=0
BackGroundCompensate=0
…
EnableEndorse=0
EndorseSurface=0
EndorseYOffset=0
EndorseDirect=0
InitialCount=0
CounterStep=0
CounterMode=0
EndorseString=On the other hand, I’d understand if you wanted to use standard or semi-standard TWAIN capabilities, since the CustomDsData is technically ‘opaque’ – you can’t count on anything in it staying the same from one version of the driver to the next.
@spike wrote:
That’s a good idea Thierry – I just dumped the custom DS data from my fi-5110C, and it’s in INI file format. Below is an excerpt, notice the Endorser section. I think you could save this to a file and use the Windows Profile functions to edit it. Shameless plug: This would be especially easy with EZTwain Pro, which has single functions to get and set the CustomDsData…
[CustomHead]
Driver=FJTW32.DS
Version=V9.18
Scanner=fi-5110Cdj
DataLength=04831
StructureRevision=5.6
[Common]
ImageScanner=fi-5110Cdj
ReverseImageForm=0
BackGroundCompensate=0
…
EnableEndorse=0
EndorseSurface=0
EndorseYOffset=0
EndorseDirect=0
InitialCount=0
CounterStep=0
CounterMode=0
EndorseString=On the other hand, I’d understand if you wanted to use standard or semi-standard TWAIN capabilities, since the CustomDsData is technically ‘opaque’ – you can’t count on anything in it staying the same from one version of the driver to the next.
Also you have to know how works the ini format for Fujitsu ..
[Common]
ImageScanner= –< this define the section you should use for the current selected scanner exemple :
[Common]
ImageScanner=Fi-5900CdThen on section you can modify :
[Fi-5900Cd]
EnableEndorse=0
EndorseSurface=0
EndorseYOffset=0
EndorseDirect=0
InitialCount=0
CounterStep=0
CounterMode=0
EndorseString=There is many redundant information on this ini file structure, so take care to modify the good section, the [Common] section could work if you have only one scanner attached I think …
I did many tests to dump many configurations and r-e the value and section modified, I don’t have any official documentation about this ini structure … ๐
Well, I try to improve my code managing the fts files as well as the CUSTOMDATADS capability …
Of course I haven’t receive any documentation yet from Fujitsu.
It seems that the FTS format (C:Windowstwain_32fjscan32*.fts) doesn’t work the same way as the memory ini file, in terms of section used for settings.
In memory using the section it seems to work fine, but on the FTS files, it seems that it is the [Template] section that controls all parameters, I’m confused, my last chance is to loop into all sections and change all parameters just to be sure as I don’t which one will be used ๐ฏ … where’s this f@##@@ doc ? ๐Funny how it’s tricky finding the manual for undocumented hacks.
This is a hack. A useful hack. An intersting hack. Probably even a hack that I’ll use. But at the end of the day (when)if it fails it’s still a hack and I don’t imagine you’ll get much sympothy from the vendor if you have a problem with it – like when they on a whim deside to change thier proprietary format right after you your system working ‘just right’. You waive your right to complain to them about how they are doing The Wrong Thing when the hack fails.Spike.Points += 2;
.Well it is a hack given by some Fujitsu TWAIN drivers developpers … ๐
But they don’t provide a document to describe anything related to this way of controlling their scanner, it’s a ‘not supported, we never said that’ feature … ๐
The problem for them is that many customers switch back to Kodak as soon as they can because of that … sad but true …Here’s what I found …
For the fi 5900Cd … (maybe doesn’t work for the M3092Cd or the behaviour will be a little bit different) …
Driver 9.20 ..If I load a FTS file, there is no section called [F5900Cd #3] (the #3 is added and incremented if you plug many fi 5900c scanners, or change your mind on the USB port used for it)…
I’ve reduced the FTS file and notice that the section [Template] drives the settings.
When I request the CUSTOMDSDATA, there is a section named by the value set in [Common] section, key:Imagescanner, and this section drives the settings.So as I use the CUSTOMDSDATA to set the parameters, when I load the FTS, I add also a new section in memory ([F5900Cd #3] in my case), with a copy of [Template] section in the FTS file, and then update parameters in that new section …
Actually it seems to be working fine, but something doesn’t work for the endorser (it was working with my previous ‘hack’) …just cause I’m curious, does this happen in twacker too? not the pretty little hack, the cap setting. if you set the caps with twacker do you get the same results as you do in your program?
I don’t use Twacker, and for a CUSTOMDSDATA, I don’t know what I could do to make it work, I will probably need to modify it ‘by hand’.
But, using only the ‘spec’ CAP, you access only 70% of the feature of this beast and forget about the endorser control … because they don’t use any interesting custom capabilities (like Kodak does), everything is based on ini files …
As I need to certifiy that the scanner and the application are fully synchronous (whatever happens, stop, restart, jam …), and generates unique number for the endorser (based on the internal counter to run at full speed), as unlike Kodak, no Fujitsu scanner returns back the printed string, I need to be able to access the remaining 30% features (like the SDTC, overscan, black background, as well as intial counter value, step, coded string, and initial value must be incremented for each document …) … ๐By the way, I’ve found the most reliable hack few hours ago, the hack is to get the CUSTOMDSDATA stream, than patch it with the parameters found in the [Template] section of the FTS the customer wants to use, and then copy back the section directly in memory in the [F5900Cd #3] section, and finally patch the endorser settings properly … crazy but it works … ๐
- AuthorPosts