Breadcrumbs

signoAPI Android – Klasse STSignoViewer

Die Klasse STSignoViewer ist das Herzstück der libSignoPDFSigner. Diese Klasse wird zur Anzeige und zum Editieren von PDF-Dokumenten verwendet. Der STSignoViewer kann PDF-Dokumente laden und anzeigen. Es kann durch Gesten gezoomt und geblättert werden, Formularfelder können ausgefüllt und Signaturfelder unterschrieben werden. Sämtliche Methoden der Klasse STSignoSigner gehören auch zur Klasse STSignoViewer, nachfolgend sind nur die zusätzlich enthaltenen aufgeführt.

Anwendung:

Java
STSignoViewer signoViewer = STSignoViewerCreator.createSignoViewer(context, true);

Einige Methoden geben eine Ganzzahl zurück, anhand der ein Fehler erkannt werden kann. Folgende Tabelle enthält die möglichen Fehlercodes:

Fehlercode

Bedeutung

-107

Die Toolbar kann nicht erzeugt werden, weil die Activity bereits über eine Aktionsleiste verfügt. Es muss windowActionBar im Theme auf false gesetzt werden, um stattdessen eine Toolbar zu verwenden.

-160

Es konnte kein Bild zum Einbringen gefunden werden.

-161

Das Bild konnte nicht eingebracht werden.

-162

Das Bild hat eine unzulässige Größe.

-163

Das Bild konnte nicht auf der gewünschten Seite eingebracht werden.

-164

Die Bilddaten sind ungültig oder das Bild hat ein nicht unterstütztes Format.

-165

Die Koordinaten des Bilds liegen außerhalb des sichtbaren Bereichs.

-167

Ein transparentes Bild kann nicht in ein PDF/A-1b-konformes Dokument eingebracht werden.

Methode setSignoViewerNotifier

Mit dieser Methode kann die Instanz einer Klasse festgelegt werden, die das Interface STSignoViewerNotifier implementiert und somit über Ereignisse im STSignoViewer informiert werden soll.

Java
void setSignoViewerNotifier(STSignoViewerNotifier signoViewerNotifier);

Parameter

Bedeutung

STSignoViewerNotifier signoViewerNotifier

STSignoViewerNotifier-Instanz

Rückgabewert

Bedeutung

-

-

 

Anwendung:

Java
STSignoViewerNotifier signoViewerNotifier = new STSignoViewerNotifierImpl();
signoViewer.setSignoViewerNotifier(signoViewerNotifier);

Methode loadDocumentFromFile

Diese Methode übergibt ein PDF-Dokument als Byte-Array an das API oder startet das asynchrone Laden und Anzeigen eines PDF-Dokuments. Wenn das STSignoViewer-Fragment, das für die Anzeige des PDF-Dokuments verwendet wird, noch nicht gestartet wurde, erfolgt lediglich die Übergabe des Dokuments an das API. Um das Dokument in diesem Fall anzuzeigen, muss nach dem Aufruf dieser Methode das STSignoViewer-Fragment gestartet werden. Ist das STSignoViewer-Fragment jedoch bereits gestartet, wird das Dokument nicht nur an das API übergeben, sondern es wird gleichzeitig das asynchrone Laden gestartet und das Dokument im bereits geöffneten STSignoViewer-Fragment angezeigt.

Anschließend wird die Methode STSignoViewerNotifier.documentLoaded() aufgerufen und das Ergebnis dieser Methode kann erhalten werden. Beim erfolgreichen Laden des Dokuments können die Methoden, die Änderungen im Dokument vornehmen, innerhalb der Methode STSignoViewerNotifier.documentLoaded() ausgeführt werden. Für weitere Informationen siehe auch die Methode STSignoViewerNotifier.documentLoaded().

Wenn die STSignoViewer-Instanz als Fragment-Instanz erzeugt wird, ist diese Methode nur zuständig, das PDF-Dokument zu laden. Um das PDF-Dokument anzuzeigen, müssen die Methoden FragmentTransaction.add(), FragmentTransaction.replace() und FragmentTransaction.attach() verwendet werden. Für weitere Informationen siehe auch die Methoden STSignoViewerCreator.createSignoViewer() und STSignoViewerCreator.newInstance().

Java
void loadDocumentFromFile(byte[] documentData);

Parameter

Bedeutung

byte[] documentData

Das zu ladende Dokument als Byte-Array.

