Работа со сканером напрямую из Lotus Notes

morpheus

скриптописец
07.08.2006
3 915
1
#1
Работа со сканером напрямую из Lotus Notes c помощью бесплатной библиотеки EZTW32.DLL

Помещаем библиотеку в директорию приложений Lotus (по умолчанию X:\Lotus\Notes)

Создаем агента или кнопку.

Декларируем функции из библиотеки
Код:
Dim hDib As Long 
Dim hPal As Long
Dim nPixTypes As Long
REM Used by several calls to get handle to current window
Dim hWND As Long
Declare Function TWAIN_AcquireNative Lib_
"EZTW32.DLL" (Byval hWndApp%, Byval wPixTypes%) As Integer
Declare Function TWAIN_AcquireToClipboard Lib_
"EZTW32.DLL" (Byval hwndApp%, Byval wPixTypes%) As Integer
Declare Function [B]TWAIN_AcquireToFilename[/B] Lib_
"EZTW32.DLL" (Byval hwndApp%, Byval bmpFileName$) As Integer
Declare Function TWAIN_SelectImageSource Lib "EZTW32.DLL" (Byval hwndApp%) As Integer
Declare Function TWAIN_IsAvailable Lib "EZTW32.DLL" () As Integer
Declare Function TWAIN_EasyVersion Lib "EZTW32.DLL" () As Integer
Declare Function TWAIN_State Lib "EZTW32.DLL" () As Integer
Declare Function TWAIN_WriteNativeToFilename Lib_
"EZTW32.DLL" (Byval hBitmap%, Byval bmpFileName$) As Integer
Declare Function TWAIN_DibDepth Lib "EZTW32.DLL" (Byval hdib%) As Integer
Declare Function TWAIN_DibWidth Lib "EZTW32.DLL" (Byval hdib%) As Integer
Declare Function TWAIN_DibHeight Lib "EZTW32.DLL" (Byval hdib%) As Integer
Declare Function TWAIN_DibNumColors Lib "EZTW32.DLL" (Byval hdib%) As Integer
Вариант 1: Сканирование образа в текущий документ
Код:
Sub Initialize
' Сканирует документ в буфер обмена и помещает из буфера в поле Body
Call TWAIN_AcquireToClipboard(0,0)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.GotoField( "Body" )
Call uidoc.Paste
End Sub
Вариант 2: Сканирование образа и отправка по почте с присоедененным файлом
Код:
Sub Initialize
' Сканирует документ и отправляет по почте на указанный адрес
' адрес получателя
SendTo$="**@****.***.ua"
' имя сканируемого файла
FileName$="c:\scandoc.bmp"

Dim db As New NotesDatabase( "", "" )
Dim memo As NotesDocument
Dim rt As NotesRichTextItem
Dim o As NotesEmbeddedObject

Call TWAIN_AcquireToFilename(0,FileName$)

Call db.OpenMail
Set memo= New NotesDocument( db )
memo.Form="Memo"
memo.SendTo = SendTo$
memo.Subject = "новый отсканированный документ"
Set rt = New NotesRichTextItem( memo, "Body" )
Set o = rt.EmbedObject ( EMBED_ATTACHMENT, "", FileName$)
Call memo.Send( False )

End Sub
Источник

Автор - Дмитрий Войтышин

Библиотека и представленные примеры находятся в архиве. Посмотреть вложение ScanEZTWLotusNotes.zip
 

Вложения