Page 3
Preface Thank you very much for using our TWAIN Driver. This manual explains the specification and the function of the triplet needed when the TWAIN driver is controlled from the application. Read this manual carefully to use the TWAIN Driver properly.
Page 4
In this manual following shortened forms are used. - Hitachi scanner TWAIN driver (Hereinafter “TWAIN driver”) - User interface of Hitachi scanner TWAIN driver (Hereinafter “User interface of TWAIN driver”) Indication of non-Hitachi trademarks Windows XP, Windows Vista,Windows7, Visual C++, and Visual Basic are registered trademarks of Microsoft Corporation in the United States and other countries.
Page 5
This manual does not describe about the TWAIN standard, It is necessary to understand the TWAIN standard to develop / test application programs. Read “HT-4139-28/48 Scanner TWAIN Driver User’s Guide” first. This manual does not describe about the TWAIN driver user interface.
Page 6
Stacker for sheet ejection will be selectable by using a custom triplet. (3) Imprinting (Numbering) Hitachi scanners support an imprinting function that can be used for scanning check. Contents of Imprinting can be modified before printing by using a custom triplet.
Page 7
Precautions for Use Continuous scanning If the application program does not support the continuous scanning, performance may become lower than expectation. If sheets are too thin, copy papers, with glue, or mixed sizes, multiple feeding error might occur. Using options and/or the sheet check function, try to scan them correctly. Scanned images To confirm if the scanned data satisfy the level of customer’s accuracy and quality, check the gradation and density of scanned images.
Note for System Set up Keep followings in your mind when you set up systems with the TWAIN driver. When you use the driver first time, a dialog of “Precaution statement” will be displayed without displaying the TWAIN driver user interface. Understand the contents and check mark Agree to “Precaution statement”...
Page 9
Default is set without function. Add needed functions for operation. And make sure they are installed correctly. Hitachi scanners can check scanning status with the multiple feeding error detection and the imprinting function but it is not always perfect. Set up systems so that it can check if images in sheets are the same as scanned ones.
Page 10
Function Triplet TWAIN User Interface Set Capabilities Use parameter file Sheet Standard size support support setting Width support support Height support support Thickness support Scanning width support Unit support support - Continuous scanning support support Sheet Length check support check Length check support Width check...
Page 11
Function Triplet TWAIN User Interface Set Capabilities Use parameter file Input Image kind support Image setting Support support(note4) (note3) (note4) Drop out Support support Density(simple) Support support Density(detail) support Resolution support(note5) support Expand definition support setting Edit Rotation support Backgroud cropping specified size only support Position correction...
Page 12
(note1)Require scanner option (note2)Require scanner option, default of ultrasonic sensor. Disabled when [SCANOPTION]ULTRASONIC=NO of RxTwainMng.ini (note 3)Color / gray require option. Some type of scanner does not support halftone. (note 4)Not support half tone (note 5)Not support for 240 DPI (note 6)It is Only 1Place Printing.
1 A p p l i c a t i o n D e v e l o p m e n t Chapter 1. Application Development When you develop an application program that controls a TWAIN scanner, it is necessary to understand the TWAIN standard (TWAIN Release v1.9) fully.
1 A p p l i c a t i o n D e v e l o p m e n t 1.2 Event loop of application This driver reports followings when it is required to get data from a source, depending on the status of a scanner.
1 A p p l i c a t i o n D e v e l o p m e n t 1.3 Continuous Scanning This driver can get multiple images by continuous scanning both side scanning, or single side scanning. In this case, keep issuing DG_IMAGE/DAT_IMAGE***XFER/MSG_GET until TW_PENDINGXFERS.Count=0.
Page 17
1 A p p l i c a t i o n D e v e l o p m e n t...
2. Parameter Switching Chapter 2. Parameter Switching It is necessary to save a parameter file by the TWAIN driver user interface for parameter switching. There are 3 ways to switch parameter files. (1) Use a mode parameter specification tool (without UI) (2) Rewrite parameter specification file (3) Use a custom triplet Process of (1) and (2) is the same, switch parameters by writing in the parameter specification...
2. Parameter Switching 2.1 Non-UI Mode Parameter Settings Dialog In the mode without TWAIN user interface, the TWAIN driver operates according to the specified values. With this tool, however, you can work with the parameters where the settings are already saved.
2. Parameter Switching 2.3 File of Parameter Specification The file for saving the specified contents is the “OCR32¥ETC32¥RxTwainUser.ini” file, which is saved in the following format. [RXTWAIN] GUILESSFILENAME=XXXXXXXX XXXXXXXX: file-name (No extension) File name is that specified when parameter is saved. By changing this specification before opening the TWAIN driver, you can operate the file with the parameters that have the settings.
3 Operation Triplets Chapter 3. Operation Triplets 3.1 List of Operation Triplets The list of operation triplets supported by the TWAIN driver is shown in Table 3.1 to Table 3.3. Table 3.1 List of Operation Triplets for Control Information (from Application to Source) Data group Data type Message...
Page 25
3 Operation Triplets Table 3.3 Control Information from Source Manager to Source Data group Data type Message DG_CONTROL DAT_IDENTITY MSG_CLOSEDS MSG_GET MSG_OPENDS Note 1: Only when ICAP_EXTIMAGEINFO is TRUE...
3 Operation Triplets 3.2 Details of Operation Triplets Details of the operation triplets comply with the TWAIN Release v1.9 specifications 3.3 Data Structures The data structures comply with the TWAIN Release v1.9 specifications.
3 Operation Triplets 3.5 Details of Custom Triplets 3.5.1 DG_CONTROL/DAT_NOUIPARMFILE/MSG_SET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_NOUIPARMFILE,MSG_SET, pNoUIParmFile); pNoUIParmFile:pTW_NOUIPARMFILE typedef struct{ TW_STR128 NoUIParmFile; //Parameter file name }TW_NOUIPARMFILE, FAR * pTW_NOUIPARMFILE; Enabled status: Only 4 Explanation: The source reads a specified setting file in the non-UI mode. A failure in reading the setting file specified here results in starting by default.
Page 29
3 Operation Triplets 3.5.2 DG_CONTROL/DAT_NOUIPARMFILE/MSG_RESET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_NOUIPARMFILE,MSG_RESET, pNoUIParmFile); pNoUIParmFile:pTW_NOUIPARMFILE Enabled status: From 4 to 7 Explanation: The setting is that the source reads no parameter files in the non-UI mode. There is no need to specify pNoUIParmFile, either. Notes on the application There are no particular settings or operations.
Page 30
3 Operation Triplets 3.5.3 DG_CONTROL/DAT_DIVSCANCTL/MSG_SET Format: DS_Entry(pOrigin,pDest,DG_CONTROL, DAT_DIVSCANCTL,MSG_SET, pDivScanCtl); pDivScanCtl:pTW_DIVSCANCTL typedef struct{ TW_BOOL DivScanFlg; //Is it necessary to divide scan and ejection? }TW_DIVSCANCTL, FAR * pTW_DIVSCANCTL; Enabled status: Only 4 Explanation: This specification is specified when you want to divide scan and ejection. The source performs scan and ejection according to this specification.
Page 31
3 Operation Triplets Note for when scanning process and ejection process are separated The operation when scanning process and ejection process are separated is shown below. Applications TWAI driver DG_CONTROL/ DAT_USERINTERFACE/ MSG_ENABLEDS Scanning (1) MSG_XFERREADY DG_IMAGE/ DAT_IMGE***XFER/ MSG_GET Image process(1) DG_CONTROL/ DAT_PENDINGXFERS/ MSG_ENDXFER...
Page 32
3 Operation Triplets There are 2 timings for scanned image process, image process (1) and image process (2). Operations are different against the ejection (1) after ENDXFER and error at scanning (2). Image process (1) Image will be processed even fail at ejection (1). Image will be processed even fail at scanning(2).
Page 33
3 Operation Triplets 3.5.4 DG_CONTROL/DAT_DIVSCANCTL/MSG_RESET Format: DS_Entry(pOrigin,pDest,DG_CONTROL, DAT_DIVSCANCTL,MSG_RESET, pDivScanCtl); pDivScanCtl:pTW_DIVSCANCTL Enabled status: From 4 to 7 Explanation: The specification for dividing scan and ejection is set to None. There is no need to specify pNoUIParmFile, either. Notes on the application There are no particular settings or operations.
Page 34
3 Operation Triplets 3.5.5 DG_CONTROL/DAT_EJECTCTL/MSG_SET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_EJECTCTL,MSG_SET, pEjectCtl); pEjectCtl:pTW_EJECTCTL typedef struct{ TW_UINT16 EjectInstruct; //Ejection indication flag }TW_EJECTCTL, FAR * pTW_EJECTCTL; Enabled status: From 6 to 7 Explanation: Specifies the sheet ejection indication. According to this specification, the source makes ejection to a normal or abnormal stacker.
Page 35
3 Operation Triplets 3.5.6 DG_CONTROL/DAT_EJECTCTL/MSG_RESET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_EJECTCTL,MSG_RESET, pEjectCtl); pEjectCtl:pTW_EJECTCTL Enabled status: From 4 to 7 Explanation: The specification for the sheet ejection indication is set to None. There is no need to specify pEjectCtl, either. Notes on the application There are no particular settings or operations. This specification is not indispensable, either.
Page 36
3 Operation Triplets 3.5.7 DG_CONTROL/DAT_EJECTNUMBERING/MSG_GET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_EJECTNUMBERING,MSG_GET, pNumberingCnt); pNumberingCnt:pTW_UINT16 Enabled status: From 6 to 7 Explanation: For numbering at the ejection of a sheet, you can acquire the maximum value for the specifiable number of numbering print characters. When you specify numbering characters at the ejection of a sheet, they must be not greater than the number of numbering print characters entered by this specification.
Page 37
3 Operation Triplets 3.5.8 DG_CONTROL/DAT_EJECTNUMBERING/MSG_SET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_EJECTNUMBERING,MSG_SET, pEjectNumbering); pEjectNumbering:pTW_EJECTNUMBERING typedef struct { TW_BOOL NumberingFlg; //Whether to perform imprinter numbering TW_STR128 NumberingChar; //Number of characters for imprinter numbering }TW_EJECTNUMBERING, FAR * pTW_EJECTNUMBERING; Enabled status: From 6 to 7 Explanation: The source performs numbering print according to the specified settings at the time of sheet-ejection numbering.
Page 38
3 Operation Triplets print and each of them must be preceded by the “~” symbol as an escape sequence. (Example) If you want to print “ABC#[123]”, you need to specify “ABC~#~ [123~]”. If you specify *, the stacker symbol is printed. If you specify ^, the erased character is printed.
Page 39
3 Operation Triplets 3.5.9 DG_CONTROL/DAT_EJECTNUMBERING/MSG_RESET Format: DS_Entry(pOrigin,pDest,DG_CONTROL,DAT_EJECTNUMBERING,MSG_RESET, pEjectNumbering); pEjectNumbering:pTW_EJECTNUMBERING Enabled status: From 4 to 7 Explanation: The specification for numbering in the ejection mode is set to None. This is no need to specify pEjectNumbering, either. Notes on the application There are no particular settings or operations.
Page 40
4 L i s t o f F u n c t i o n s Chapter 4. List of Functions 4.1 List of Supported Functions The list of supported functions is shown in Tables 4.1 and 4.2. Table 4.1 List of Supported Functions (Support Messages and Containers) Message MSG_ MSG_...
Page 41
4 L i s t o f F u n c t i o n s Continued Message MSG_ MSG_ MSG_ MSG_ MSG_ Function GETCUR GETDEF RESET RENT AULT ICAP_PIXELTYPE ICAP_PLANARCHUNKY CAP_PRINTER CAP_PRINTERENABLED CAP_PRINTERINDEX CAP_PRINTERMODE CAP_PRINTERSTRING CAP_PRINTERSUFFIX ICAP_SHADOW ICAP_SUPPORTEDSIZES ICAP_SUPPORTEDBARCODET YPES ICAP_THRESHOLD ICAP_UNITS...
Page 42
4 L i s t o f F u n c t i o n s Table 4.2 List of Supported Functions (Default and Capability Values) Function Default value Capability value (allowable value) CAP_SUPPORTEDCAPS None All supported functions CAP_AUTOFEED FALSE TRUE FALSE CAP_DEVICEONLINE...
Page 43
4 L i s t o f F u n c t i o n s Continued Function Default value Capability value (allowable value) ICAP_GAMMA 30 to 500 ICAP_HIGHLIGHT -256 to 256 ICAP_IMAGEFILEFORMAT TWFF_BMP TWFF_TIFF TWFF_BMP TWFF_JFIF ICAP_PHYSICALHEIGHT 305(mm) 305(mm) (*1) ICAP_PHYSICALWIDTH 420(mm) 420(mm) (*1)
Page 44
4 L i s t o f F u n c t i o n s Continued Function Default value Capability value (allowable value) ICAP_THRESHOLD 0 to 255 ICAP_UNITS TWUN_ TWUN_INCHES INCHES TWUN_CENTIMETERS ICAP_XFERMECH TWSX_ TWSX_NATIVE NATIVE TWSX_FILE TWSX_MEMORY ICAP_XRESOLUTION 200(dpi) 100,150,200,300,400,600,240 (dpi) (*5, *6)
Page 45
4 L i s t o f F u n c t i o n s *1: The unit varies depending on the ICAP_UNITS settings. *2: TRUE is only when the numbering mechanism exists. *3: The following is a list of characters that can be specified. Scanner Characters strings that can be specified HT-4139...
Page 46
When you set the option, ensure if an error occurs after receipt of MSG_XFERREADY. MSG_XFERREADY will be issued even in Not-ready, operation after that can not be performed. Set information of this option in registry. :HKEY_LOCAL_MACHINE subkey :SOFTWARE¥HITACHI¥SOFTOCR¥CurrentVersion¥TWAIN¥FORCEREADY name of the value :No Name type code :REG_SZ data :YES or NO (case-sensitive)...
Page 47
If you prefer to see error message at front, set an option to support it. This option is common to whole systems. (It can not be set for each application, user individually.) Set information of this option in registry. :HKEY_LOCAL_MACHINE subkey :SOFTWARE¥HITACHI¥SOFTOCR¥CurrentVersion¥TWAIN¥ERRACT name of the value :No Name type code :REG_SZ data :YES or NO (case-sensitive)...
Page 48
A p p e n d i x A-3 Notes on File Output The image file to be output by the file transfer output (DG_IMAGE/DAT_IMAGEFILEXFER/MSG_GET) varies depending on the format set by DG_CONTROL/DAT_SETUPFILEXFER/MSG_SET and the image to be output. You need to pay attention to the following files created by this driver. Format of the Output Image File Requiring Attention Format Output image...
Page 49
A p p e n d i x A-4 Notes on the Barcode The bar code recognition does not always work perfectly. You cannot acquire the barcode information if a part of the barcode is not search or if the total recognition characters exceed 255 bytes.