Rückgabewert

Bedeutung

-

-

 

Anwendung:

Java
// Wenn der Viewer noch nicht gestartet ist
signoViewer.loadDocumentFromFile(documentData);
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(R.id.docLayout, signoViewer).show(signoViewer).commit();

//oder wenn der Viewer schon gestartet ist
signoViewer.loadDocumentFromFile(documentData);

Methode showToolbar

Mit dieser Methode kann definiert werden, ob die Werkzeugleiste angezeigt werden soll. Sie muss gesetzt werden, bevor die Methode loadDocumentFromFile() aufgerufen wird.

Die Werkzeugleiste enthält derzeit die folgenden vier Schaltflächen:

·        „Zurück“: Ruft die Methode STSignoViewerNotifier.backButtonPressed() auf.

·        „Unterschreiben“: Springt die Signaturfelder der Reihe nach ab.

·        „Signaturfelder“: Ruft die Methode STSignoViewerNotifier.signatureInfoPressed() auf und zeigt ggf. einen Dialog mit den Signaturfeldern des Dokuments an.

·        „Speichern“: Ruft die Methode STSignoViewerNotifier.documentSaved() auf.

Java
void showToolbar(boolean show);

Parameter

Bedeutung

boolean show

true

Die Werkzeugleiste wird angezeigt.

false

Die Werkzeugleiste wird nicht angezeigt.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.showToolbar(true);

Methode startSignature

Diese Methode startet das Erfassen von Unterschriften. Diese Funktionalität kann auch durch die „Unterschreiben“-Schaltfläche in der Werkzeugleiste oder durch das Antippen eines Signaturfeldes im Dokument ausgelöst werden.

Java
int startSignature();
Java
int startSignature(String signatureFieldName);

Parameter

Bedeutung

String signatureFieldName

(Optional) Name des Signaturfeldes, das unterschrieben werden soll; wird kein Name übergeben, werden alle Felder in der Reihenfolge abgesprungen, in der sie in das Dokument eingebracht worden sind.

Rückgabewert

Bedeutung

int

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Anwendung:

Java
int ret = signoViewer.startSignature("customer_signature");
if (ret < 0) {
  // error handling
}

Methode getFormFieldsInfo

Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode getFormFields().

Methode getFormFields

Mit dieser Methode können Informationen über die im Dokument enthaltenen Formularfelder abgerufen werden.

Java
void getFormFields(EnumSet<STFormFieldType> formFieldTypes, STGetFormFieldsCallback getFormFieldsCallback);

Parameter

Bedeutung

EnumSet<STFormFieldType> formFieldTypes

EnumSet-Objekt der Enum-Klasse STFormFieldType

STGetFormFieldsCallback getFormFieldsCallback

Instanz der Callback-Schnittstelle STGetFormFieldsCallback

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.getFormFields(EnumSet.allOf(STFormFieldType.class), new STSignoViewer.STGetFormFieldsCallback() {
    @Override
    public <T extends STFormFieldInfoDTO> void onResponse(List<T> formFields) {
         //get all form fields
    }
});

Interface STGetFormFieldsCallback

Die Interface STGetFormFieldsCallback ist eine Callback-Schnittstelle, deren Methode nach Abschluss der Methode getFormFields() aufgerufen wird.

Java
interface STGetFormFieldsCallback {
    <T extends STFormFieldInfoDTO> void onResponse(List<T> formFields);
}

Methode onResponse

Die Methode wird aufgerufen, wenn die Methode getFormFields() ausgeführt wurde.

Java
<T extends STFormFieldInfoDTO> void onResponse(List<T> formFields);

Parameter

Bedeutung

<T extends STFormFieldInfoDTO> List<T>

Eine Liste mit je einem STFormFieldInfoDTO-Objekt oder einem Objekt der Klasse, die von der Klasse STFormFieldInfoDTO abgeleitet ist, pro Formularfeld oder eine leere Liste, wenn das Dokument keine Formularfelder enthält, die den gesuchten Formularfeldtypen entsprechen.

Rückgabewert

Bedeutung

-

-

Methode setFormFieldsInfo

Mit dieser Methode können der Inhalt und die „read only“-Eigenschaft von Formularfeldern geändert werden.

Java
void setFormFieldsInfo(List<STFormFieldInfoDTO> fields);

Parameter

Bedeutung

List<STFormFieldInfoDTO>

