Posted on | February 27, 2012 | No Comments
This project combined a custom application (JasperSign), a Topaz LCD signature pad on local workstations capturing three signatures and a customized installation of PageTech’s PCLTool SDK on a centralized server.
JasperSign is a custom application for collecting signatures as required in the workflow of a trucking dispatch location. The client has a number of warehouses, and a copy of JasperSign runs at each warehouse. JasperSign was designed to run and interface with other custom software developed by their in house developer. JasperSign runs in the background and waits for a specifically formatted .INI file to appear in a watched directory. JasperSign then interacts with an LCD signature pad to collect the signatures required and create a TIFF with an image of the signatures. The client’s software then collects a set of files, including the TIFF signature file, and deposits them in a central directory on a server at the company’s headquarters, which receives files from all the warehouses.
The other PageTech component of this project runs on that central server, to process the files as they arrive from the various warehouses. This server is running PageTech’s HotDirZ to watch the receiving folder, which invokes PCLXForm to process the files as they arrive.
PCLXForm runs a custom TPT script developed for the client, which utilizes functions to:
- Extract 3 signature images from the TIFF signature file
- Scale the signature images appropriately
- Express these signatures as PCL and merge them into PCL files in the proper pages and locations
- Print the appropriate edited PCL files at the appropriate printers
- Convert the collection of edited PCL documents into a single PDF with bookmarks for each document
JasperSign application includes the following hardware resources:
Manufacturer: Topaz Systems
Model: SignatureGem LCD 4×5
Description: SignatureGem LCD 4×5 includes all the high-quality electronic signature capture features of Topaz signature pads with the added feature of a backlit LCD interactive display, allowing users to see “electronic ink” under the pen tip as they sign as well as navigate and display text and graphics. The large signing area and rugged tempered glass signing surface make this a versatile pad for the most demanding applications. It comes bundled with powerful software tools and support for the capture, binding, and authentication of electronic signatures. All software and updates are licensed for use with Topaz tablets at no extra charge and can be downloaded from the Topaz website.
JasperSign application includes the following software resources:
JasperSign.ini INI used by JasperSign.exe
Background.bmp raster image used as background on signature pad
Jasper.tpt PCLXForm script program
Directory TestIn: Your test sample set, with edited version of the INI, which sets the CopyTo directory to:C:\PageTech\Jasper\TestOut
Directory Watch: Directory specified in JasperSign.INI to watch
Directory TestOut: test server directory
- do not plug in the signature pad until step #3.
- run c:\pagetech\jasper\install\sigplus.exe to install the ocx control.
- now plug the pad into a usb port
- Once the pad has been “discovered”, the jaspersign.exe utility can be run.
Using jaspersign.exe utility (preliminary demo)
- run c:\pagetech\jasper\jaspersign.exe
- the window can be minimized if desired
- saved signature file is at : c:\pagetech\jasper\out.tif
- Run (new) JasperSign.exe
- LCD screen should be blank
- Copy files from directory TestIn to directory Watch
- Signature pad should display background and accept signatures
- Tap ‘SEND’ on signature pad
- Files should be moved to directory TestOut, and signature pad should go blank
JasperSign.INI includes settings for:
- path to directory to watch
- a setting which optionally gives directory to save copies to after sending to the server the other settings are specific to the background image
;; INI settings for JasperSign signature utility
;; This file should be in the same directory as JasperSign.exe,
;; and named JasperSign.ini. If you change the name of the executable
;; then also change the name of this INI – the EXE discovers it’s
;; name and constructs the path and filename to this INI from it.
;; The coordinate and dimension values are for the LCD pad, which
;; has a resolution of about 85 dpi.
;; This INI contains :
;; The path and filename of the background image BMP file
;; The pixel width and height dimensions of that BMP file
;; The coordinates of the signature window
;; The coordinates of the ‘Send’ and ‘Clear All’ keys
;; The path to the directory that should be watched for the PCL files and INI
;; The path to a directory to save archive copies into before
;; deleting from the watched directory
;; Path to directory to watch for PCL and INI files to arrive in
WatchDir = C:\PageTech\Jasper\Watch
;; After files are copied to the server, they are deleted from the
;; watched directory. If you’d like these files to be saved elsewhere
;; before being deleted, then specify the path here.
;; If you do not want files to be archived, then leave this blank
;; If the BMP file is in the same directory as the EXE ( and this INI )
;; then leave this path blank. Otherwise put the absolute path portion
;; of the BMP file here. The filename of the BMP is specified in a separate entry.
;; Filename of the BMP file (do not include directory path)
BMP_Name = Background.bmp
;; Width and height of the BMP image in pixels
;; You can view the BMP image in MS Paint, get image attributes.
BMP_PixWidth = 322
BMP_PixHeight = 238
;; Coordinates of the signature window (sytlus won’t mark outside)
SigWin_X = 55
SigWin_Y = 20
SigWin_W = 260
SigWin_H = 170
;; Coordinates of the ‘Send’ and ‘Clear All’ keys
;; The keys are side by side, so Y and H are common to both
Keys_Y = 205
Keys_H = 15
ClrKey_X = 70
ClrKey_W = 60
SendKey_X = 150
SendKey_W = 40
;; end of INI
CopyTo = C:\PageTech\Jasper\Out ; where to copy assembled files
PdfTo = C:\PageTech\Jasper\Out ; where to copy resultant pdf
B01 = C:\PageTech\Jasper\TstPrint\BO1_1.pcl B02 = C:\PageTech\Jasper\TstPrint\BO2_1.pcl B03 = C:\PageTech\Jasper\TstPrint\BO3_1.pcl CHK = C:\PageTech\Jasper\TstPrint\CHK_1.pcl TLY = C:\PageTech\Jasper\TstPrint\TLY_1.pcl
CHK = C:\PageTech\Jasper\TstPrint\CHK_2.pcl
TLY = C:\PageTech\Jasper\TstPrint\TLY_2.pcl
File01 = A0127B01.PCL File02 = A0127B02.PCL File03 = A0127B03.PCL File04 = A0127TLY.PCL File05 = A0128B01.PCL File06 = A0128B02.PCL File07 = A0128B03.PCL File08 = A0128TLY.PCL File09 = A0129B01.PCL File10 = A0129B02.PCL File11 = A0129B03.PCL File12 = A0129CHK.PCL File13 = A0129TLY.PCL
File01 = A0127
File02 = A0128
File03 = A0129
This TPT script takes as input a specifically formatted INI file, and takes action directed by the INI file, operating with PCL
files that accompany the INI file and are listed in the INI, as well as a signature TIFF file named
See the CONFIG: note in the [Fields] section below.
Several run-time settings can be controlled by editing their default values or overriding their defaults on the command line, as specified in the CONFIG: note below.
The INI will list single page PCL files to work with. Each single page PCL file listed is assigned a ‘type’, from the last 3 characters of the 8 character base name.
Some file types, specified in the lookupSignatures table below, will have one or more signatures added. Some file types may be printed, to printers specified in the [Print_1], [Print_2], … sections.
The single page PCL files listed are combined into a single concatenated PCL file, combining all files with the same first-5 characters. The [Pdf_Files] section lists the first-5 sequences in the file set.
The concatenated PCL file can optionally be converted to PDF, controlled by the runtime settings (see CONFIG:).
Another runtime setting (see CONFIG:) causes an existing combined PCL file to be appended to.
The directory that the INI file is placed in can be provided on the command line as inp=<path>, or the InputDir JobParam below can be edited.
The filename of the INI file can be passed on the command line as inf=<filename> or specified in the InFilename
JobParam below. Wildcards are supported however only the first .INI found will be processed.
The output directory is specified on the command line as outp=<path>, or in the OutputPath JobParam below. This setting is only used if the output directory is not specified in the INI file.