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:
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.
void setSignoViewerNotifier(STSignoViewerNotifier signoViewerNotifier);
|
Parameter |
Bedeutung |
|
|
STSignoViewerNotifier signoViewerNotifier |
STSignoViewerNotifier-Instanz |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
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().
void loadDocumentFromFile(byte[] documentData);
|
Parameter |
Bedeutung |
|
|
byte[] documentData |
Das zu ladende Dokument als Byte-Array. |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
// 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.
void showToolbar(boolean show);
|
Parameter |
Bedeutung |
|
|
boolean show |
true |
Die Werkzeugleiste wird angezeigt. |
|
false |
Die Werkzeugleiste wird nicht angezeigt. |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
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.
int startSignature();
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:
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.
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:
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.
interface STGetFormFieldsCallback {
<T extends STFormFieldInfoDTO> void onResponse(List<T> formFields);
}
Methode onResponse
Die Methode wird aufgerufen, wenn die Methode getFormFields() ausgeführt wurde.
<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.
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:
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().
void unloadDocument();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
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.
void setCustomTheme(int customTheme);
|
Parameter |
Bedeutung |
|
int customTheme |
ID des Themes |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
<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.
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:
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.
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.
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.
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.
int signDocument(String signatureFieldName);
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.
|
|
Anwendung (synchrone Ausführung):
int ret = signoViewer.signDocument("final_doc_signature");
if (ret < 0) {
// error handling
}
Anwendung (asynchrone Ausführung):
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.
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.
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.
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.
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:
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:
signoViewer.enableAutoRotation(true);
Methode enableTouchEvents
Mit dieser Methode können alle Touch-Events im PDF-Viewer gesperrt und entsperrt werden.
void enableTouchEvents(boolean enabled);
|
Parameter |
Bedeutung |
|
|
boolean enabled |
true |
Alle Touch Events werden entsperrt. |
|
false |
Alle Touch Events werden gesperrt. |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
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:
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.
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.
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.
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.
List<Rect> startTextSearch(String text, int page, int highlightColor, boolean onlyWholeWord, boolean caseSensitive);
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):
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):
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.
interface STStartTextSearchCallback {
void onResponse(List<Rect> foundTextPositions);
}
Methode onResponse
Die Methode wird aufgerufen, wenn die Methode startTextSearch() ausgeführt wurde.
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.
void finishTextSearch();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
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.
void showPageNumber(boolean show);
|
Parameter |
Bedeutung |
|
|
boolean show |
true |
Die Seitennummer wird angezeigt. |
|
false |
Die Seitennummer wird nicht angezeigt. |
|
|
Rückgabewert |
Bedeutung |
|
|
- |
- |
|
Anwendung:
signoViewer.showPageNumber(true);
Methode scrollToPage
Mit dieser Methode kann das Dokument auf die Höhe einer bestimmten Seite gescrollt werden.
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:
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.
void setSignatureCaptureConfig(STSignatureCaptureConfig captureConfig);
|
Parameter |
Bedeutung |
|
Die Instanz der STSignatureCaptureConfig-Klasse |
|
|
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.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.
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:
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.
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.
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.
void cancelNotesMode();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
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.
void saveAndFinishNotesMode(STNotesFinishCallback notesFinishCallback);
|
Parameter |
Bedeutung |
|
STNotesFinishCallback notesFinishCallback |
Instanz der Callback-Schnittstelle STNotesFinishCallback |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
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.
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.
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.
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.
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:
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.
void undoNote();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
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.
void redoNote();
|
Parameter |
Bedeutung |
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
signoViewer.redoNote();