Formularfelder, deren Eigenschaften geändert werden sollen, in Form einer Liste von STFormFieldInfoDTO-Objekten. Von den Objekten werden derzeit nur die Eigenschaften name, value und readOnly ausgewertet.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
List<STFormFieldInfoDTO> formFields = signoViewer.getFormFieldsInfo();
for (STFormFieldInfo formField : formFields) {
  if (formField.name.equals("MyField")) {
      formFields.value = "My value";
      formField.readOnly = true;
  }
}
signoViewer.setFormFieldsInfo.(formFields);

Methode closeViewer

Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode unloadDocument().

Methode unloadDocument

Mit dieser Methode kann das zuletzt mit der Methode loadDocumentFromFile() geladene Dokument entladen, die View entfernt und zurück zur eigenen App-Oberfläche gewechselt werden.

Wenn die STSignoViewer-Instanz als Fragment-Instanz erzeugt wurde, soll die View nicht nur mit der Methode FragmentTransaction.remove() entfernt werden. In jedem Fall soll diese  Methode auch ausgeführt werden. Für weitere Informationen siehe auch die Methode STSignoViewerCreator.createSignoViewer() und STSignoViewerCreator.newInstance().

Java
void unloadDocument();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.unloadDocument();

Methode setCustomTheme

Mit dieser Methode kann das Standard-Design der Werkzeugleiste durch ein benutzerdefiniertes Design ersetzt werden. Die Activity-Klasse im API basiert auf der Android Compability Library v7, was bedeutet, dass das benutzerdefiniertes Design von Theme.AppCombat geerbt werden muss. Im benutzerdefinierten Design können die Primärfarben mit den Attributen colorPrimary, colorAccent und colorPrimaryDark definiert und die Standard-Aktionsleiste des Fensterdekors manuell deaktiviert werden, indem windowActionBar auf false und windowNoTitle auf true gesetzt wird.

Java
void setCustomTheme(int customTheme);

Parameter

Bedeutung

int customTheme

ID des Themes

Rückgabewert

Bedeutung

-

-

Anwendung:

XML
<style name="SignoApiTheme" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
signoViewer.setCustomTheme(R.style.SignoApiTheme);

Methode createNewSignatureField

Diese Methode erzeugt ein neues leeres Signaturfeld.

Java
void createNewSignatureField(STSignatureFieldInfoDTO signatureField, STCreateNewSignatureFieldCallback createNewSignatureFieldCallback);

Parameter

Bedeutung

STSignatureFieldInfoDTO signatureField

Objekt, das die Eigenschaften des neuen Feldes enthält.

STCreateNewSignatureFieldCallback createNewSignatureFieldCallback

Instanz der Callback-Schnittstelle STCreateNewSignatureFieldCallback

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.createNewSignatureField(signatureField, new STCreateNewSignatureFieldCallback() {
    @Override
    public void onFailure(int errorCode) {
       // error handling
    }
 
    @Override
    public void onSuccess() {
       //do anything
    }
});

Interface STCreateNewSignatureFieldCallback

Die Interface STCreateNewSignatureFieldCallback ist eine Callback-Schnittstelle, deren Methoden nach Abschluss der Methode createNewSignatureField() aufgerufen werden.

Java
interface STCreateNewSignatureFieldCallback {
    void onFailure(int errorCode);
    void onSuccess();
}

Methode onFailure

Die Methode wird aufgerufen, wenn bei der Ausführung der Methode createNewSignatureField() ein Fehler aufgetreten ist.

Java
void onFailure(int errorCode);

Parameter

Bedeutung

int errorCode

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung

-

-

Methode onSuccess

Die Methode wird aufgerufen, wenn die Methode createNewSignatureField() erfolgreich ausgeführt wurde.

Java
void onSuccess();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Methode signDocument

Diese Methode fügt dem Dokument eine digitale Signatur hinzu, ohne dass eine Unterschrifterfassung durchgeführt wird.

Java
int signDocument(String signatureFieldName);
Java
void signDocument(String signatureFieldName, STSignDocumentCallback signDocumentCallback);

Parameter

Bedeutung

String signatureFieldName

Name des Signaturfeldes, das signiert werden soll; das Feld darf noch nicht signiert sein. Wenn das Dokument kein Feld mit diesem Namen enthält, wird ein neues Feld auf Seite 1 mit den Koordinaten (0, 0, 0, 0) eingebracht.

