Manage Learn to apply best practices and optimize your operations.

Scan image with TWAIN scanner and insert into Rich Text (R5/Win32)

The following solution uses the Kodak (former Wang) imaging control that comes with Win32 to perform a customized image scan and insertion. 1. In form design mode place the control on your form by choosing 'Create/Object' from the menu. In the Create Object dialog select the 'Control' radio button and select the Kodak scan imaging control (e.g. filename= C:WINNTsystem32ImgScan.ocx) from the list. Select the control and press Alt-Enter. Name the object as 'objScan' (w/o the quotes). Hide if: @True (always).
2. Be sure to have a rich text field named 'Body' (w/o the quotes) inserted in your form.
3. Insert a command button into another paragraph of your form design, label it 'Scan' (w/o the quotes). Tell the button to hide exept in edit mode.
Ack.: - further information about additional controls, scanning parameters aso is in IMGOCXD.HLP that ships with the control
- imaging control is also available at
- I can recommend the following settingsfor invoices, receipts...: (JPEG), compressed filesize, 100 dpi resolution, b/w settings
- you can change the Const declarations in the code to meet your special needs, image formats and directory permissions
- if you don't like a button, use an action instead
This is the button's LS code:
Declare Function GetActiveWindow Lib {User32} () As Long 
Declare Sub SetActiveWindow Lib {User32} (Byval hwnd As Long) 

Sub Click(Source As Button) 
       'Scan image with TWAIN scanner and insert into Rich Text (R5/Win32) 
       'written by Dipl. Ing. Wolfgang Flamme (, 2001-03-23 
       On Error Goto ErrorHandler      
       Const SCANFILEPATH$={C:Tempscan.jpg} 
       Const RTFNAME$={Body} 
       Const SCANOBJNAME$={objScan} 
       Dim ws As New NotesUIWorkspace 
       Dim uidoc As NotesUIDocument 
       Dim wndhnd As Long 
       Dim strFile As String 
       Dim strRTFName As String 
       Dim objScan As Variant 
       Set uidoc = ws.CurrentDocument 
       Set objScan = uidoc.GetObject(SCANOBJNAME) 
       If objScan.ScannerAvailable=True Then 
               objScan.ScanTo=2 'StoreOnly 
               objScan.PageOption=6 'CreateReplace 
               objScan.ShowSetupBeforeScan=True 'ShowScanDialog 
               Call objScan.ShowScanPreferences 'ShowScanQualityDialog 
               Call objScan.StartScan 
               Call uidoc.GotoField(RTFNAME) 
               Call uidoc.import(IMPORTFILETYPE, SCANFILEPATH) 
               Call objScan.CloseScanner 
               Call SetActiveWindow(wndhnd&) 
               Msgbox {Error: TWAIN driver not found!} 
       End If 
       Exit Sub 
       Messagebox {The following unexpected error has occured: } & Trim$(Str(Err)) & {: } & Error$, 0+48+0+0, {Error Message..} 

        Resume TheEnd   
End Sub 

Dig Deeper on Lotus Notes Domino Administration Tools



  • Favorite iSeries cheat sheets

    Here you'll find a collection of valuable cheat sheets gathered from across the iSeries/ community. These cheat ...

  • HTML cheat sheet

    This is a really cool cheat sheet if you're looking to learn more about HTML. You'll find just about everything you every wanted ...

  • Carol Woodbury: Security

    Carol Woodbury