Info del producto
DescargasTestimoniosGot it downloaded and we will put that to work right away! We purchased a .Net twain control set for a custom written application using cameras about three years ago. We found Vintasoft in an Internet search. When we updating the software, we purchased the newer version that we needed. Peter Philbrick |
VintaSoftTwain.NET SDK - FAQCuestiones generales:
Redistribución:
Ventas:
Programación:
Web:
Bases de datos:
¿Para qué fines puedo utilizar la SDK VintaSoftTwain.NET?Puede utilizar esta biblioteca para dirigir el trabajo del escáner, de cámaras digitales y web y otros dispositivos que sostienen el standard TWAIN.
¿Qué incluye esta biblioteca?La SDK incluye:
¿En qué lenguaje de programación puedo utilizar esta biblioteca?La licencia del desarrollador y la licencia de la compañía permiten utilizar este componente en:
La licencia del servidor permite utilizar este componente en:
¿Qué límites tiene la versión no registrada de la biblioteca?Los límites de la versión no registrada de la biblioteca:
Todos estos límites están borrados de la versión registrada del componente.
No he encontrado la respuesta a mi pregunta. ¿Qué debo hacer?Puede encontrar la información sobre la mayoria de las preguntas en la documentación o en este FAQ. Si no ha encontrado la respuesta a su pregunta, escriba al Servicio de apoyo técnico.
¿Qué ficheros debo incluir en distribución de mi programa?Tiene que incluir solo un fichero: Vintasoft.Twain.dll. A la instalación de su programa hay que insertar estos ficheros en el catálogo que tiene la referencia aparecida durante la compilación del programa.
¿Puedo distribuir componente VintaSoftTwain.NET junto con mi aplicación sin algun pago complementario?Si, puede distribuir componente VintaSoftTwain.NET junto con su aplicación. Paga solamente por el registro inicial. La licencia de la compañía no tiene límites en la distribucion. La licencia del desarrollador tiene ciertos límites en la distribución. La redistribución de la licencia para servidor no es libre de derechos. Por favor, vea el contrato de licencia.
¿Qué hacer si la redistribución de mi aplicación que está creado sobre la base de la licencia del desarrollador puede ser superior 100 copias en el año en curso?Si posee la licencia del desarrollador y redistribución de su aplicación puede ser superior 100 copias en el año en curso, Ud. debe contactar Ventas "VintaSoft". Ud. proveerá de oportunidad actualizar su licencia del desarrollador a la licencia de la compañía con 30% descuento o comprar la segunda licencia del desarrollador.
¿Qué diferencias son entre la licencia del desarrollador y la licencia de la compañía (sitio)?
¿Puedo actualizar la licencia "Standard edition" de la licencia "Standard + WPF edition" equivalente?Sí, por favor contacte Ventas y Ud. proveerá de oportunidad comprar la licencia "Standard + WPF edition" equivalente con 70% descuento.
¿Hay la diferencia en utilizando mi aplicación en Desktop PC o en Server?Si, hay. Por favor lea la sección "Deploying" en documentación de este producto para que comprender la diferencia. Los terminos: Desktop PC – SO Windows XP, Vista, 7 está instalado. Server – SO Windows Server 2000, 2003, 2008 está instalado.
¿Cómo puedo añadir el componente Vintasoft.Twain.DeviceManager al formulario de la aplicación?Para añadir el componente VintaSoft.Twain.DeviceManager a la forma hay que hacer lo siguiente:
¿Cómo puedo recibir las imágenes en negro y blanco (documentación)?Esto es el ejemplo del código para recibir las imágenes en negro y blanco:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
Private Sub AcquireBlackWhiteImages()
_device.ShowUI = False
_device.DisableAfterAcquire = True
' open the device
_device.Open()
' set necessary pixel type
_device.PixelType = PixelType.BW
' acquire images from device
_device.Acquire()
End Sub
¿Puedo dirigir el Alimentador automático de documentos (ADF) sin interface del usuario?Aquí está un ejemplo que muestra como se puede asincronamente recibir los imágenes de ADF:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
Private Sub AcquireImagesFromAdf()
' set scan settings
_device.ShowUI = False
_device.DisableAfterAcquire = True
_device.Open()
_device.PixelType = PixelType.RGB
_device.UnitOfMeasure = UnitOfMeasure.Inches
_device.Resolution = New Resolution(200, 200)
' set document feeder settings
If _device.DocumentFeeder.Present Then
_device.DocumentFeeder.Enabled = True
_device.XferCount = -1
' enable duplex if possible
If _device.DocumentFeeder.DuplexMode <> DuplexMode.None Then
_device.DocumentFeeder.DuplexEnabled = True
End If
' acquire images from device
If _device.DocumentFeeder.PaperDetectable Then
If _device.DocumentFeeder.Loaded Then
_device.Acquire()
End If
Else
_device.Acquire()
End If
End If
End Sub
' Handler of the ImageAcquired event.
Private Sub _device_ImageAcquired(ByVal sender As System.Object, _
ByVal e As Vintasoft.Twain.ImageAcquiredEventArgs)
e.Image.Save("c:\multipage.tif")
End Sub
' Handler of the ScanCompleted event.
Private Sub _device_ScanCompleted(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
' do not close the device if UI is used
If Not _device.ShowUI Then
_device.Close()
MsgBox("Scan completed.")
End If
End Sub
¿Puedo dirigir el Alimentador automático de documentos (ADF) sin interface del usuario y sin evento PostScan?Aquí está un ejemplo que muestra como se puede sincronamente recibir los imágenes del dispositivo:
[VB.NET]
Friend Shared Sub Main(args As String())
Try
Using deviceManager As New DeviceManager()
' open the device manager
deviceManager.Open()
' get reference to the current device
Dim device As Device = deviceManager.CurrentDevice
' open the device
device.Open()
' set acquisition parameters
device.TransferMode = TransferMode.Memory
device.ShowUI = False
device.DisableAfterAcquire = True
device.PixelType = PixelType.BW
' create directory for TIFF file
Dim directoryForImages As String = _
Path.GetDirectoryName(Directory.GetCurrentDirectory())
directoryForImages = Path.Combine(directoryForImages, "Images")
If Not Directory.Exists(directoryForImages) Then
Directory.CreateDirectory(directoryForImages)
End If
Dim multipageTiffFilename As String = Path.Combine(directoryForImages, _
"multipage.tif")
' acquire image(s) from the device
Dim acquireModalState1 As AcquireModalState = AcquireModalState.None
Dim imageIndex As Integer = 0
Do
acquireModalState1 = device.AcquireModal()
Select Case acquireModalState1
Case AcquireModalState.ImageAcquired
' save image to file
device.AcquiredImages.Last.Save(multipageTiffFilename)
' output current state
imageIndex = imageIndex + 1
Console.WriteLine(String.Format("Image{0} is saved.", _
imageIndex))
Case AcquireModalState.ScanCompleted
' close device and device manager
CloseDeviceAndDeviceManager(deviceManager, device)
' output current state
Console.WriteLine("Scan completed.")
Case AcquireModalState.ScanCanceled
' close device and device manager
CloseDeviceAndDeviceManager(deviceManager, device)
' output current state
Console.WriteLine("Scan canceled.")
Case AcquireModalState.ScanFailed
' close device and device manager
CloseDeviceAndDeviceManager(deviceManager, device)
' output current state
Console.WriteLine(String.Format("Scan failed: {0}", _
deviceManager.ErrorString))
End Select
Loop While acquireModalState1 <> AcquireModalState.None
End Using
Catch ex As TwainException
Console.WriteLine("Error: " + ex.Message)
End Try
Console.ReadLine()
End Sub
' Close device and device manager.
Private Shared Sub CloseDeviceAndDeviceManager(deviceManager As DeviceManager, _
device As Device)
If device.State = DeviceState.Opened Then
' close the device
device.Close()
End If
' close the device manager
deviceManager.Close()
End Sub
Tengo que escanear solamente una parte de la imagen. ¿Qué debo hacer?Aquí está un ejemplo que muestra como se puede recibir solamente la parte superior de la página:
[VB.NET]
Private Sub AcquirePartOfImage()
Using deviceManager As New DeviceManager()
Try
' open the device manager
deviceManager.Open()
deviceManager.SelectDevice()
' get reference to current device
Dim device As Device = deviceManager.CurrentDevice
' open the device
device.Open()
' set acquisition parameters
device.ShowUI = False
device.DisableAfterAcquire = True
' set image layout (get only the top half of the page)
device.UnitOfMeasure = UnitOfMeasure.Inches
Dim imageLayout As System.Drawing.RectangleF = device.ImageLayout.Get()
device.ImageLayout.Set(0, 0, imageLayout.Width, imageLayout.Height / 2)
Dim tiffFilename As String = Path.Combine(Directory.GetCurrentDirectory(), _
"multipage.tif")
' acquire images from device
Dim acquireModalState1 As AcquireModalState = AcquireModalState.None
Do
acquireModalState1 = device.AcquireModal()
Select Case acquireModalState1
Case AcquireModalState.ImageAcquired
' save acquired image to multipage TIFF file
device.AcquiredImages.Last.Save(tiffFilename)
Case AcquireModalState.ScanCompleted, _
AcquireModalState.ScanCanceled, _
AcquireModalState.ScanFailed
' close the device
device.Close()
' close the device manager
deviceManager.Close()
End Select
Loop While acquireModalState1 <> AcquireModalState.None
Catch ex As TwainException
Console.WriteLine("Error: " + ex.Message)
Console.ReadLine()
End Try
End Using
End Sub
¿Puedo elegir el dispositivo necesario sin diálogo estandartizado de la elección del dispositivo?Aquí está un ejemplo que muestra como se puede elegir el dispositivo por su nombre:
[VB.NET]
Private Sub SelectDeviceByName(ByVal deviceName As String)
' create TWAIN device manager
Using deviceManager As New DeviceManager()
' open TWAIN device manager
deviceManager.Open()
' select the device by device name
Dim device As Device = Nothing
For i As Integer = 0 To deviceManager.Devices.Length - 1
If deviceManager.Devices(i).Info.ProductName = deviceName Then
deviceManager.CurrentDeviceIndex = i
device = deviceManager.CurrentDevice
Exit For
End If
Next
' throw exception if device is not found
If device Is Nothing Then
Throw New ApplicationException("Device is not found.")
End If
' acquire images from the device
device.Acquire()
End Using
End Sub
¿Cómo puedo desconectar la ventana del indicador del proceso del escaneo al recibo de los imágenes sin interface del usuario?El estandard TWAIN permite desconectar la ventana del indicador del proceso del escaneo, si el interface del usuario no se utilice (ShowUI=False). Se puede hacer de la manera siguente:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
Private Sub AcquireImagesWithoutUiAndIndicator()
_device.ShowUI = False
_device.ShowIndicators = False
_device.DisableAfterAcquire = True
' acquire images from device
_device.Acquire()
End Sub
Quiero crear mi propio indicador del proceso del escaneo. ¿Es possible?Si, es possible, si la imagen se transmite del escaner al anexo por medio de la memoria (Memory transfer). Para crear su indicador del proceso del escaneo es necesario utilizar el evento ImageAcquiringProgress, por ejemplo:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
' Handler of the Device.ImageAcquiringProgress event
Private Sub _device_ImageAcquiringProgress(ByVal sender As System.Object, _
ByVal e As Vintasoft.Twain.ImageAcquiringProgressEventArgs)
ProgressBar1.Value = e.Progress
End Sub
¿Cómo puedo instalar la resolución diferente para los ejes X y Y durante el escaneo de imágenes?Esto es el ejemplo donde la resolución para el eje X es 200 dpi, y para el eje Y 400 dpi:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
Private Sub AcquireBlackWhiteImages()
_device.ShowUI = False
_device.DisableAfterAcquire = True
' open the device
_device.Open()
' set scan settings
_device.PixelType = PixelType.BW
_device.UnitOfMeasure = UnitOfMeasure.Inches
_device.Resolution = New Resolution(200, 400)
' acquire images from device
_device.Acquire()
End Sub
Nuestra organización utilice el escaneo de la red con el Alimentador automático de documentos (ADF) y procesamos mucha documentación cada dia. ¿Cómo podemos automatizar nuestro trabajo? Quisieramos guardar cada documento en el fichero separado.Puede utilizar la página en blanco para dividir los documentos y definir las páginas en blanco con ayuda del método AcquiredImage.IsBlank. Por ejemplo:
[VB.NET]
Dim _device As Vintasoft.Twain.Device
Dim _documentCounter as Integer
...
Private Sub AcquireImages()
' set scan settings
_device.ShowUI = False
_device.DisableAfterAcquire = True
_device.Open()
_device.PixelType = PixelType.BW
_device.UnitOfMeasure = UnitOfMeasure.Inches
_device.Resolution = New Resolution(300, 300)
' set settings of the internal image buffer
_device.AcquiredImages.Capacity = 1
_device.AcquiredImages.AutoClean = True
_device.AcquiredImages.TiffMultiPage = True
_device.AcquiredImages.TiffCompression = TiffCompression.Auto
' set document feeder settings
If _device.DocumentFeeder.Present Then
_device.DocumentFeeder.Enabled = True
_device.XferCount = -1
' enable duplex if possible
If _device.DocumentFeeder.DuplexMode <> DuplexMode.None Then
_device.DocumentFeeder.DuplexEnabled = True
End If
' acquire images from device
If _device.DocumentFeeder.PaperDetectable Then
If _device.DocumentFeeder.Loaded Then
_device.Acquire()
End If
Else
_device.Acquire()
End If
End If
End Sub
' Handler of the ImageAcquired event.
Private Sub _device_ImageAcquired(ByVal sender As System.Object, _
ByVal e As Vintasoft.Twain.ImageAcquiredEventArgs)
If e.Image.IsBlank() Then
_documentCounter = _documentCounter + 1
End If
Try
e.Image.Save("c:\documents\doc" + Str(_documentsCounter) + ".pdf")
Catch ex As PdfException
MsgBox(ex.Message)
End Try
End Sub
' Handler of the ScanCompleted event.
Private Sub _device_ScanCompleted(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
' do not close the device if UI is used
If Not _device.ShowUI Then
_device.Close()
MsgBox("Scan completed.")
End If
End Sub
¿Puedo utilizar el código patch para dividir los trabajos de serie? Y ¿Cómo puedo determinar el final del trabajo de serie?Puede dividir los trabajos de serie, utilice la opción CAP_JOBCONTROL.
[VB.NET]
Imports Vintasoft.Twain
Dim _deviceManager As DeviceManager
Dim _device As Device
Dim _jobCounter As Integer = -1
Private Sub ScanWithJobControlButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles ScanWithJobControlButton.Click
Try
' create and open device manager
_deviceManager = New DeviceManager(Me)
_deviceManager.Open()
' get reference to current device
_device = _deviceManager.CurrentDevice
' create handlers of events
AddHandler _device.ImageAcquired, AddressOf _device_ImageAcquired
AddHandler _device.ScanCompleted, AddressOf _device_ScanCompleted
AddHandler _device.ScanCanceled, AddressOf _device_ScanCanceled
AddHandler _device.ScanFailed, AddressOf _device_ScanFailed
' set scanning settings
_device.ShowUI = False
_device.DisableAfterAcquire = True
_device.AcquiredImages.Capacity = 1
_device.AcquiredImages.TiffMultiPage = True
_device.Open()
_device.JobControl = JobControl.DetectAndIncludeJobSeparatorAndContinueScanning
_jobCounter = _jobCounter + 1
' acquire images from device
_device.Acquire()
Catch ex As TwainException
MsgBox(ex.Message)
End Try
End Sub
Private Sub _device_ImageAcquired(ByVal sender As System.Object, _
ByVal e As Vintasoft.Twain.ImageAcquiredEventArgs)
If _device.EndOfJob Then
_jobCounter = _jobCounter + 1
Else
Try
e.Image.Save("c:\job" + Str(_jobCounter) + ".tif")
Catch ex As ImageProcessingException
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub _device_ScanCompleted(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
_device.Close()
MsgBox("Scan completed.")
End Sub
Private Sub _device_ScanCanceled(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
_device.Close()
MsgBox("Scan canceled.")
End Sub
Private Sub _device_ScanFailed(ByVal sender As System.Object, _
ByVal e As Vintasoft.Twain.ScanFailedEventArgs)
_device.Close()
MsgBox("Scan failed: " + e.ErrorString)
End Sub
¿Puedo salvar imágenes adquiridas en un documento PDF?Si, Ud. puede hacerlo. Las imágenes adquiridas pueden ser salvadas en nuevo documento PDF o anadidas en documento PDF que ya existe.
[VB.NET]
Dim _device As Vintasoft.Twain.Device
...
' set settings of PDF document
_device.AcquiredImages.PdfMultiPage = True
_device.AcquiredImages.PdfDocumentInfo.Author = "VintaSoft Ltd."
_device.AcquiredImages.PdfDocumentInfo.Title = "Documents acquired from " + _
_device.Info.ProductName
_device.AcquiredImages.PdfDocumentInfo.Creator = "VintaSoftTwain.NET SDK"
_device.AcquiredImages.PdfDocumentInfo.ModificationDate = DateTime.Now
' save the first acquired image as new PDF document
_device.AcquiredImages(0).Save("c:\test.pdf")
' add the second acquired image to existing PDF document
_device.AcquiredImages(1).Save("c:\test.pdf")
' add the third acquired image to existing PDF document
_device.AcquiredImages(2).Save("c:\test.pdf")
¿Cómo puedo recibir una información extendida sobre la imagen del escaner?Este ejemplo demuestra como recibir la información sobre códigos de barras encontrados en la imagen adquirida:
[VB.NET]
Private Sub GetExtendedImageInfo()
Using deviceManager As New DeviceManager()
Try
' open the device manager
deviceManager.Open()
deviceManager.SelectDevice()
' get reference to current device
Dim device As Device = deviceManager.CurrentDevice
' open the device
device.Open()
' set acquisition parameters
device.ShowUI = False
device.DisableAfterAcquire = True
' specify that image info is necessary
device.ExtendedImageInfo.Add(New _
ExtendedImageInfo(ExtendedImageInfoId.BarcodeCount))
device.ExtendedImageInfo.Add(New _
ExtendedImageInfo(ExtendedImageInfoId.BarcodeType))
device.ExtendedImageInfo.Add(New _
ExtendedImageInfo(ExtendedImageInfoId.BarcodeTextLength))
device.ExtendedImageInfo.Add(New _
ExtendedImageInfo(ExtendedImageInfoId.BarcodeText))
Dim tiffFilename As String = Path.Combine(Directory.GetCurrentDirectory(), _
"multipage.tif")
' acquire images from device
Dim acquireModalState1 As AcquireModalState = AcquireModalState.None
Do
acquireModalState1 = device.AcquireModal()
Select Case acquireModalState1
Case AcquireModalState.ImageAcquired
' save acquired image to multipage TIFF file
device.AcquiredImages.Last.Save(tiffFilename)
Dim barcodeCount As ExtendedImageInfo = device.ExtendedImageInfo(0)
If barcodeCount.Items IsNot Nothing Then
If barcodeCount.Items.Length > 0 Then
If barcodeCount.Items(0) > 0 Then
Dim barcodeType As ExtendedImageInfo = _
device.ExtendedImageInfo(1)
Dim barcodeTextLength As ExtendedImageInfo = _
device.ExtendedImageInfo(2)
Dim barcodeText As ExtendedImageInfo = _
device.ExtendedImageInfo(3)
Dim infoString As String
For i As Integer = 0 To barcodeCount.Items(0) - 1
infoString = ""
If barcodeType.IsValid Then
infoString = "BarcodeType=" + _
barcodeType.Items(i) + " "
Else
infoString = "BarcodeType=Undefined "
End If
If barcodeText.IsValid Then
infoString = "BarcodeText='" + _
barcodeText.StringItems(i) + "'"
Else
infoString = "BarcodeText=Undefined "
End If
Console.WriteLine(infoString)
Next
End If
End If
End If
Case AcquireModalState.ScanCompleted, AcquireModalState.ScanCanceled, _
AcquireModalState.ScanFailed
' close the device
device.Close()
' close the device manager
deviceManager.Close()
End Select
Loop While acquireModalState1 <> AcquireModalState.None
Catch ex As TwainException
Console.WriteLine("Error: " + ex.Message)
Console.ReadLine()
End Try
End Using
End Sub
¿Puedo recibir la imagen de 48-bit?Si. La biblioteca VintaSoftTwain. NET permite recibir las imágenes de color de 48-bit o las imágenes grises de 16-bits. [VB.NET] Dim _device As Vintasoft.Twain.Device ... _device.Open() _device.PixelType = PixelType.RGB _device.BitDepth = 16 ' 16 - for Epson scanners, 48 - for Canon scanners _device.Acquire() Aquí está un ejemplo que demuestra como recibir la imagen de color de 24-bpp del escaner sin la interface de usuario: [VB.NET] Dim _device As Vintasoft.Twain.Device ... _device.Open() _device.PixelType = PixelType.RGB _device.BitDepth = 8 ' 8 - for Epson scanners, 24 - for Canon scanners _device.Acquire() Aquí está un ejemplo que demuestra como recibir la imagen gris de 16-bpp del escaner sin la interface de usuario: [VB.NET] Dim _device As Vintasoft.Twain.Device ... _device.Open() _device.PixelType = PixelType.Gray _device.BitDepth = 16 _device.Acquire()
¿Puedo crear el sistema de sesión predefinido para mi escaner de volumen alto?Si, la biblioteca permite cargar/salvar sistemas de sesión predefinidos para los escaners de medio y alta velocidad.
[VB.NET]
...
_device.Open()
Dim fs As FileStream = New FileStream("scanner-setup.xml", FileMode.Append, _
FileAccess.Write)
_device.SaveSettings(fs)
fs.Close()
...
Aquí está un ejemplo que demuestra como cargar ajustes de dispositivo antes salvados en el dispositivo:
[VB.NET]
...
_device.OpenDataSource()
Dim fs As FileStream = New FileStream("scanner-setup.xml", FileMode.Open, _
FileAccess.Read)
_device.LoadSettings(fs)
fs.Close()
_device.Acquire()
...
Recibo el mensaje "Cannot initialize the device manager" después de intentar de abrir el administrador de dispositivos. ¿Qué hacer?Necesita hacer lo siguiente:
TWAIN Data Source Manager (DSM) de la versión 1.X es TWAIN_32.DLL, ordinariamente este file está en la carpeta "C:\Windows\" y está incluido en la lista de equipo estándar de todas las versiones de 32 bit de Windows. TWAIN DSM de la versión 2.X para los sistemas de 32 bit consiste en dos files: TWAINDSM.DLL y TWAINDSM32.MSM. NO está incluido en la lista de equipo estándar de Windows. En los sistemas de 32 bit los files de DSM deben ser puestos en la carpeta "C:\Windows\System32\". En los sistemas de 64 bit los files de DSM deben ser puestos en la carpeta "C:\Windows\SysWow64\". TWAIN DSM de la versión 2.X para los sistemas de 64 bit consiste en dos files: TWAINDSM.DLL y TWAINDSM64.MSM. NO está incluido en la lista de equipo estándar de Windows. En los sistemas de 64 bit los files de DSM deben ser puestos en la carpeta "C:\Windows\System32\". La última versión de TWAIN DSM 2.X se puede encontrar aquí: http://www.twain.org o http://sourceforge.net/projects/twain-dsm/files/.
No veo el escáner en la ventana de elección de TWAIN dispositivos de mi programa pero lo veo en otros programas. ¿Por qué?Puede compilar su programa con VintaSoftTwain.NET SDK de la versión 7.0 y en la más avanzada en el régimen "Any CPU" y Su programa:
Puede compilar su programa con VintaSoftTwain.NET SDK de la versión 7.0 y en la más avanzada en el régimen "x86" (WOW) y Su programa:
Puede compilar su programa con VintaSoftTwain.NET SDK de la versión 7.0 y en la más avanzada en el régimen "x64" y Su programa:
Recomendamos utilizar el régimen de "x86", porque todos los escáneres tienen los controladores de dispositivos de TWAIN de 32 bit pero sólo escáneres nuevos y profesionales tienen los controladores de dispositivos de TWAIN de 64 bit.
¿Qué pasos debo dar para añadir la biblioteca a mi proyecto WEB?Debe hacer lo siguiente al lado de servidor:
Debe hacer lo siguiente al lado del cliente:
Quiero crear el script en mi servidor web, que será utilizado por los usuarios para la instalación automática de los parámetros necesarios de la seguridad.NET Framework al ordenador del usuario. ¿Puedo hacerlo?Debe crear el script, que iniciará el orden siguiente: caspol.exe -q -machine -addgroup All_Code -site www.my-company.com FullTrust
He recibido el aviso "Your .NET Framework Security settings must be configured to run the components in your browser" durante la instalación de mi web anexo. ¿Qué hago no correctamente?Primeramente hay que ajustar la seguridad .NET Framework como describido aqui. Pues necesita verificar la versión 2 que utiliza (por ejemplo, 7.0.0.1). Después debe describir correctamente el objeto OBJECT en su página web. Es muy importante utilizar el numero correcto de la versión! Esto es el ejemplo: < OBJECT ID="TwainDeviceManager" WIDTH=1 HEIGHT=1 Es todo que debe hacer.
¿Puedo escanear imágenes y cargarlos al servidor en la aplicación de intranet con la autenticación integrada de Windows?Si, la biblioteca permite usar cualquier método de autenticación apoyado por .NET Framework. El ejemplo siguiente ilustra como usar la información de autenticación del usuario que esta conectado actualmente: [VB.NET] Dim _httpUpload As Vintasoft.Http.HttpUpload ... _httpUpload.Url = "http://localhost/vstwaindemo/imageupload.aspx" _httpUpload.UseDefaultCredentials = True ... El ejemplo siguiente ilustra como usar información de autenticación múltiple:
[VB.NET]
Dim _httpUpload As Vintasoft.Http.HttpUpload
...
Dim myCache As New CredentialCache()
myCache.Add(New Uri("http://www.my-web-server.com/"), "Basic", _
New NetworkCredential(UserName, SecurelyStoredPassword))
myCache.Add(New Uri("http://www.my-web-server.com/"), "Digest", _
New NetworkCredential(UserName, SecurelyStoredPassword, Domain))
_httpUpload.Credentials = myCache
...
¿Puedo escanear imágenes y cargarlos al servidor web con la autenticación de Formas de Cookieless?Si, Ud. puede hacerlo, por favor mire el ejemplo 8 y 9
¿Cómo adquirir las imágenes del escáner, guardarlas como flujo PDF y cargarlo al servidor en JavaScript?Si usa VintaSoftTwain.NET SDK en JavaScript Ud. debe saber lo siguiente:
[JavaScript]
...
// acquire image(s) from the device
var acquireModalState;
var acquireStatusString = "Scan canceled";
var mem;
var firstImage = true;
do
{
acquireModalState = device.AcquireModal();
// image acquired
if (acquireModalState == 2)
{
if (firstImage)
{
// get the first image as PDF stored in the memory
mem = device.AcquiredImages.Last.GetAsStream(5);
firstImage = false;
}
else
{
// add image to PDF stored in the memory
device.AcquiredImages.Last.SaveToStream(mem, 5);
}
}
// scan completed
else if (acquireModalState == 3)
{
acquireStatusString = "Scan completed";
// upload data from the memory stream (mem) to the server
...
}
// scan failed
else if (acquireModalState == 4)
acquireStatusString = "Scan failed";
// scan canceled
else if (acquireModalState == 5)
acquireStatusString = "Scan canceled";
}
while (acquireModalState != 0)
...
¿Puedo guardar las imágenes adquiridas en la tabla MS SQL del servidor?Si, puede hacerlo. Por favor, vea el ejemplo 3 de este articulo.
Quiero salvar imágenes adquiridas como documentos PDF en la base de datos. ¿Puedo hacerlo?Si, Ud. puede salvar la imagen(es) adquirida a una corriente y adelante salvar datos de corriente a la base de datos. Aquí está un ejemplo que muestra como salvar cada imagen adquirida como un documento PDF separado en una corriente: [VB.NET] Dim mem As MemoryStream = _device.AcquiredImages(0).GetAsStream(ImageFileFormat.PDF) Y aquí está un ejemplo que muestra como salvar todas las imágenes adquiridas como un solo documento PDF en una corriente:
[VB.NET]
Dim mem As MemoryStream = _device.AcquiredImage(0).GetAsStream(ImageFileFormat.PDF)
Dim i As Integer
For i = 1 To _device.AcquiredImages.Count - 1
_device.AcquiredImages(i).SaveToStream(mem, ImageFileFormat.PDF)
Next i
|