STSignDocumentCallback signDocumentCallback

Instanz der Callback-Schnittstelle STSignDocumentCallback

Rückgabewert

Bedeutung

int

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. a.
STSignoViewerNotifier.signingProcessFailed()).

Anwendung (synchrone Ausführung):

Java
int ret = signoViewer.signDocument("final_doc_signature");
if (ret < 0) {
  // error handling
}

Anwendung (asynchrone Ausführung):

Java
signoViewer.signDocument("final_doc_signature ", new STSignoViewer.STSignDocumentCallback() {
    @Override
    public void onFailure(int errorCode) {
       // error handling
    }

    @Override
    public void onSuccess() {
        //do anything
    }
});

Interface STSignDocumentCallback

Die Interface STSignDocumentCallback ist eine Callback-Schnittstelle, deren Methoden nach Abschluss der Methode signDocument() aufgerufen werden.

Java
interface STSignDocumentCallback {
    void onFailure(int errorCode);
    void onSuccess();
}

Methode onFailure

Die Methode wird aufgerufen, wenn bei der Ausführung der Methode signDocument() ein Fehler aufgetreten ist.

Java
void onFailure(int errorCode);

Parameter

Bedeutung

int errorCode

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung

-

-

Methode onSuccess

Die Methode wird aufgerufen, wenn die Methode signDocument() erfolgreich ausgeführt wurde.

Java
void onSuccess();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Methode createViewerRect

Mit dieser Methode kann ein Rechteck auf dem PDF-Viewer angezeigt werden, welches vom Anwender in der Größe und Position verändert werden kann. Zusätzlich zum Rechteck werden zwei Schaltflächen zum Abbrechen und Bestätigen erzeugt. Beim Antippen der „Abbrechen“-Schaltfläche wird die Methode STSignoViewerNotifier.viewerRectCancelled() aufgerufen. Beim Antippen der „Bestätigen“-Schaltfläche wird die Methode STSignoViewerNotifier.viewerRectConfirmed() aufgerufen. Mit Hilfe der Klasse STViewerRectDTO können weitere Eigenschaften des Rechtecks konfiguriert werden. Für weitere Informationen siehe auch die Klasse STViewerRectDTO.

Java
int createViewerRect(STViewerRectDTO viewerRectDTO);

Parameter

Bedeutung

STViewerRectDTO viewerRectDTO

Das STViewerRectDTO–Objekt

Rückgabewert

Bedeutung

int

 > 0

Eindeutige ID des erzeugten Rechtecks.

 -1

Es ist ein Fehler aufgetreten.

Anwendung:

Java
STViewerRectDTO rectViewerDTO = new STViewerRectDTO();
int rectViewId = signoViewer.createViewerRect(rectViewerDTO);

Methode enableAutoRotation

Mit dieser Methode kann das Drehen des Bildschirms gesperrt und entsperrt werden.

void enableAutoRotation(boolean enabled);

Parameter

Bedeutung

boolean enabled

true

Drehen des Bildschirms wird entsperrt.

false

Drehen des Bildschirms wird gesperrt.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.enableAutoRotation(true);

Methode enableTouchEvents

Mit dieser Methode können alle Touch-Events im PDF-Viewer gesperrt und entsperrt werden.

Java
void enableTouchEvents(boolean enabled);

Parameter

Bedeutung

boolean enabled

true

Alle Touch Events werden entsperrt.

false

Alle Touch Events werden gesperrt.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.enableTouchEvents(true);

Methode addImages

Mit dieser Methode können Bilder in das geladene Dokument eingefügt werden.

void addImages(List<STImageDTO> images, STAddImagesCallback addImagesCallback);

Parameter

Bedeutung

List<STImageDTO> images

Eine Liste von STImageDTO-Objekten. Darf null sein, dann werden keine Bilder hinzugefügt.

STAddImagesCallback addImagesCallback

Instanz der Callback-Schnittstelle STAddImagesCallback

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
STRectDTO size = new STRectDTO();
size.setUnit(STRectDTO.Unit.UnitMillimetres);
size.setRectangle(new RectF(0.0f, 0.0f, 210.0f, 297.0f));

STImageDTO imageDTO = new STImageDTO();
Bitmap myimage = BitmapFactory.decodeResource(this.getResources(), R.drawable.myimage);
imageDTO.setImage(myimage);
imageDTO.setRectDTO(size);
imageDTO.setPage(1);

