@tbsoft-gmbh/signature-st
v1.3.7
Published
A library for direct access to the signotec devices. Enabling users to initiate a signing process. Windows only.
Downloads
97
Maintainers
Readme
🖋️ signotect-pad-sdk
A Node.js wrapper around Signotec
STPadLib.dllusingkoffifor interacting with USB signature pads. Designed for standalone Node.js applications.
📦 Installation
npm install @tbsoft/signotect🧱 Requirements
- Windows OS
- Node.js environment (non-browser)
- Signotec USB pad (e.g., Sigma)
- The
lib/STPadLib.dllmust exist relative to your compiled entry - Required asset files:
assets/ok.bmp,cancel.bmp,retry.png,sign_area.png
🚀 Usage
1. Initialize and Detect Devices
import { getSignotecPads } from "@tbsoft/signotect";
const devices = getSignotecPads();
console.log(devices);2. Start a Signature Process
import { startSigningProcess } from "@tbsoft/signotect";
startSigningProcess(
"1000331432",
{
onUserEvent: (event, data) => {
if (event === "cancel") {
console.log("Cancelled:", data.serialNo);
} else if (event === "confirm") {
console.log("Confirmed:", data.serialNo);
const image = data.base64Img;
} else if (event === "clear") {
console.log("Pad cleared for:", data.serialNo);
}
},
onSignatureData: (pt, serialNo) => {
console.log("Live point from", serialNo, ":", pt);
},
},
{
body: {
line1: { label: "Name", content: "Max Mustermann" },
line2: null,
line3: null,
line4: null,
},
footer: {
line1: { label: "Datum", content: "17.06.2025" },
line2: null,
},
}
);3. Cancel or Reset Pad
import { continueWithoutSignature } from "@tbsoft/signotect";
await continueWithoutSignature("1000331432");🧩 Event Handling Types
type SignatureEventHandler = {
(event: "cancel", data: { serialNo: string }): void;
(event: "confirm", data: { serialNo: string; base64Img: string }): void;
(event: "clear", data: { serialNo: string }): void;
};
type SignatureCallbackHandlers = {
onUserEvent: SignatureEventHandler;
onSignatureData?: (point: { x: number; y: number }, serialNo: string) => void;
};📤 Output
- Signature image is returned as a base64 image
- Use
.toString("base64")to display it in frontend if needed - Live data points stream through
onSignatureData
🧾 License
MIT — Includes bindings to proprietary STPadLib.dll
