Das Interface STSignoViewerNotifier enthält Methoden, die bei bestimmten Ereignissen von der Klasse STSignoViewer aufgerufen werden. Dieses Interface ist von dem Interface STSignoSignerNotifier abgeleitet und muss von einer Klasse implementiert werden. Die Instanz dieser Klasse muss mit der Methode STSignoViewer.setSignoViewerNotifier() gesetzt werden. Das Interface ist Bestandteil der libSignoPDFSigner.
public interface STSignoViewerNotifier extends STSignoSignerNotifier
public class STSignoViewerNotifierImpl implements STSignoViewerNotifier
Anwendung:
public class STSignoViewerNotifierImpl implements STSignoViewerNotifier {
public void documentLoaded(int resultCode) {
// add your code here...
}
public STSignatureCaptureConfig willStartSigning(String signatureFieldName, STStartSigningCallback callback) {
// add your code here...
}
public List<STFormFieldInfoDTO> signingProcessStarted(String signatureFieldName) {
// add your code here...
}
public void signingProcessConfirmed(String signatureFieldName) {
// add your code here...
}
public void signingProcessCancelled(String signatureFieldName) {
// add your code here...
}
public void signingProcessFailed(String signatureFieldName, String errorMessage, String errorCode) {
// add your code here...
}
}
Methode documentLoaded
Diese Methode wird am Ende der asynchronen STSignoViewer.loadDocumentFromFile() aufgerufen. Im Erfolgsfall können die Änderungen im Dokument vorgenommen werden. (Z. B. können Signaturfelder mit der Methode STSignoViewer.createNewSignatureField() hinzugefügt werden.)
void documentLoaded(int resultCode);
|
Parameter |
Bedeutung |
|
|
int resultCode |
0 |
Die Methode STSignoViewer.loadDocumentFromFile() wurde erfolgreich ausgeführt. |
|
< 0 |
Es ist ein Fehler aufgetreten (s. o.). |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
void documentLoaded(int resultCode) {
// event handling
}
Methode willStartSigning
Diese Methode wird jedes Mal aufgerufen, wenn die Unterschrifterfassung für ein noch nicht unterschriebenes Signaturfeld gestartet werden soll.
void willStartSigning(String signatureFieldName, STStartSigningCallback startSigningCallback);
|
Parameter |
Bedeutung |
|
String signatureFieldName |
Name des Signaturfeldes, für das die Unterschrift erfasst werden soll. |
|
Instanz der Callback-Schnittstelle STStartSigningCallback |
|
|
Rückgabewert |
Bedeutung |
|
- |
- |
Interface STStartSigningCallback
Die Interface STStartSigningCallback ist eine Callback-Schnittstelle mit einer Methode, die den Start der Unterschriftenerfassung steuert.
interface STStartSigningCallback {
void startSigning(boolean shouldStartSigning);
}
Methode startSigning
Die Methode steuert, ob die Unterschriftenerfassung gestartet werden soll.
void startSigning(boolean shouldStartSigning);
|
Parameter |
Bedeutung |
|
|
boolean shouldStartSigning |
true |
Die Unterschrifterfassung soll gestartet werden. |
|
false |
Die Unterschrifterfassung soll nicht gestartet werden. |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
void willStartSigning(String signatureFieldName, STStartSigningCallback startSigningCallback) {
startSigningCallback.startSigning(true);
}
Methode signingProcessStarted
Diese Methode wird aufgerufen, wenn die Unterschrifterfassung für ein noch nicht unterschriebenes Signaturfeld gestartet worden ist.
List<STFormFieldInfoDTO> signingProcessStarted(String signatureFieldName);
|
Parameter |
Bedeutung |
|
String signatureFieldName |
Name des Signaturfeldes, für das die Unterschrift erfasst wird. |
|
Rückgabewert |
Bedeutung |
|
List<STFormFieldInfoDTO> |
Formularfelder, die vor dem Signieren auf „read only“ gesetzt werden sollen, in Form einer Liste von STFormFieldInfoDTO-Objekten, oder null, wenn die Formularfelder nicht verändert werden sollen. Formularfelder, die bereits „read only“ sind, werden nicht verändert. Wenn der Anwender die Unterschrifterfassung abbricht, werden die übergebenen Formularfelder nicht verändert. |
Anwendung:
List<STFormFieldInfoDTO> signingProcessStarted(String signatureFieldName) {
List<STTextFieldInfoDTO> allTextFieldsToDisable = signoSigner.getFormFields(EnumSet.of(TEXT));
return allTextFieldsToDisable;
}
Methode signingProcessConfirmed
Diese Methode wird jedes Mal aufgerufen, wenn die Unterschrifterfassung für ein Signaturfeld erfolgreich beendet und das Dokument fertig signiert ist.
void signingProcessConfirmed(String signatureFieldName);
|
Parameter |
Bedeutung |
|
String signatureFieldName |
Name des Signaturfeldes, für das die Unterschrift erfasst worden ist. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
void signingProcessConfirmed(String signatureFieldName) {
// event handling
}
Methode signingProcessCancelled
Diese Methode wird aufgerufen, wenn die Unterschrifterfassung vom Anwender abgebrochen worden ist, indem er den „Abbrechen“-Button betätigt hat.
void signingProcessCancelled(String signatureFieldName);
|
Parameter |
Bedeutung |
|
String signatureFieldName |
Name des Signaturfeldes, für das die Erfassung abgebrochen worden ist. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
void signingProcessCancelled(String signatureFieldName) {
// event handling
}
Methode signingProcessFailed
Diese Methode wird aufgerufen, wenn die Unterschrifterfassung oder das Einbringen der Unterschrift in das Dokument fehlgeschlagen ist.
void signingProcessFailed(String signatureFieldName, String errorMessage, String errorCode);
|
Parameter |
Bedeutung |
|
String signatureFieldName |
Name des Signaturfeldes, bei dem die Erfassung fehlgeschlagen ist. |
|
String errorMessage |
Beschreibung des Fehlers |
|
String errorCode |
Fehlercode. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
void signingProcessFailed(String signatureFieldName, String errorMessage, String errorCode) {
// event handling
}
Folgende Fehler können auftreten:
|
Fehlercode |
Bedeutung |
|
-108 |
Der Signaturprozess kann nicht gestartet werden. |
|
-120 |
Das Dokument konnte nicht geladen werden. |
|
-121 |
Das Dokument konnte nicht gelesen werden. |
|
-122 |
Das PDF ist passwortgeschützt. |
|
-127 |
Der Schlüsselcontainer enthält keinen privaten Schlüssel. |
|
-128 |
Fehler beim Schreiben der Datei. |
|
-129 |
Fehler beim Signieren des Dokuments. |
|
-130 |
Der Signaturfeldname ist ungültig. |
|
-131 |
Das Zertifikat konnte nicht gelesen werden. |
|
-132 |
Die erfasste Unterschrift ist zu kurz. |
|
-135 |
Der Schlüsselcontainer enthält kein Zertifikat. |
|
-136 |
Die Größe der digitalen Signatur ist zu groß und konnte nicht in das Dokument eingefügt werden. |
|
-137 |
Beim Erstellen des Signaturbildes ist ein Fehler aufgetreten. |
|
-139 |
Das Dokument kann nicht signiert werden, da das Flag 'NeedAppearances' auf true gesetzt ist. |
|
-145 |
Das Dokument konnte aufgrund eines Problems mit der xref-Tabelle nicht signiert werden. |
|
-146 |
Das Dokument konnte aufgrund eines Zeitstempelproblems nicht signiert werden. |
|
-147 |
Das Signatur-Zertifikat konnte nicht im Schlüsselcontainer gefunden werden. |
|
-150 |
Beim Signieren ist ein unbekannter Fehler aufgetreten. |
Methode signatureInfoPressed
Diese Methode wird aufgerufen, wenn die „Signaturfelder“-Schaltfläche in der Werkzeugleiste angetippt worden ist.
boolean signatureInfoPressed();
|
Parameter |
Bedeutung |
|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
boolean |
true |
Die Bibliothek zeigt den Standarddialog mit den Signaturfeldern des Dokuments an. |
|
false |
Die Bibliothek reagiert nicht mehr auf das Event; üblicherweise würde die App dann das Eventhandling übernehmen. |
|
Anwendung:
boolean signatureInfoPressed {
return true;
}
Methode documentSaved
Diese Methode wird aufgerufen, wenn die „Speichern“-Schaltfläche in der Werkzeugleiste angetippt worden ist. Üblicherweise sollte in diesem Event die Methode STSignoViewer.getDocumentAsFile() aufgerufen werden.
boolean documentSaved();
|
Parameter |
Bedeutung |
|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
boolean |
true |
Die „Speichern“-Schaltfläche soll ausgegraut werden. |
|
false |
Die „Speichern“-Schaltfläche soll nicht ausgegraut werden. |
|
Anwendung:
boolean documentSaved() {
// event handling
return true;
}
Methode backButtonPressed
Diese Methode wird aufgerufen, wenn die „Zurück“-Schaltfläche in der Werkzeugleiste angetippt worden ist. Üblicherweise sollte die Methode STSignoViewer.unloadDocument() aufgerufen werden. Für weitere Informationen siehe auch die Methode STSignoViewer.unloadDocument().
void backButtonPressed();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
void backButtonPressed() {
// event handling
}
Methode viewerRectConfirmed
Diese Methode wird aufgerufen, wenn die „Bestätigen“-Schaltfläche eines durch den Aufruf von STSignoViewer.createViewerRect() erzeugten Rechtecks angetippt worden ist. Üblicherweise sollte in diesem Event STSignoViewer.createNewSignatureField() oder STSignoViewer.addImages() aufgerufen werden.
boolean viewerRectConfirmed(Rect rectInPdf, int page, int viewerRectId);
|
Parameter |
Bedeutung |
|
|
Rect rectInPdf |
Position und Größe des Rechtecks auf der Seite im PDF-Koordinatensystem. |
|
|
int page |
Nummer der Seite, auf der das Rechteck bestätigt wurde. Die erste Seitennummer des Dokuments beginnt mit 1. |
|
|
int viewerRectId |
Eindeutige ID des erzeugten Rechtecks. |
|
|
Rückgabewert |
Bedeutung |
|
|
boolean |
true |
Das Rechteck soll ausgeblendet werden. |
|
false |
Das Rechteck soll weiterhin angezeigt werden. |
|
Anwendung:
boolean viewerRectConfirmed(Rect rectInPdf, int page, int viewerRectId {
STSignatureFieldInfoDTO sigField = new STSignatureFieldInfoDTO();
sigField.setName("New_Signature");
sigField.setPage(page);
sigField.setRectangle(rectInPdf);
int result = signoViewer.createNewSignatureField(sigField);
if (result < 0) {
// error handling
return false;
}
return true;
}
Methode viewerRectCancelled
Diese Methode wird aufgerufen, wenn die „Abbrechen“-Schaltfläche eines durch den Aufruf von STSignoViewer.createViewerRect() erzeugten Rechtecks angetippt worden ist.
void viewerRectCancelled(int viewerRectId);
|
Parameter |
Bedeutung |
|
int viewerRectId |
Eindeutige ID des erzeugten Rechtecks. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
void viewerRectCancelled(int viewerRectId) {
// error handling
}