List<STImageDTO> images = new ArrayList<>();
images.add(imageDTO);
signoViewer.addImages(images, new STSignoViewer.STAddImagesCallback(){
    @Override
    public void onFailure(int errorCode) {
        //error handling
    }

    @Override
    public void onSuccess() {
        //do anything
    }
});

Interface STAddImagesCallback

Die Interface STAddImagesCallback ist eine Callback-Schnittstelle, deren Methoden nach Abschluss der Methode addImages() aufgerufen werden.

Java
interface STAddImagesCallback {
    void onFailure(int errorCode);
    void onSuccess();
}

Methode onFailure

Die Methode wird aufgerufen, wenn bei der Ausführung der Methode addImages() ein Fehler aufgetreten ist.

Java
void onFailure(int errorCode);

Parameter

Bedeutung

int errorCode

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung

-

-

Methode onSuccess

Die Methode wird aufgerufen, wenn die Methode addImages() erfolgreich ausgeführt wurde.

Java
void onSuccess();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Methode startTextSearch

Diese Methode sucht nach einem Text auf einer PDF-Seite, hebt ggf. alle Fundstellen visuell hervor und liefert die Positionen aller Fundstellen zurück.

Java
List<Rect> startTextSearch(String text, int page, int highlightColor, boolean onlyWholeWord, boolean caseSensitive);
Java
void startTextSearch(String text, int page, int highlightColor, boolean onlyWholeWord, boolean caseSensitive, STStartTextSearchCallback textSearchCallback);

Parameter

Bedeutung

String text

Text, der gesucht wird.

int page

Seite, auf der der Text gesucht wird. Die erste Seitennummer des Dokuments beginnt mit 1.

int highlightColor

Hintergrundfarbe des Rechtecks, welches den gefundenen Suchtext im PDF-Viewer visuell hervorhebt. Wenn 0 übergeben wird, wird keine Hervorhebung angezeigt.

boolean onlyWholeWord

true

Es werden nur ganze Wörter gefunden.

false

Es werden alle Vorkommen gefunden.

boolean caseSensitive

true

Die Groß-/Kleinschreibung wird berücksichtigt.

false

Die Groß-/Kleinschreibung wird ignoriert.

STStartTextSearchCallback textSearchCallback

Instanz der Callback-Schnittstelle STStartTextSearchCallback

Rückgabewert

Bedeutung

List

Die Positionen aller Fundstellen in Form einer Liste von Rect-Objekten oder eine leere Liste.

Anwendung (synchrone Ausführung):

Java
List<Rect> foundTextPositions = signoViewer.startTextSearch("Signature", 1, null, true, true);
for (Rect rect : foundTextPositions) {
  SignatureFieldInfoDTO field = new SignatureFieldInfoDTO();
  field.setName("New_Signature");
  field.setPage(1);
  field.setRectangle(rect);
  int result = signoViewer.createNewSignatureField(field);
}

Anwendung (asynchrone Ausführung):

Java
signoViewer.startTextSearch("Signature", 1, null, true, true, new STSignoViewer.STStartTextSearchCallback() {
    @Override
    public void onResponse(List<Rect> foundTextPositions) {
        for (Rect rect : foundedTextPositions) {
            SignatureFieldInfoDTO field = new SignatureFieldInfoDTO();
            field.setName("New_Signature");
            field.setPage(1);
            field.setRectangle(rect);
            int result = signoViewer.createNewSignatureField(field);
        }
    }
});

Interface STStartTextSearchCallback

Die Interface STStartTextSearchCallback ist eine Callback-Schnittstelle, deren Methode nach Abschluss der Methode startTextSearch() aufgerufen wird.

Java
interface STStartTextSearchCallback {
    void onResponse(List<Rect> foundTextPositions);
}

Methode onResponse

Die Methode wird aufgerufen, wenn die Methode startTextSearch() ausgeführt wurde.

Java
void onResponse(List<Rect> foundTextPositions);

Parameter

Bedeutung

List<Rect> foundTextPositions

Die Positionen aller Fundstellen in Form einer Liste von Rect-Objekten oder eine leere Liste.

Rückgabewert

Bedeutung

-

-

Methode finishTextSearch

Mit dieser Methode können die visuellen Hervorhebungen, die nach der Ausführung der Methode startTextSearch() an allen Fundstellen des Suchtextes angezeigt werden, aus dem PDF-Viewer entfernt werden.

