PDA

Ver la Versión Completa : ¿Experiencia con Tableta Firmas Wacom?


manelb
04-04-2018, 08:29:36
Buenos días…

Tenemos un pequeño ERP de gestión donde, en el momento de realizar los albaranes de venta, existe la posibilidad de recoger la firma en formato de imagen des de un dispositivo conectado al puerto USB, concretamente de la marca Topaz.
Si no recuerdo mal, se utiliza fácilmente desde Delphi ya que existe un componente Activex que facilita la gestión del dispositivo.
He revisado en el foro y he encontrado algunos hilos sobre el tema.
En alguno Casimiro respondía que casi todas las marcas en sus webs tienen información y descargas para facilitar su uso y conexión.

El caso es que ahora me piden la conexión con un dispositivo concreto, una tableta Wacom Signature Set STU-530-SP SET.
Antes de comprarla y liarme a hacer pruebas, alguien tiene alguna experiencia con esta marca o este dispositivo en concreto.

Saludos i gracias a todos…

Neftali [Germán.Estévez]
04-04-2018, 09:52:01
Seguramente en la web del fabricante puedes descargar los drivers o el SDK y la documentación (http://signature.wacom.eu/es/productos/software/kits-de-desarrollo-de-software-sdk/).
Ahí podrás ver si este SDK cuenta con alguna DLL, ActiveX o similar con el que poder interactuar (suele ser lo habitual).

Casimiro Notevi
04-04-2018, 13:01:36
tableta Wacom Signature Set STU-530-SP SET.
Antes de comprarla y liarme a hacer pruebas, alguien tiene alguna experiencia con esta marca o este dispositivo en concreto.
He usado varios modelos de la marca, sin problemas.
Además, wacom, es de lo mejor y... más caro.

manelb
04-05-2018, 18:43:51
He seguido vuestras indicaciones y parece que todo marcha sobre ruedas….

En la web del fabricante no pude descargar directamente el sdk pero, previo registro, me mandaron un enlace para poder descargarlo.

En el paquete vienen además algunos ejemplos hechos directamente en Delphi.
Parece que no vamos a tener problemas.

Muchas gracias por vuestra ayuda.

Saludos a todos.

pablomorales_98
03-04-2019, 19:47:07
He usado varios modelos de la marca, sin problemas.
Además, wacom, es de lo mejor y... más caro.


Hola,
Un cliente mio compró una wacom stu-430, es la tableta para la firma digital, en realidad solo quiere que los clientes de el firmen cuando retiran la mercaderia y esa firma aparezca en la factura electronica que mi sistema le genera en pdf.
Por lo que veo hay 2 opciones, una es un software que se llama "sign pro PDF" que te agrega la firma a un PDF y la otra es una Signature SDF para programadores que es una libreria, pero por lo que veo las 2 opciones hay que comprarlas... alguién sabe si hay alguna manera de conseguirlas sin pagar? o alguna otra manera de usarla la tableta?
saludos y gracias!

mamcx
03-04-2019, 21:48:38
Y que tal el nuevo iPad mini + Pencil?

https://www.apple.com/ipad-mini/

P.D: En tabletas, Wacom o iPad. No hay androids que valgan la pena.

Casimiro Notevi
03-04-2019, 22:20:40
Si mal no recuerdo, ese dispositivo trae un software que captura lo que dibujes, y una API/SDK para que puedas acceder al mismo desde tu programa.

manelb
04-04-2019, 07:49:21
Buenos días….

Tal como comento en el cuarto mensaje de este hilo, para desarrollar funcionalidades básicas como la que describes, tienes suficiente con el sdk.
Te registras y lo envían sin problemas.

Saludos

PEIIB
09-04-2019, 21:34:03
Hola!
Tengo un problema muy similar: Un cliente me trae una tableta Wacom STU-500B y quiere que genere un PDF que incluya la firma capturada con ella. He estado mirando la Web del fabricante y dice que ese modelo no necesita ningun driver addicional:
>> 'No driver avaiable: Integrated in signature applications from leading software vendors; C++, .Net and Java SDK/API avaiable for developers'

Así que no tengo ni idea de por donde empezar para capturar una firma como imagen. Trabajo en delphi7
He estado rebuscando en el foro pero no encuentro la solución.

Podéis echarme una mano? Gracias de antemano

Casimiro Notevi
09-04-2019, 22:15:12
Lo primero de todo es leer el manual. Si no lo tienes, lo descargas de la web del fabricante.
Lo segundo es instalarlo y probarlo para ver cómo funciona.
Luego ya nos preguntas por las dudas que tengas.

PEIIB
10-04-2019, 00:16:58
No tengo el manual de usuario, y en la web no hay el developer manual. (O no lo encuentro) Creo que no esta por ser un modelo antiguo.

Los mayores datos técnicos que encuentro para este modelo estan aquí:
https://developer-docs.wacom.com/display/DevDocs/STU+Driver

a parte del manual de usuario que no da ningún dato técnico (no en la web del fabricante):
https://fccid.io/HV4STU500B/User-Manual/User-manual-1342660

Tambien he encontrado este código en StackOverflow, que puede dar alguna pista (o no, porque no se trata exactamente del mismo modelo de tableta):
https://stackoverflow.com/questions/37456921/delphi-wacom-sdk
He probado el código mencionado, pero evidentemente, las clases que utiliza no estan definidas

Al conectarlo, efectivamente se ha instalado automáticamente y el administrador de dispositivos dice que el 'Digitalizador compatible con HID' funciona correctamente. Lo que no se es por donde continuar.
Gracias de nuevo.

Neftali [Germán.Estévez]
10-04-2019, 10:05:25
Aquí (https://developer-docs.wacom.com/display/DevDocs/faq+stusdk+-+Deployment)(revisando un poco por encima) explica qué son las diferentes DLLs que hay para interactuar con el componente.
Me ha parecido ver que incluye un ActiveX.


Con Delphi puedes interactuar sin problemas con él.


https://i.imgur.com/x5ytAq3.png


Si buscas por el nombre de la DLL (wgssSTU.dll) encontrarás algún enlace más.

Por ejemplo, este manual, donde hay código y explicaciones de cómo acceder (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=2ahUKEwiG8pDkhcXhAhUxx4UKHcDmB3IQFjABegQIBRAC&url=https%3A%2F%2Fdeveloper-docs.wacom.com%2Fdownload%2Fattachments%2F10422197%2FSTU-SDK%2520Getting%2520Started.pdf%3Fversion%3D1%26modificationDate%3D1507901635227%26api%3Dv2&usg=AOvVaw3fTt6CkpOD_-OcimfMWH-p).


https://i.imgur.com/Ai5nCDp.png

(esto confirma lo dicho más arriba).

Si buscas en los foros cómo trabajar desde Delphi con un ActiveX verás que es bastante sencillo.

PEIIB
10-04-2019, 13:56:40
Ha sido un buen empujon pero vuelvo a estar atascado.

He instalado el SDK, pero no vienen los dll mencionados, Estoy en contacto con el proveedor, a ver si me da alguna razon.
Tambien he intentado instalar los componentes ActiveX, pero no viene ningun archivo ocx que lo permita.

Sigo investigando. Si consigo aclarar algo, lo pongo aquí.

Muchas gracias por vuestra ayuda.

Neftali [Germán.Estévez]
11-04-2019, 13:03:25
¿Has instalado este fichero (https://developer-docs.wacom.com/display/DevDocs/STU+SDK+-+Windows#STUSDK-Windows-Downloadinstructions:)?
Según la documentación se debería instalar ese fichero.

PEIIB
11-04-2019, 13:46:29
Sí, lo instalé ayer. Es el SDK. A partir de ahi pude instalar los ActiveX (inicialmente no sabía como pero ya esta solucionado).
El siguiente problema fue que los ejemplos en Delphi que vienen con el SDK, no funcionan en mi entorno. Debido a que los ejemplos estan programados en Delphi XE, y yo uso el anciano Delphi7.
Cambiando los uses, ya corre el programa.

El siguiente problema es: el programa de ejemplo corre, pero cuando le das al botón para capturar la firma me da el mensaje 'Error 103 unexpected code'.
Segun el servicio de Wacom, eso es debido a que faltaba una licencia.
De su web ya he bajado la licencia de evaluacion y la he introducido en el código, siguiendo sus instrucciones.
Ahora estoy en el punto que la ejecución del programa sigue dando el mismo 'Error 103 unexpected code' y eso que me he asegurado de haber introducido exactamente la misma licencia.
Estoy esperando respuesta del servicio técnico a ver que proponen.

Cuando tenga un momento voy a revisar la documentacion del SDK a ver si encuentro mas detalles sobre el error 103. En estos momentos no puedo: ayer perdí todo el día con este tema y no puedo permitirme tanto tiempo 'sin producir' tengo otros proyectos entre manos.
En fin, De un pad que se compro que teoricamente no necesitava Driver, resulta que sí que lo necesita, y ademas necesita una licencia. ¿Que pasara cuando expire la licencia de evaluacion? supongo pagar.
Muy mal resultado me esta dando esta maldita tableta de firmas. EL cliente quiso ahorarse un dinero con ella (modelo antiguo) y la diferencia la estoy pagando yo con creces (en horas de investigacion)

Adjunto el código del programa ejemplo, por si quereis echar un vistazo, o si podeis echar una mano:

procedure TForm1.FormShow(Sender: TObject);
var LicPart1, LicPart2, LicPart3, LicPart4: String; //La llicència que m'han subministrat, en tres parts perque ocupa més de 255 caràcters
begin
LicPart1:= 'eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJMTVMiLCJleHAiOjE1NjI3NTQwMzcsImlhdCI6MTU1NDg5MTYzNy wicmlnaHRzIjpbIlNJR19TREtfQ09SRSIsIlRPVUNIX1NJR05BVFVSRV9FTkFCTEVEIiwiU0lHQ0FQVFhfQUNDRVNTIiwiU0lHX1 NES19JU08iLCJTSUdfU0RLX0VOQ1JZUFR';
LicPart2:= 'JT04iXSwiZGV2aWNlcyI6W10sInR5cGUiOiJldmFsIiwibGljX25hbWUiOiJXSUxMX1NES19mb3Jfc2lnbmF0dXJlIiwid2Fjb2 1faWQiOiJjNWUyZmJlNzg1YTQ0ZjhkYmZmNjQ3Mjk3MWY4Yzc4MSIsImxpY191aWQiOiJiNmZmZmQ4MC1mMjBmLTQ3YjQtOTcxMi 1jY2I1ODZlZDBhMGQiLCJhcHBzX3dpbmR';
LicPart3:= 'vd3MiOltdLCJhcHBzX2lvcyI6W10sImFwcHNfYW5kcm9pZCI6W10sIm1hY2hpbmVfaWRzIjpbXX0.exUPv4JwsLuyHr05KLZQJe 8AzffUazabeq0M8P8hZH_ziYeqguNtt_Jv2Lczn0-HYjxsckeHBw6mUbQ16GQRQuIoct1VzEg21qDka3kSUayzaSuJqul1Ywd9xB381eQ-PA1C9RIj2aQHBdulaSAzoEUCA40';
LicPart4:= '_8AYEyGx6oYkOkDZ2h4eVErCiEp8bnUMJbPVzdL8HWc8qOWMGoRtCMvQ13CNHys0L1bZz_frzznv3_7Ppcs0af1uAWjiHqnNDKZ fmV0B31NwF0qk0N7P96EwrnjyueheEd8jDSIMH0LN90KqhYoipYBNTAC3P49yitGIdSoP6d7WTnmw6jRx03VcTIQ';
SigCtl1.Licence := LicPart1 + LicPart2 + LicPart3 + LicPart4;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
sigCtl: TSigCtl;
res: CaptureResult;
sigObj1: SigObj;
fileName: String;
begin
Memo1.Lines.Add('btnSign was pressed');
sigCtl := TSigCtl.Create(Self);
res := sigCtl.Capture('Who', 'Why');
if res = CaptureOK then
begin
Memo1.Lines.Add('Signature captured successfully');
fileName := 'sig1.bmp';
sigObj1 := SigObj(sigCtl.Signature);
sigObj1.ExtraData['AdditionalData'] := 'Delphi test: Additional data';
sigObj1.RenderBitmap(fileName, 200, 150, 'image/bmp', 0.5, $ff0000, $ffffff, -1.0, -1.0, RenderOutputFilename or RenderColor32BPP or RenderEncodeData);
Image1.Picture.LoadFromFile(fileName);
end
else
begin
Memo1.Lines.Add('Signature capture error res='+IntToStr(res));
case res of
CaptureCancel: begin Memo1.Lines.Add('Signature cancelled'); end;
CaptureError: begin Memo1.Lines.Add('No capture service available'); end;
CapturePadError: begin Memo1.Lines.Add('Signing device error'); end;
else begin Memo1.Lines.Add('Unexpected error code'); end;
end;
end;
end;

En cuanto tenga mas información, la pongo aquí, por si puede ayudar a alguien en el futuro.

Casimiro Notevi
11-04-2019, 14:04:33
¿Licencia para usar la tableta? :confused:

Neftali [Germán.Estévez]
11-04-2019, 16:17:20
¿Licencia para usar la tableta? :confused:

A mi también me suena muy raro...
¿Has preguntado al servicio técnico porqué tienes que pagar la licencia? ¿Por usar el SDK?

Se supone que el SDK te lo proporcioinan ellos, de forma gartuita, para que puedas interactuar con su tableta, sino lo que tienes es un "ladrillo". No lo veo claro.
:confused::confused::confused:

PEIIB
11-04-2019, 16:43:45
Pues sí, ya veis.
Pero ahora que lo veo en su web, és solo para quitar la marca de agua:
The licenses are fully functional but expire 3 months after their creation date. An evaluation license can be renewed when required. In the case of the Signature SDK a signature captured using an evaluation license will be displayed with an 'Evaluation' watermark:
The payload section of the license contains field values including:
license type - evaluation / commercial / enterprise
expiry date
App ID
SDK supported features

Vaya tela. En cualquier caso, veo que eso no deberia ser motivo del error 103 mencionado.

Si. A mi tambien me suena raro... y abusivo. De cualquier modo, primero quiero centrarme en que funcione. Después voy a quejarme por la licencia

Casimiro Notevi
11-04-2019, 17:43:39
:confused::confused::confused:
Yo he usado esos dispositivos, venían con un sdk (creo recordar que activex), lo instalabas y punto. Todo lo demás es extrañísimo.

PEIIB
11-04-2019, 17:53:59
Creo que todo el lío viene por usar un modelo antiguo, que ya de por sí no venia con el SDK

Casimiro Notevi
11-04-2019, 18:33:20
No, si precisamente te hablo de los modelos antiguos, los nuevos no los he usado.

PEIIB
12-04-2019, 11:38:16
Bueno, ya he avanzado un poco mas. Efectivamente, el código de error 103 corresponde a falta de licencia:eek::eek:
O sea, sin licencia no funciona; con licencia de evaluación funciona con marca de agua :mad::mad: de acuerdo que es una mala pasada, pero es así.
He conseguido poner la licencia, en el OnShow, con el código que esta en un anterior mensaje Lo que pasaba es que asignaba el código a un objeto (SigCtrl1) y pretendía utilitzar otro para la firma (SifCtrl) fallo tonto.

Ya funciona el pad: Ya veo la firma en pantalla.
El problema que tengo ahora es en el momento de pasar la imagen a archivo, con el procedimiento 'RenderBitmap' el código:
procedure TForm1.Button1Click(Sender: TObject);
var
res: CaptureResult;
sigObj1: SigObj;
fileName: String;
begin
Memo1.Lines.Add('btnSign was pressed');
res := sig.Capture('Who', 'Why');
if res = CaptureOK then
begin
Memo1.Lines.Add('Signature captured successfully');
fileName := 'sig1.bmp';
sigObj1 := SigObj(sig.Signature);

//código original, da error: sigObj1.ExtraData['AdditionalData'] := 'Delphi test: Additional data';
//código original, da error: sigObj1.RenderBitmap(fileName, 200, 150, 'image/bmp', 0.5, $ff0000, $ffffff, -1.0, -1.0, RenderOutputFilename or RenderColor32BPP or RenderEncodeData);

sigObj1.RenderBitmap(filename, 200, 150,'image/bmp', 0.5, $ff0000, $ffffff, -1.0, -1.0,RenderOutputFilename or RenderColor1BPP); //Simplificado: Tambien da error

Image1.Picture.LoadFromFile(fileName);
end
else
begin
Memo1.Lines.Add('Signature capture error res='+IntToStr(res));
case res of
CaptureCancel: begin Memo1.Lines.Add('Signature cancelled'); end;
CaptureError: begin Memo1.Lines.Add('No capture service available'); end;
CapturePadError: begin Memo1.Lines.Add('Signing device error'); end;
else begin Memo1.Lines.Add('Unexpected error code'); end;
end;
end;
end;
Me da el error:
raised exception class EAccessViolation at address 5DD40DFF in module 'FISigCOM.dll'. Read of address 000013D8 Process stoped. Use Step or Run to continue.

Al continuar, el archivo no ha quedado guardado.
Tenéis idea de cual es el problema ahora?

Neftali [Germán.Estévez]
12-04-2019, 12:04:08
¿Ese archivo lo tienes?
¿Es de la versión correcta?
¿Si es necesario registrarlo, lo has registrado?
:confused::confused::confused:

PEIIB
12-04-2019, 12:20:47
Ooops! Tienes razon! Yo daba por supuesto que el archivo existe en el PC, pero NO! :(
En cuanto a la licencia, creo que bajé el SDK equivocaco: uno con mayores prestaciones que requiere licencia.

Creo que voy a desinstalar el SDk, bajar el correcto y empezar de nuevo. Ya con la experiencia no debería ser tan engorroso. Voy a probar...

PEIIB
12-04-2019, 13:43:20
Bueno, me he precipitado al decir que no estaba el archivo FISigCOM.dll, cuando iba por desinstalar los ActiveX he visto que ellos estaban basados precisamente en ese archivo, así que lo he localizado en el disco duro.
Posteriormente, lo he registrado mediante Regsvr32, para 32 y 64 bits (por si acaso)
Ademas, he puesto una copia del archivo en la misma capeta donde se ejecuta el programa y he reiniciado el PC...
Al ejecutar, sigue dando el mismo fallo.

En cuanto a la versión del SDK, he visto que en la la misma web hay incongruencias. Cuando ves la lista de SDKs disponibles, dice que es libre de costos, pero cuando pinchas ahi, dice que funciona bajo licencia. He visto que la fecha de compilacion del archivo es de febrero de 2019, así que imagino que habrán cambiado la política recientemente. No hay otro SDK. Es ese y punto.

¿Es posible que la misma compilación reciente del SDK lleve el error implicito que me esta apareciendo?
¿No tendreis por ahi un SDK antiguo? (Ademas seria ineteresante poque debe funcionar sin licencia)

Muchas gracias por vuestra ayuda. La verdad que mes esta viniendo muy bien

Saludos
Pei

PEIIB
12-04-2019, 18:04:59
Hola de nuevo,

He descargado otro SDK, lo he encontrado aqui (http://wiki.aliquo.es/Default.aspx?Page=Wacom-Signature-SDK&NS=&AspxAutoDetectCookieSupport=1). Este sí que funciona sin licencia.

Primero he desinstalado todo lo anterior: Los ActiveX y el SDK
He instalado el nuevo SDK, a continuacion los ActiveX, he registrado la DLL en cuestion. En el programa, he cambiado el componente por el nuevo.

He descargado e instalado la versión de 32 bits, y he registrado la DLL también con 32 bits, puesto que Delphi7 funciona en 32bits, aunque la maquina es de 64

La captura de firma funciona (sin licencia :))
Pero al pasar la firma como imagen, me sale exactamente el mismo error:

raised exception class EAccessViolation at address 5DD40DFF in module 'FISigCOM.dll'. Read of address 000013D8 Process stoped.

Alguna idea? Estoy en un callejón sin salida
Gracias

Pei

Neftali [Germán.Estévez]
15-04-2019, 11:30:10
Bueno, me he precipitado al decir que no estaba el archivo FISigCOM.dll, cuando iba por desinstalar los ActiveX he visto que ellos estaban basados precisamente en ese archivo, así que lo he localizado en el disco duro.
Posteriormente, lo he registrado mediante Regsvr32, para 32 y 64 bits (por si acaso)
Ademas, he puesto una copia del archivo en la misma capeta donde se ejecuta el programa y he reiniciado el PC...
Al ejecutar, sigue dando el mismo fallo.



Debes asegurarte de que la versión es correcta para trabajar con el SDK que has descargado.
Creo que no es buena idea mantener varias versiones y asegútare de registrar la correcta.
Yo eliminaría las diferentes copias y dejaría sólo una. Y registrar esa donde estés seguro que el programa la encuentra. En mi caso suelo registrarla en el directorio del EXE.

PEIIB
15-04-2019, 19:09:53
Así lo he hecho, Germán, cuando baje el segundo SDK, ya había borrado previamente todo lo que hacía referencia al anterior. (Carpetas en Archivos de programa/common files incluida) Lo que no había probado era de registrar el archivo DLL en la misma carpeta de ejecución del programa, pero nada, tampoco funciona.
La verdad, estoy por devolver esta tableta (si se puede) y comprar otra de otra marca.

En otro hilo he visto que Casimiro habla bien de las Step Over. Voy a ir averiguando que tal...

PEIIB
30-04-2019, 17:02:25
Ya para cerrar el tema como es debido...

Después de muchas indagaciones, en el servicio técnico de Wacom no acaban de dar con la causa del problema. Dicen que puede ser algo tan simple como 'acces file denied' (que no es eso) pero puesto que el mensaje de error no da ninguna información, me ha sido imposible usar esta tableta de firmas.
Sobre el tema licencia, me han aclarado que solo piden que los desarrolladores nos pongamos en contacto con ellos para obtener una licencia gratuita. Segun ellos, solo es para saber donde se estan usando sus tabletas y para ofrecer el servicio técnico.

Puesto que no fue posible usar esta tableta, me decidí a comprar otra, de Step Over. Aqui todo han sido facilidades: Contacto directo telefónico con el servicio técnico en Madrid, Instalar el SDK y funcionar a la primera. En un par de horas he integrado el funcionamiento de la nueva tableta a mi aplicación. Sin necesidad de archivos DLL, solo incluir un par de uses y basta. Vaya cambio!

Quiero agradecer enormemente la ayuda que me habéis prestado, Neftali y Casimiro. Admiro mucho vuestros aportes, y los del resto de veteranos del foro, que es un recurso valiosísimo para mi trabajo. No acostumbro a preguntar, ya que casi siempre encuentro las respuestas en hilos anteriores. Si alguna vez puedo aportar algo, lo haré, pero reconozco que mi nivel de programación esta bastante por debajo del nivel de este foro, el el que aprendo contínuamente.

Casimiro Notevi
30-04-2019, 17:41:30
Esos funcionan muy bien ^\||/

Neftali [Germán.Estévez]
03-05-2019, 11:18:54
Habría que dejar constancia de eso por si alguien más necesita recomendaciones.

Tableta Step Over ^\||/^\||/^\||/^\||/
Tableta Wacom v\||/v\||/v\||/v\||/

Gracias por la información y el resumen final.