Interceptor-Beispiel: Selbstdefinierter Stempel in Stempel-Dropdown "Benutzerdefiniert"

Vorraussetzung
Embedded Docments in enaio

Stempel mit eigenem Inhalt in der Dropdown Stempelauswahl im Tab „Benutzerdefiniert“ zur Verfügung stellen:

Im Verzeichnis Pfad\zu\enaio\Services\service-manager\data\ed\public\interceptors eine leere JavaScript-Datei anlegen und mit untenstehenden Script befüllen.

JavaScript

class EDCustomDataStamp {
    /*
    instance: Hierbei handelt es sich um dieses Objekt: https://docs.apryse.com/api/web/WebViewerInstance.html#main
    instance.Core: https://docs.apryse.com/api/web/Core.html
    documentViewer: https://docs.apryse.com/api/web/Core.DocumentViewer.html
    tool: https://docs.apryse.com/api/web/Core.Tools.RubberStampCreateTool.html#main
    */

    async updateEditorConfiguration(instance, info, config) {	
		const { documentViewer, Annotations } = instance.Core;

		const tool = documentViewer.getTool('AnnotationCreateRubberStamp');
		// Textfarbe lässt sich nicht konfigurieren (erst in PDFTron Version 8.7+ möglich)
		// nur die Hintergrundfarbe als HTML HEX Farbe möglich
		const customStamps = [{ title: "Zur Post von / am", subtitle: "[$currentUser] DD.MM.YYYY", color: new Annotations.Color('#007bff')},]
		
		tool.setCustomStamps(customStamps);
	}
}
window.ed.registerInterceptor(new EDCustomDataStamp());
2 „Gefällt mir“

Hallo @Brunni, unaufwändig (da API-technisch im Standard) ist es, wenn man die Hintergrundfarbe setzt und sich mit einer weissen Vordergrundfarbe begnügt.

@wk vielen Dank für das Beispiel!

Hallo miteinander,

Danke für das Beispiel! Ich konnte eben den ersten benutzerdefinierten Stempel in Betrieb nehmen.

Viele Grüße vom Bodensee

1 „Gefällt mir“

Gibt es eine einfache Möglichkeit, wie man solche Stempel am Mauszeiger wieder los wird?

image

Spätestens im Anzeigemodus des Dokumentes wäre es doch geschickt, hier wieder den Mauszeiger sehen zu können

@Brunni
ESC drücken sollte den Mauszeiger wieder freigeben.

@wk
Das funktioniert leider nicht. Scheint ein Problem der aktuellen Version (2.0.8) zu sein. Vorher ist mir das zumindest nie aufgefallen.

1 „Gefällt mir“

Guten Abend @Brunni ,

vielen Dank für die Meldung. Ich habe etwas gebraucht den Effekt nachzustellen, aber jetzt ist es mir gelungen. In meinem Test war ich auf einem Dokument im Bearbeitungsmodus auf der Stempel Funktion und bin dann auf ein anderes Dokument im Lesemodus gewechselt.
Man kann den Effekt nur aufheben, wenn man im Bearbeitungsmodus erneut den Stempel auswählt.

Ich werde in Hochdruck versuchen diesen Fehler zu beheben.
Bei uns intern hat das Thema die Ticket Nummer 8730.

Mit freundlichen Grüssen
Ulrich Wohlfeil

2 „Gefällt mir“

Guten Morgen @Brunni,

inzwischen habe ich eine Lösung gefunden.
In Zukunft kann ein Standard-Werkzeug definiert werden (Default wird Textauswahl) welches beim Wechsel zwischen dem Modus (Edit/View) und zwischen Dokumenten gesetzt wird.
Dies kann über die Konfiguration und per Interceptor angepasst werden.

Sie wird in der nächsten Version eingebaut.

Mit freundlichen Grüssen
Ulrich Wohlfeil

Gutem Tag @Brunni,

ich habe gerade ein Ticket seitens Konstanz gelesen und wurde daran erinnert,dass ich vergessen habe Ihnen Rückmeldung zu geben.

Ab der Version 2.0.9 gibt es einen neuen Konfigurationsparameter ed.default-tool über welchen man steuern kann, auf welches Tool der Editor zurückspringen soll. Im Standard ist dies nun die auswählen Funktion grafik.
Dies kann jedoch entweder per Konfiguration oder Interceptor angepasst werden.

Ich hoffe dass dies Ihr Problem lösen sollte.

Hallo,

ich habe das Verhalten mit dem „anhänglichen“ Stempel auch in der Version 2.1.0. Muß ich ich den Parameter ed.default-tool zwingend setzen? Und wie würde der Parameter mit der Angabe des Auswahl Werkzeuges aussehen?

VG
R. Zumbeel

Guten Tag @Warnower,

an sich muss dieser Parameter nicht zwingend gesetzt werden.
Könnte es sein, dass bei Ihnen der Interceptor hier mir rein spielt?

Ich würde Ihnen gerade kurz eine Mail mit Terminvorschlägen senden um sich das Thema gemeinsam in einem Call genauer anzusehen.

Ich habe das Beispiel oben auf die neuste Version von ED angepasst. Leider wurden hier ältere nicht mehr unterstützte Attribute verwendet.

Guten Morgen,
bei mir hat die Einrichtung des Stempels sofort geklappt - danke für das Skript. Die Probleme mit dem ESC tauchen bei mir zum Glück nicht auf. Können den auf diesem Wege mehrere Benutzerdefinierte Stempel angelegt werden? Ich schaffe es aktuell nicht mehr als einen Stempel anzulegen.

Grüße,
Martin Kahl

Hallo Herr Koller,
ich hatte vor einiger Zeit schon Mal nachgefragt. ich schaffe es einfach nicht mehrere Stempel zu hinterlegen. Einmal hat es sporadisch geklappt, aber ich kann mir dir Logik nicht erklären.
Selbst wenn ich „class EDCustomDataStamp(“ nach "class EDCustomDataStamp_Stempel_1)

Hallo @martin.kahl, Sorry für die späte Antwort, mir ist der Thread irgendwie untergegangen. Ich gehe Augrund er Screenshots zunächst davon aus, dass die beiden Klassen nicht den gleichen Namen haben dürfen, d. h. Zeile 1 und Zeile 20 müsste jeweils das EDCustomDataStamp sich zwischen den Files unterscheiden. Vielen Dank für eine Rückmeldung, ob dies hilft.

Ergänzung, jetzt, da ich den ganzen Code nochmals gelesen habe: Ich gehe davon aus, dass die einfachste Änderung wäre, in der eckigen Klammer in Zeile 15 einen weiteren Eintrag in geschweiften Klammern zu ergänzen, d. h.:

const customStamps = [
    { title: "Zur Post von / am", subtitle: "[$currentUser] DD.MM.YYYY", color: new Annotations.Color('#007bff')},
    { title: "Zweiter Stempel", subtitle: "Test", color: new Annotations.Color('#007bff')},
]

Guten Morgen Herr Koller,
die Idee mit den weiteren „titles“ hat funktioniert. Vielen Dank für die Hilfe. Die andere Lösung das sich „EDCustomDataStamp“ in den Files unterscheiden müssen hat leider nicht geholfen.

1 „Gefällt mir“

Super, vielen Dank für das Feedback!

Ich denke, dass die Klassen unterschiedliche Namen haben, ist wichtig. Allerdings denke ich, die Zeile tools.setCustomStamp überschreibt immer alle eigenen Stempel mit dem letzten Wert, deshalb ist es hier wohl besser, alle auf einmal zu setzen.