[RESUELTO] Insertar imagen desde... ¿Escaner?
[RESUELTO] Insertar imagen desde... ¿Escaner?
Tengo un campo imagen en el formulario, no veo la manera de escanearlo y que lo guarde. ¿Solo puedo desde archivo? (En el menu editar, sale, multimedia y desde escaner, no lo puedo seleccionar)
Última edición por Milor el Jue Mar 02, 2017 7:59 pm, editado 1 vez en total.
LibreOffice 4.2.4.2 en Windows 7 y Ubuntu
El OLMO no da PERAS, usa los PROGRAMAS para lo que están DISEÑADOS
Te ofrecemos nuestro tiempo y ofreces tu tiempo, no lo desperdiciemos. Explicarse y Comprenderse es necesario.
El OLMO no da PERAS, usa los PROGRAMAS para lo que están DISEÑADOS
Te ofrecemos nuestro tiempo y ofreces tu tiempo, no lo desperdiciemos. Explicarse y Comprenderse es necesario.
Re: Insertar imagen desde... ¿Escaner?
Aquí esta solucionado para windows, no es el mejor código del mundo (es más faltaría para detectar el path de la aplicación pero parece que en windows (supongo que se puede detectar en que SO se ejecuta y inicializarlo de una manera u otro pero no quería perder el tiempo con eso) con la barras tiene un problemas) pero funciona se usa un programa externo llamado imagemagick (también hay versión para linux) para hacer la conversión y luego se borra.
Que hace?Al tocar el boton se ejecuta, el nnombre que esta en el campo de texto que se llama "txtDNI" se le pondrá ese nombre a las imagenes (captura dos el frontar y el reverson pon _1 y _2 respectivamente) el programa externo convierte le BMP capturado en PNG luego el BASIC lo borra.
Código: Seleccionar todo
Sub AbrirEscanear(oEv)
oWiaDialog = CreateObject("WIA.CommonDialog")
oWiaDeviceManager = CreateObject("WIA.DeviceManager")
lCount = oWiaDeviceManager.DeviceInfos.Count
rutagc = "C:\Users\jarg1\Documents\GestionClientes\imagenes\"
rutagcrelativa = "imagenes/"
rutamagick = "C:\Program Files\ImageMagick-7.0.5-Q16\magick.exe"
'this lists the available devices, only one on my system (not necessary)
For i = 1 to oWiaDeviceManager.DeviceInfos.Count
dev = oWiaDeviceManager.DeviceInfos.item(i)
sID = dev.DeviceID
sName = dev.Properties.item("Name").Value
' MsgBox sName & "; " & sID
Next
Dim Form As Object
Dim Ctl As Object
Form = ThisComponent.DrawPage.Forms.GetByIndex(0)
Ctl = Form.getByName("txtDNI")
If (Ctl.text = "") Then
MsgBox "Introduce el DNI"
Else
oImageFileA = oWiaDialog.ShowAcquireImage
oImageFileR = oWiaDialog.ShowAcquireImage
If (IsNull(oImageFileA) or IsNull(oImageFileR)) Then
MsgBox "Has cancelado el escaneo"
Else
sExt = oImageFileA.FileExtension
oImageFileA.SaveFile(rutagc & Ctl.text & "_1." & sExt)
sExt2 = oImageFileA.FileExtension
oImageFileR.SaveFile(rutagc & Ctl.text & "_2." & sExt2)
Shell(rutamagick,0,rutagc & Ctl.text & "_1." & sExt & " " & rutagc & Ctl.text & "_1.png",true)
Shell(rutamagick,0,rutagc & Ctl.text & "_2." & sExt & " " & rutagc & Ctl.text & "_2.png",true)
Kill rutagc & Ctl.text & "_1." & sExt
Kill rutagc & Ctl.text & "_2." & sExt
Ctl2 = Form.getByName("imgANVERSO")
Ctl2.ImageURL = rutagcrelativa & Ctl.text & "_1.png"
Ctl2 = Form.getByName("imgREVERSO")
Ctl2.ImageURL = rutagcrelativa & Ctl.text & "_2.png"
End If
End If
End Sub
LibreOffice 4.2.4.2 en Windows 7 y Ubuntu
El OLMO no da PERAS, usa los PROGRAMAS para lo que están DISEÑADOS
Te ofrecemos nuestro tiempo y ofreces tu tiempo, no lo desperdiciemos. Explicarse y Comprenderse es necesario.
El OLMO no da PERAS, usa los PROGRAMAS para lo que están DISEÑADOS
Te ofrecemos nuestro tiempo y ofreces tu tiempo, no lo desperdiciemos. Explicarse y Comprenderse es necesario.