Java
void finishTextSearch();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.finishTextSearch();

Methode showPageNumber

Mit dieser Methode kann konfiguriert werden, ob die Seitennummer im PDF-Viewer angezeigt wird. Sie wirkt sich nur aus, wenn sie vor der Methode loadDocumentFromFile() aufgerufen wird.

Java
void showPageNumber(boolean show);

Parameter

Bedeutung

boolean show

true

Die Seitennummer wird angezeigt.

false

Die Seitennummer wird nicht angezeigt.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.showPageNumber(true);

Methode scrollToPage

Mit dieser Methode kann das Dokument auf die Höhe einer bestimmten Seite gescrollt werden.

Java
void scrollToPage(int pageNr, boolean smoothScrollingEnabled);

Parameter

Bedeutung

int pageNr

Die Nummer der Seite, auf deren Höhe das Dokument scrollen soll.

boolean smoothScrollingEnabled

“true” aktiviert das animierte Scrollen.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.scrollToPage(3, true);

Methode setSignatureCaptureConfig

Diese Methode setzt eine Instanz der Klasse STSignatureCaptureConfig, in der der Signaturdialog konfiguriert wird. Diese muss mindestens einmal vor der Methode loadDocumentFromFile() gesetzt werden. Allerdings kann die Instanz der Klasse STSignatureCaptureConfig zu jedem Zeitpunkt mit dieser Methode aktualisiert werden.

Java
void setSignatureCaptureConfig(STSignatureCaptureConfig captureConfig);

Parameter

Bedeutung

STSignatureCaptureConfig

Die Instanz der STSignatureCaptureConfig-Klasse

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
STSignatureCaptureConfig captureConfig = new STSignatureCaptureConfig();
captureConfig.setSignatureColor(Color.BLUE);
captureConfig.setLineWidth(4);
captureConfig.setEnableFullScreenCapture(false);
captureConfig.setEnableBiometricDataCapturing(true);
captureConfig.setEnablePressureDependentCapturing(false);
captureConfig.setMarginBottom(30);
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());
signoViewer.setSignatureCaptureConfig(captureConfig);

Methode startNotesMode

Diese Methode ermöglicht die Aktivierung des Notizen-Modus, in dem handschriftliche Notizen zu einem PDF-Dokument hinzugefügt werden können. Während der Notizen-Modus aktiv ist, werden alle Aktionen deaktiviert, die Änderungen am PDF-Viewer bewirken könnten. Der Notizen-Modus funktioniert nicht mit PDF/A-1b-Dokumenten.

Java
void startNotesMode(STNotesConfig notesConfig, STNotesStartCallback notesStartCallback);

Parameter

Bedeutung

STNotesConfig notesConfig

STNotesConfig-Instanz, die verschiedene Eigenschaften des Notizen-Modus definiert wie z. B. die Linienfarbe und die Linienstärke.

STNotesStartCallback notesStartCallback

Instanz der Callback-Schnittstelle STNotesStartCallback

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
STNotesConfig notesConfig =
    new STNotesConfig().withStrokeColor(Color.RED).
    withStrokeWidth(2);

signoViewer.startMode(notesConfig, new STSignoViewer. STNotesStartCallback(){
    @Override
    public void onNotesModeStarted() {
        //success
    }

    @Override
    public void onNotesModeFailedToStart(int errorCode) {
        //error handling
    }
});

Interface STNotesStartCallback

Die Interface STNotesStartCallback ist eine Callback-Schnittstelle, die es ermöglicht zu überwachen, ob der Notizen-Modus erfolgreich gestartet wurde oder aufgrund bestimmter Bedingungen fehlgeschlagen ist.

Java
interface STNotesStartCallback {
    void onNotesModeStarted();
    void onNotesModeFailedToStart(int errorCode);
}

Methode onNotesModeStarted

Die Methode wird aufgerufen, wenn die Methode startNotesMode() erfolgreich ausgeführt wurde.

void onNotesModeStarted();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Methode onNotesModeFailedToStart

Die Methode wird aufgerufen, wenn bei der Ausführung der Methode startNotesMode() ein Fehler aufgetreten ist.

Java
void onNotesModeFailedToStart(int errorCode);

Parameter

Bedeutung

int errorCode

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung

-

-

Methode cancelNotesMode

