cancel
Showing results for 
Search instead for 
Did you mean: 

Electronic(digital) Signature with PowerBuilder

Former Member
0 Kudos

Hi to all,

I'm looking for a electronic signature capture device(or vendor) that would allow me to capture and save a signature in Oracle database(blob datatype)

or an image (bmp or jpg). Please let me know if you may have or know how to make it work.

Alex Frisman

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Thank you all for assistance. Topaz Signature Pad works great...

I'm able to save image(bmp), save it as a blob  and display the signature from blob in datawindow (using InkPicture control)

Alex Frisman

Former Member
0 Kudos

Will the signatures be collected at run time or known at compile time?

I would like to understand what you're going to do with them. Are you just collecting signatures or wanting to place them on a document like a datawindow. Maybe you want to store the signature on the finished document rather than just store a signature.

Former Member
0 Kudos

We want to be able to do both - place them on a document /datawindow and store them in DB (Oracle)

Alex

Former Member
0 Kudos

We have used the software and signature pads from Topaz Systems.

Electronic Signature Pads and Software | Topaz Systems Inc.

This allows you to add a signature control that you can use anywhere in your application and use the signature pad to collect the signature.


<OPEN Event>

//Sets up the object to receive signatures

ole_sigplus1.object.TabletState = 1

<OK Button>

string ls_signature

  

//Changes flag

ibl_ok = true

//Stores the signature

ls_signature = ole_SigPlus1.object.SigString

ole_SigPlus1.object.ImageFileFormat = 0 //0=bmp, 4=jpg, 6=tif

ole_SigPlus1.object.ImageXSize = 368 //width image in px

ole_SigPlus1.object.ImageYSize = 50 //height image in px

ole_SigPlus1.object.ImagePenWidth = 10 //image pen width in px

ole_SigPlus1.object.JustifyMode = 5 //zoom signature

//Saves the Signature as an image

if (ibl_issuer) then

    ole_SigPlus1.object.WriteImageFile("C:\_APPS\TaDTP\issuer_sig.bmp")

elseif (ibl_employee) then

    ole_SigPlus1.object.WriteImageFile("C:\_APPS\TaDTP\emp_sig.bmp")

elseif (ibl_receiver) then

    ole_SigPlus1.object.WriteImageFile("C:\_APPS\TaDTP\receiver_sig.bmp")

end if

  

//Closes window

CloseWithReturn(parent, ls_signature)

<CLOSE Event>

//Turns off the Signature control

ole_SigPlus1.object.TabletState = 0

Former Member
0 Kudos

Hi Shenn;

Perfect!

Now just use the  FileOpen () and FileReadEx () [stream mode] PB methods to read each "C:\_APPS\TaDTP\xxxxxxxx_sig.bmp" image into a BLOB variable. From there, send the Blob contents to your DBMS via the UpdateBlob SQL command. Once all three files are processed & added to the DB - just COMMIT to complete the process.

HTH

Regards ... Chris

Former Member
0 Kudos

We tried Topaz demo written in PB9, we got PB12 and keep on getting errors "accessing external property tabletstate", 'accessing property sigstring and/or ExportSigFile' I tried to call get in touch with their Dev Tech support but no luck so far

Former Member
0 Kudos

Did you install the Topaz Software and do you have a Topaz Signature Pad?  My guess those errors you are getting are because you haven't installed the software.  So PB is not able to access the control.  We have used it in PB versions 11, 11.5, 12, & 12.5 without any problems.

I also just downloaded the demo, and migrated it to PB 12.5.  No errors for me. 

Former Member
0 Kudos

Hi, Alexei -

PB prior to version 10 used Ansi-encoded strings, so the Topaz interface (written for PB9) is expecting Ansi. PB switched internally to Unicode beginning in version 10, so you need to adjust the external function definitions contained in the demo app accordingly.

Add: ALIAS FOR "function-name-here;ansi" to all of the external function definitions that utilize string/character data. PB will then translate the string data between Unicode & Ansi for you, both coming and going. That should be all you need to do.

HTH,

John

Former Member
0 Kudos

Took some tweaking but it works now!!

Thank you for input

Alex

Former Member
0 Kudos

Hi Alexiei;

  PowerBuilder can do this natively using its InkEdit Control and or InkEdit DataWindow. However you would have to be running the PB application on a tablet or laptop that has a pen input device.

  PowerBuilder can also do this on any iOS or Android device if your PB application is deployed through Appeon. Appeon supports have writing directly to the InkEdit DW or IE Control.

  Once either of the above alternative capture a signature, the standard old UpdateBlob command will do the trick in saving the signature to ant DBMS table that supports Blob data types.

  The final alternative I can think of is to use a 3rd party control and/or OXC/DLL that interfaces your PB Application with a signature device.

HTH

Regards ... Chris

Former Member
0 Kudos

Unfortunately, we dont have pen input devices with PB apps on it... so looks like it is a 3rd party control/vendor solution.

Alex