Das Viewer-Frontend sendet und Empfängt Nachrichten via window.postMessage()(Dokumentation bei MDN), über die der Viewer programmatisch gesteuert werden kann, wenn er über ein iFrame in eine andere Webanwendung eingebettet wird. Damit kann z. B. das Unterschreiben gestartet oder das Speichern ausgelöst werden. Außerdem kann die umgebende Anwendung über bestimmte Ereignisse informiert werden und darauf reagieren.
Mehr dazu hier.