Diese Methode beendet den aktuell aktiven Notizen-Modus und stellt den ursprünglichen Anzeigemodus des PDF-Viewers wieder her. Alle nicht gespeicherten Notizen gehen verloren. Diese Methode hat keine Auswirkungen, wenn der Notizen-Modus nicht aktiv ist.

Java
void cancelNotesMode();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.cancelNotesMode();

Methode saveAndFinishNotesMode

Diese Methode speichert alle während der aktuellen Notizen-Sitzung vorgenommenen Änderungen und beendet anschließend den Notizen-Modus. Nach dem erfolgreichen Speichern wechselt der Viewer zurück in den Standardmodus. Über die mitgegebene Callback-Schnittstelle kann das Ergebnis des Speichervorgangs verarbeitet werden.

Java
void saveAndFinishNotesMode(STNotesFinishCallback notesFinishCallback);

Parameter

Bedeutung

STNotesFinishCallback notesFinishCallback

Instanz der Callback-Schnittstelle STNotesFinishCallback

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.saveAndFinishNotesMode(new STNotesFinishCallback() { @Override
    public void onFinish(boolean isSaved) {
       if (isSaved) {
          System.out.println("Notes saved successfully!");
       } else {
          System.out.println("No notes have been saved.");
       }
    }
    
    @Override
    public void onFailure(int errorCode) {
        System.err.println("Error " + errorCode + " occurred while saving
    the notes.");
    }
});

Interface STNotesFinishCallback

Die Interface STNotesFinishCallback ist eine Callback-Schnittstelle, die das Ergebnis des Speichervorgangs behandelt.

Java
interface STNotesFinishCallback {
    void onFinish(isSaved);
    void onFailure(int errorCode);
}

Methode onFinish

Diese Methode wird aufgerufen, wenn die Methode saveAndFinishNotesMode() beendet wurde – unabhängig davon, ob Notizen erfolgreich gespeichert wurden oder keine Notizen vorhanden sind.

Java
void onFinish(boolean isSaved);

Parameter

Bedeutung

boolean isSaved

true

Die erstellten Notizen wurden erfolgreich gespeichert.

false

Es erfolgte keine Speicherung, da keine erstellten Notizen vorhanden waren.

Rückgabewert

Bedeutung

-

-

Methode onFailure

Diese Methode wird aufgerufen, wenn während der Ausführung von saveAndFinishNotesMode() ein Fehler auftritt.

Java
void onFailure(int errorCode);

Parameter

Bedeutung

int errorCode

0

Methode wurde erfolgreich ausgeführt.

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung

-

-

Methode changeNotesConfig

Diese Methode ermöglicht die Aktualisierung der Notizen-Konfiguration während des aktiven Notizen-Modus. Änderungen werden sofort übernommen und gelten für alle nachfolgenden Notizen innerhalb der aktuellen Sitzung. Diese Methode kann nur aufgerufen werden, wenn der Notizen-Modus aktiv ist. Bereits erstellte Notizen bleiben unverändert, die Änderungen wirken sich nur auf zukünftige Notizen aus.

Java
void changeNotesConfig(STNotesConfig notesConfig);

Parameter

Bedeutung

STNotesConfig notesConfig

Eine aktualisierte Instanz von STNotesConfig, die die neuen Werte für Linienfarbe und Linienstärke enthält.

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
STNotesConfig notesConfig = new STNotesCofig().withStrokeColor(Color.BLUE).withStrokeWidth(3);
signoViewer.changeNotesConfig(notesConfig);

Methode undoNote

Diese Methode entfernt die zuletzt erstellte Notiz während der aktuellen Notizen-Sitzung. Sie ermöglicht es dem Benutzer, die letzte Aktion rückgängig zu machen, um Fehler zu korrigieren oder Anpassungen vorzunehmen. Diese Methode ist nur im aktiven Notizen-Modus verfügbar und hat keine Auswirkung, wenn in der aktuellen Sitzung keine Notizen erstellt worden sind.

Java
void undoNote();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.undoNote();

Methode redoNote

Diese Methode stellt die zuletzt rückgängig gemachte Notiz im Notizen-Modus wieder her. Sie dient dazu, eine zuvor entfernte Notiz erneut anzuwenden und macht die Aktion von undoNote() rückgängig. Diese Methode ist nur im aktiven Notizen-Modus verfügbar und hat keine Auswirkung, wenn keine Notiz rückgängig gemacht worden ist.

Java
void redoNote();

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

Java
signoViewer.redoNote();