Die Klasse STSignatureCapture ist der wichtigste Bestandteil der Bibliothek libSignoSignatureCapture. Diese Klasse kann zur Anzeige eines Dialogs zum Erfassen einer Unterschrift verwendet werden. Die Klasse ist Bestandteil sowohl der libSignoPDFSigner als auch der libSignoSignatureCapture.
Anwendung:
STSignatureCapture signatureCapture = STSignatureCaptureCreator.createSignatureCapture(context);
Methode setSignatureCaptureNotifier
Mit dieser Methode kann die Instanz einer Klasse festgelegt werden, die das Interface STSignatureCaptureNotifier implementiert und somit über Ereignisse im STSignatureCapture informiert werden soll.
void setSignatureCaptureNotifier(STSignatureCaptureNotifier signatureCaptureNotifier);
|
Parameter |
Bedeutung |
|
STSignatureCaptureNotifier signatureCaptureNotifier |
STSignatureCaptureNotifier-Instanz |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
STSignatureCaptureNotifier signatureCaptureNotifier = new STSignatureCaptureNotifierImpl();
signatureCapture.setSignatureCaptureNotifier(signatureCaptureNotifier);
Methode configureDialog
Mit dieser Methode kann der Signaturdialog positioniert und konfiguriert werden. Die Konfiguration wird ignoriert, wenn die Eigenschaft enableFullScreenCapture der Klasse STSignatureCaptureConfig auf true gesetzt wird.
void configureDialog(Rect dialogFrame, STSignatureCaptureConfig captureConfig);
|
Parameter |
Bedeutung |
|
Rect dialogFrame |
Positionsangabe des Signaturdialogs. |
|
STSignatureCaptureConfig captureConfig |
Das STSignatureCaptureConfig–Objekt oder null. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
STSignatureCaptureConfig captureConfig = new STSignatureCaptureConfig();
captureConfig.setSignatureColor(Color.BLUE);
captureConfig.setLineWidth(4);
captureConfig.setEnableFullScreenCapture(false);
captureConfig.setEnableBiometricDataCapturing(true);
captureConfig.setEnablePressureDependentCapturing(false);
captureConfig.setEnableTouchSignature(true);
captureConfig.setEnablePencilSignature(true);
captureConfig.setCaptureTextConfig(new STCaptureTextConfig.Builder()
.displayText("Your signature")
.font(Typeface.create("Arial", Typeface.BOLD))
.textColor(Color.BLACK)
.fontSize(20)
.backgroundColor(Color.YELLOW)
.gravity(STCaptureTextConfig.CaptureGravity.TOP_START)
.marginTop(20)
.marginStart(20)
.paddingStart(10)
.paddingEnd(10)
.paddingTop(10)
.paddingBottom(10)
.build());
signatureCapture.configureDialog(rect, captureConfig);
Methode getSignatureImage
Diese Methode gibt die zuletzt erfasste Unterschrift als Bild im PNG-Format zurück.
byte[] getSignautureImage(float width, float height, int penColor, int penWidth) throws STSignatureCaptureException;
|
Parameter |
Bedeutung |
|
float width |
Maximale Breite des Bildes in Pixeln. |
|
float height |
Maximale Höhe des Bildes in Pixeln. |
|
int penColor |
Farbe der Unterschriftlinie. |
|
int penWidth |
Breite der Unterschriftlinie in Pixeln. |
|
Rückgabewert |
Bedeutung |
|
byte[] |
Das Signaturbild als Byte-Array oder null. |
|
Exception |
Beschreibung |
|
STSignatureCaptureException |
Wird geworfen, wenn bei der Erzeugung des Signaturbilds ein Fehler auftritt. |
Anwendung:
try {
byte[] signatureImage =
signatureCapture.getSignatureImage(1500, 1000, Color.BLUE, 10);
} catch (STSignatureCaptureException e) {
//error handling
}
Methode getSignData
Diese Methode gibt die zuletzt erfasste Unterschrift im SignData-Format zurück.
byte[] getSignData();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
byte[] |
Die SignData als Byte-Array oder null. |
Anwendung:
byte[] signData = signatureCapture.getSignData();
Methode setLicenseKey
Mit dieser Methode kann die Komponente libSignoSignatureCapture freigeschaltet und somit der Demo-Hinweis entfernt werden. Bitte verwenden Sie den Lizenzstring, der Ihnen von Ihrem Kontakt bei signotec mitgeteilt worden ist.
Hinweis: Diese Methode kann nur für Lizenzschlüssel im alten Format verwendet werden. Wenn Sie einen Lizenzschlüssel im neuen UUID-Format (XXXXXXXX–XXXX–XXXX–XXXX–XXXXXXXXXXXX) haben, verwenden Sie bitte die Klasse STLicenceManager.
void setLicenseKey(String licenseKey);
|
Parameter |
Bedeutung |
|
|
String licenseKey |
Lizenzstring |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
signatureCapture.setLicenseKey("1234");
Methode startSignatureCapture
Mit dieser Methode kann die Unterschrifterfassung gestartet werden.
void startSignatureCapture() throws STSignatureCaptureException;
|
Parameter |
Bedeutung |
|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
|
Exception |
Bedeutung |
|
|
STSignatureCaptureException |
Wird geworfen, wenn die Activity-Klasse, deren Kontext beim Aufruf der Methode STSignatureCaptureCreator.createSignatureCapture() übergeben wird, nicht im Vordergrund ist oder beendet wurde. |
|
Anwendung:
try {
signatureCapture.startSignatureCapture();
} catch {
//error handling
}
Methode resizeCaptureDialog
Diese Methode kann die Größe und Position des Signaturdialogs entsprechend der neuen Konfiguration des Signaturdialogs durch die Methode configureDialog() beim Drehen des Geräts ändern und wird i.d.R. in der Methode onConfigurationChanged() der jeweiligen Activity Klasse aufgerufen.
void resizeCaptureDialog();
|
Parameter |
Bedeutung |
|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
signatureCapture.resizeCaptureDialog();