CIB JVIEW&SIGN TECHNISCHER LEITFADEN



Ähnliche Dokumente
CIB INVOICE BEDIENUNGSANLEITUNG

CIB ZUGFERD SDK TECHNISCHE DOKUMENTATION

Benutzerhandbuch bintec R1200 / R1200w(u) / R3000 / R3000w / R3400 / R3800(wu) GRE

Benutzerhandbuch bintec R4100 / R4300 CAPI. Copyright 17. Juli 2006 Funkwerk Enterprise Communications GmbH Version 1.0

Überprüfung der digital signierten E-Rechnung

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Erstellen einer digitalen Signatur für Adobe-Formulare

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

GS-Programme 2015 Allgemeines Zentralupdate

12. Dokumente Speichern und Drucken

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

2. Word-Dokumente verwalten

Benutzerhandbuch bintec R4100 / R4300 Configuration Management. Copyright 17. Juli 2006 Funkwerk Enterprise Communications GmbH Version 1.

1PPP. Copyright 25. Februar 2005 Funkwerk Enterprise Communications GmbH Bintec Benutzerhandbuch - XGeneration Version 1.0

Dokumentation QHMI Plug-In Manager

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Lizenzen auschecken. Was ist zu tun?

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

1 Dokumentenmanagement

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Import des persönlichen Zertifikats in Outlook 2003

Benutzerhandbuch bintec R4100 / R4300 Licenses. Copyright 18. Juli 2006 Funkwerk Enterprise Communications GmbH Version 1.0

Anleitung zur Erstellung des bootfähigen Reddoxx USB-Sticks. versionsunabhängig.

Überprüfung der digitalen Unterschrift in PDF

Kleines Handbuch zur Fotogalerie der Pixel AG

Arbeiten mit dem Outlook Add-In

1CONFIGURATION MANAGEMENT

Installationsanleitung dateiagent Pro

Individuelle Formulare

Internet online Update (Internet Explorer)

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Produktschulung WinDachJournal

FORUM HANDREICHUNG (STAND: AUGUST 2013)

NTT DATA Helpdesk Benutzerhandbuch

Avira Support Collector. Kurzanleitung

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Browserkonfiguration für Internet Explorer 6.0

MARCANT - File Delivery System

PDF-Erzeugung mit PDFCreator (nur für Windows, installiert universellen PDF-Druckertreiber) v11/01

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

Anleitung zur Verwendung der VVW-Word-Vorlagen

Neue Schriftarten installieren

Ihr CMS für die eigene Facebook Page - 1

Installation des edu- sharing Plug- Ins für Moodle

Erstellen eines Formulars

Kommunikations-Management

Import des persönlichen Zertifikats in Outlook Express

Lizenzierung von StarMoney 9.0 bzw. StarMoney Business 6.0 durchführen

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Startseite von Prinect Remote Access

Access Datenbank an JetDBAccess

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

etermin Einbindung in Outlook

Anleitung zum Archive Reader. ab Version

Artikel Schnittstelle über CSV

Onlinehilfe für Texteditor + Signaturpad Stand: Version

IDEP / KN8 für WINDOWS. Schnellstart

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

1PPP. Copyright 18. November 2004 Funkwerk Enterprise Communications GmbH Bintec Benutzerhandbuch - VPN Access Reihe Version 1.0

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

Handbuch zum Excel Formular Editor

etoken mit Thunderbird verwenden

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Office Integration. M. Friedrichs, DEVWARE GmbH

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Bitte melden Sie sich als Administrator des Betriebssystems oder als Benutzer mit ausreichenden Installationsrechten an Ihrem PC an.

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Installationsanleitung CLX.PayMaker Office

tentoinfinity Apps 1.0 EINFÜHRUNG

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

ARCWAY Cockpit. Professional Upgrade. von 3.0 auf 3.1

Einkaufslisten verwalten. Tipps & Tricks

Digital signierte Rechnungen mit ProSaldo.net

Bootapplikation ohne CODESYS laden

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Herzlich willkommen bei der Installation des IPfonie -Softclients!

TeamSpeak3 Einrichten

Kundenleitfaden Installation

Installationsanleitung CLX.PayMaker Home

Kurzeinweisung. WinFoto Plus

Datenaustausch mit dem BVK Data Room

4D Server v12 64-bit Version BETA VERSION

ARAkoll 2013 Dokumentation. Datum:

Transkript:

> Technical Support & Services CIB JVIEW&SIGN TECHNISCHER LEITFADEN Reine Java-Komponente eines Viewers für Dokumente im RTF-, PDF-, Text- und Image-Format mit zusätzlicher Bearbeitung von Signaturfeldern bei PDF- und RTF-Formularen > Stand: 04. Dezember 2014 Version 1.5, Revision 36

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Inhalt INHALT 1 ALLGEMEIN 3 1.1 Hinweis 3 1.2 Autoren 4 1.3 Support 4 1.4 Änderungshistorie 4 1.5 Literaturverweis 4 1.6 Lieferumfang 4 1.1.1 CIB jview&sign für Windows 5 1.7 Lizenzierung 5 1.8 Abkürzungen 5 2 EINFÜHRUNG 6 2.1 Cib jview&sign - Allgemein 6 2.2 Die Programmoberfläche 6 2.3 Konfiguration durch Properties 8 1.1.2 Allgemeine Properties 8 2.4 Konfigurationsdatei (INI-Datei) 17 3 SCHNELLER EINSTIEG 19 3.1 Einbindung des CIB jview&sign in Java 19 3.1.1 Einbindung von Jview&form&sign in eine Java Swing-Applikation 19 3.1.1.1 Integration in Java-Applikation (JFrame) und Anzeige einer PDF-Datei 19 3.1.2 Dynamische Anbindung an die Signaturkomponente Jview&sign 26 3.1.2.1 Interface SignFieldInfo zum Austausch von Informationen über ein Signaturfeld 26 3.1.2.2 Interface SignFieldCallback mit Callback-Methoden zur Information über die Anzahl und den Status der Signaturfelder sowie ihre Aktualisierung 28 3.1.2.3 Interface CustomCloseDialogInfo zum Austausch von Informationen für den CustomCloseDialogCallback 31 4 ABBILDUNGSVERZEICHNIS 34 5 STICHWORTVERZEICHNIS 35 2 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Allgemein 1 ALLGEMEIN 1.1 HINWEIS Copyright 2004-2015 CIB Software GmbH. Alle Rechte vorbehalten. Die CIB Software GmbH behält sich sämtliche Eigentumsrechte an der angebotenen Software und der dazugehörigen Dokumentation vor. Die Benutzung der Software und des dazugehörigen Benutzerhandbuches unterliegen dem der Software zugrundeliegenden Lizenzvertrag. Die Bereitstellung und der Download dieses Dokuments und der Software allein bewirken keine Übertragung von Nutzungs- und Vervielfältigungsrechten. Kein Teil dieses Handbuchs darf ohne schriftliche Genehmigung der CIB Software GmbH in irgendeiner Form reproduziert oder weiterverwertet werden. Auch eine Bearbeitung, insbesondere eine Übersetzung der Dokumentation, ist ohne Genehmigung der CIB Software GmbH nicht gestattet. Der Inhalt dieses Handbuches ist auch urheberrechtlich geschützt, wenn es nicht mit der Software geliefert wird, die eine Endbenutzerlizenzvereinbarung enthält. CIB cosys, CIB webdesk, CIB workbench, CIB dialog, CIB merge, CIB view, CIB format, CIB print, CIB pdf toolbox sind entweder eingetragene Marken oder Marken der CIB Software GmbH. Windows ist eine eingetragene Marke der Microsoft Corporation. Solaris und Java sind Marken bzw. eingetragene Marken von Oracle und ihrer Tochtergesellschaften. Alle anderen Marken- und Produktnamen sind Marken oder eingetragene Marken der jeweiligen Rechteinhaber. Der Inhalt dieses Handbuchs wurde mit größter Sorgfalt erarbeitet. Die Angaben in diesem Handbuch gelten jedoch nicht als Zusicherung von Eigenschaften des Produktes. Die CIB Software GmbH haftet nur im Umfang ihrer Verkaufs- und Lieferbedingungen und übernimmt keine Gewähr für technische Ungenauigkeiten und oder Auslassungen. Die CIB Software GmbH haftet weder für technische oder typographische Fehler und Mängel in diesem Handbuch, noch für Schäden, die direkt oder indirekt auf die Lieferung, Leistung und Nutzung dieses Materials zurückzuführen sind. Die Informationen in diesem Handbuch können ohne Ankündigung geändert werden. Sollten während des Einsatzes Unstimmigkeiten in Zusammenhang mit den Ausführungen in dieser Übersicht auftreten, sind wir Ihnen für entsprechende Hinweise sehr dankbar: CIB Software GmbH Elektrastraße 6a 81925 München E-Mail: cibsupport@cib.de Tel.: 49 (0)89 / 1 43 60 111 Fax.: 49 (0)89 / 1 43 60 100 3 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Allgemein 1.2 AUTOREN CIB Software GmbH - Hubertus Baur (HB) - Abdellatif Zaouia (AZ) 1.3 SUPPORT E-Mail: cibsupport@cib.de Tel.: 49 (0)89 / 1 43 60-111 Fax.: 49 (0)89 / 1 43 60-100 1.4 ÄNDERUNGSHISTORIE Revision Beschreibung Datum 1 / 0 Erstausgabe 06.04.2011 1 / 1 Erweiterungen und neue Properties 18.09.2013 1 / 2 Code-Beispiel für Einbettung in Java Interfaces für SignFieldCallback und Beispiele 07.10.2013 1 / 3 Erweiterungen und neue Properties 15.11.2013 1 / 4 Neue Properties und Copyright 2014 22.01.2014 1 / 5 Neue Properties und Interface CustomCloseDialogCallback 23.04.2014 1.5 LITERATURVERWEIS Dokumentationsart Anwendungsfälle Technischer Leitfaden Titel Anwendungsfälle-Jview&sign TechnischerLeitfadenCIBjview.pdf 1.6 LIEFERUMFANG Modul Softwareumfang 4 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Allgemein CIB Jview&sign Form ist in CIB Jview integriert (als Package) und kann nicht als Standalone Applikation gestartet werden. Das Modul steht nur unter Windows zur Verfügung, da die dafür benötigten nativen Bibliotheken für andere Betriebssysteme nicht vorhanden sind. 1.1.1 CIB jview&sign für Windows Zusätzlich zu den im Technischen Leitfaden für CIB Jview beschriebenen Komponenten enthält das sign-modul die folgenden Komponenten: Verzeichnis Datei Inhalt CIBJview cibpad.ini INI-Datei um die erforderlichen SignPad- Keys zu initialisieren <certificate>.p12 Zertifikat-Datei: nur für DigSig erforderlich CibJview\lib\win32 CibPad32.dll Native Windows-Bibliothek für die Kommunikation mit der SignPad-Hardware 1.7 LIZENZIERUNG Dieses Dokument gibt keine Hinweise zur Lizenzierung. Detaillierte Informationen zu Lizenzierung und den Lizenzmodellen erhalten Sie von den Mitarbeitern des CIB Vertriebs. 1.8 ABKÜRZUNGEN In diesem Dokument werden folgende Abkürzungen benutzt: - DLL Dynamic Link Library - PDF Portable Document Format - RTF Rich Text Format. Leistungsfähiges, standardisiertes Dateiformat zur Beschreibung von Dokumenten. Spezifiziert und offengelegt von Microsoft. - CibSig CIB Signaturfeld - DigSig Acrobat kompatibles Signaturfeld 5 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung 2 EINFÜHRUNG Die vorliegende technische Dokumentation gibt einen Überblick über die Konfigurations- und Einsatzmöglichkeiten nebst Codebeispielen für einen "schnellen Einstieg" in die Thematik. Dieses Kapitel beschäftigt sich dabei mit einem Überblick über die Funktionalitäten und Benutzeroberfläche des Programms. 2.1 CIB JVIEW&SIGN - ALLGEMEIN CIB jview&sign ist eine Erweiterung des von der CIB software GmbH entwickelten Dokument- Viewers CIB jview. Diese Erweiterung schafft die Möglichkeit, elektronische Signaturen in elektronische Dokumente integrieren zu können. Zusammenfassung Hauptfunktionalitäten: Unterschreiben von eingebetteten CIBSig/DigSig-Feldern in PDF-Dokumenten. Unterschreiben von eingebetteten CIBSig-Feldern in RTF-Dokumenten. Öffnen von PDF-Dokumenten, die teilweise oder komplett unterschrieben sind. Einbetten freier anpassbarer Signaturfelder in PDF-Dokumenten. Einbetten freier anpassbarer Signaturfelder in RTF-Dokumenten. Navigieren zwischen Signaturfeldern. Anzeigen einer unterschriebenen Seite auf PAD. Zulassen einen bestimmten Bereich zu unterschreiben. Drucken eines unterschriebenen Dokuments. 2.2 DIE PROGRAMMOBERFLÄCHE Nachdem das Programm gestartet wurde, öffnet sich das Hauptfenster der Anwendung, welches in Abbildung 1 dargestellt ist. 6 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung Abbildung 1: CIB jview&sign Programmoberfläche nach Start des Programms Die Toolbar des Programms enthält unter anderen zwei Buttons die für das Sign-Modul wichtig sind: Navigationsbutton Freie Signatur-Button Nach Klick auf den Navigationsbutton wird zum ersten nicht unterschriebenen Signaturfeld gesprungen und oberhalb des Signaturfelds die Signatur-Toolbar angezeigt. Ebenso wird durch Doppelklicken auf ein Signaturfeld die Signatur-Toolbar oberhalb dieses Signaturfelds angezeigt. Abbildung 2: Signatur Toolbar Die Buttons haben folgende Funktionalität: Signatur starten. Signatur speichern. Signaturfeld aktualisieren. 7 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung Zum vorherigen Signaturfeld navigieren. Zum nachfolgenden Signaturfeld navigieren. Signatur-Informationen (Name, Grund, Ort, Ausrichtung) anzeigen und bearbeiten. Signatur abbrechen oder Signatur-Dialog schließen. Beim Klick auf den Button Signatur-Informationen werden die entsprechenden Felder mit ihrer Vorbelegung angezeigt. Abbildung 3: Informationen zum Signaturfeld Die Feldinhalte können hier geändert werden. Beim Speichern der Signatur werden die Signatur- Informationen mit abgespeichert. 2.3 KONFIGURATION DURCH PROPERTIES 1.1.2 Allgemeine Properties Mit den folgenden Properties können generelle Einstellungen für die Applikation vorgenommen werden. PROPERTY_SIGN_ENABLED sign.enabled Boolean False Diese Property legt fest, ob die Signatur-Komponente aktiviert oder deaktiviert ist. TRUE: Im Menü erscheint der Menüeintrag Signatur und in der Toolbarleiste erscheinen die Buttons n Feld(er) zu signieren und Signaturfeld aufziehen. FALSE: Der Menüeintrag Signatur und die Toolbar-Buttons n Feld(er) zu signieren und Signaturfeld aufziehen werden nicht angeboten. PROPERTY_SIGN_MENU_ENABLED signmenu.enabled Boolean True Diese Property legt fest, ob das Signatur-Menü aktiviert oder deaktiviert ist. 8 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung TRUE: Das Signatur-Menü ist sichtbar. FALSE: Das Signatur-Menü ist ausgeblendet. PROPERTY_SIGN_RESIGN_ENABLED resign.enabled Boolean True Diese Property legt fest, ob das Nacherfassen einer Signatur möglich ist. TRUE: Das Nacherfassen einer Signatur ist möglich. FALSE: Das Nacherfassen einer Signatur ist nicht möglich. PROPERTY_SIGN_SHOW_SIGN showsign.enabled Boolean True Diese Property legt fest, ob die Signatur-Vorschau nach dem Unterschreiben aktiviert ist. PROPERTY_SIGN_SHOW_PAGE_ON_PAD showsignpageonpad. Enabled Boolean Diese Property legt fest, ob die Seiten-Vorschau auf dem Signatur-Pad während des Unterschreibens aktiviert ist. False PROPERTY_SIGN_PAD_SIGNATURECERTI FICATE pad.signaturecertifi cate Diese Property legt das Signatur-Zertifikat für das Signatur-Pad fest. Durch diese Property wird das Signatur-Zertifikat für das Signatur-Pad angegeben. Default: Leerstring, es wird kein Signatur-Zertifikat für das Signatur-Pad gesetzt. String "" PROPERTY_SIGN_PAD_SIGNATUREPRIVA TEPASSWORD pad.signatureprivate Password Diese Property legt das Signatur-Passwort für das Signatur-Pad fest. Durch diese Property wird das Signatur-Passwort für das Signatur-Pad angegeben. Default: Leerstring, es wird kein Signatur-Passwort für das Signatur-Pad gesetzt. String "" 9 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_PAD_HARDWARELICENCE pad.hardwarelicence String "" Diese Property legt die Hardware-Lizenz für das Signatur-Pad fest. Durch diese Property wird die Hardware-Lizenz für das Signatur-Pad angegeben. Default: Leerstring, es wird keine Hardware-Lizenz für das Signatur-Pad gesetzt. PROPERTY_SIGN_PAD_SIGNAPILICENCE pad.signapilicence String "" Diese Property legt die API-Lizenz für das Signatur-Pad fest. Durch diese Property wird die API-Lizenz für das Signatur-Pad angegeben. Default: Leerstring, es wird keine API-Lizenz für das Signatur-Pad gesetzt. PROPERTY_SIGN_PAD_PROVIDER pad.provider String "" Diese Property legt den Signatur-Pad Provider fest. Durch diese Property wird der Name des Signatur-Pad Providers angegeben. Default: Leerstring, es wird kein Signatur-Pad Provider gesetzt. PROPERTY_SIGN_FREE_SIGN_ENABLED freesign.enabled Boolean True Diese Property legt fest, ob das Aufziehen eines freien Signaturfelds erlaubt ist. TRUE: In der Toolbarleiste erscheint ein Button "Signaturfeld aufziehen". FALSE: Der Toolbar-Button "Signaturfeld aufziehen" wird nicht angeboten. PROPERTY_SIGN_REQUIRED_FIRST signrequiredfirst.enabled Boolean False Legt fest ob zuerst durch die notwendigen Signaturfelder navigiert wird. TRUE: Zuerst wird durch die notwendigen Signaturfelder navigiert. FALSE: Es wird durch die Signaturfelder in der normalen Reihenfolge navigiert. PROPERTY_SIGN_START_ON_FLY startsignonfly.enabled Boolean False Legt fest, ob der Signaturvorgang direkt nach der Navigation zu einem Signaturfeld gestartet wird. TRUE: Nachdem zu einem noch nicht unterschriebenen Feld navigiert wurde, wird sofort der Signaturvorgang gestartet. FALSE: Der Benutzer muss nach dem Navigieren den Signaturvorgang selbst starten, indem er im 10 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung Signaturdialog auf den Start-Button klickt. Hinweis: Falls das Dokument keine Formularfelder enthält, wird sofort nach dem Laden eines Dokuments automatisch zum ersten noch nicht unterschriebenen Feld navigiert. Andernfalls kann der Benutzer zuerst die Formularfelder ausfüllen oder ändern und danach zu einem Signaturfeld navigieren. PROPERTY_OVERWRITE_OUTPUTFILE_ ENABLED overwriteoutputfile. Enabled Boolean False Legt fest, dass beim Speichern der ersten Signatur kein Abfrage-Dialog erscheint, wenn das Outputfile bereits existiert. TRUE: Beim Speichern der ersten Signatur erscheint ein Abfrage-Dialog, wenn das Outputfile bereits existiert. FALSE (Default): Beim Speichern der ersten Signatur erscheint kein Abfrage-Dialog, wenn das Outputfile bereits existiert. PROPERTY_SIGN_SAVE_AND_NEXT savesignandnext.enabled Boolean True Legt fest, ob direkt nach dem Speichern einer Signatur zum nächsten nicht ausgefüllten Signaturfeld navigiert wird. TRUE: Direkt nach dem Speichern einer Signatur wird zum nächsten nicht ausgefüllten Signaturfeld navigiert. FALSE: Nach dem Speichern einer Signatur wird nicht zum nächsten Signaturfeld navigiert. PROPERTY_SIGN_SAVE_AND_CLOSE savesignandclose.enabled Boolean False Legt fest, ob das Dokument nach dem Speichern einer Signatur geschlossen wird. TRUE: Das Dokument wird nach dem Speichern einer Signatur geschlossen. FALSE: Das Dokument wird nur geschlossen, wenn das letzte Feld unterschrieben ist. PROPERTY_SIGN_PRINT_ON_SAVE printsignonsave.enabled Boolean False Legt fest, ob das Dokument nach dem Speichern einer Signatur gedruckt wird. TRUE: Das Dokument wird nach dem Speichern einer Signatur gedruckt. FALSE: Das Dokument wird nur gedruckt, wenn das letzte Feld unterschrieben ist. 11 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_PRINTER_NAME printer.name.enabled String Legt den Druckernamen für das Drucken des Dokuments nach dem Speichern der letzten Signatur fest. Default: Leerstring, d.h. der Druckername für das Drucken des Dokuments ist nicht gesetzt. Falls ein Druckername gesetzt und die Property PROPERTY_SIGN_PRINT_ON_SAVE aktiviert ist, wird das Dokument auf den angegebenen Drucker gedruckt, wenn das letzte Feld unterschrieben ist. PROPERTY_SIGN_EXISTING_SIGN FIELD_WARNING existingsignfieldwarning.enabled Boolean True Legt fest, ob eine Warnung erscheint, wenn kein Signaturfeld da ist. TRUE: Eine Warnung erscheint, wenn kein Signaturfeld da ist. FALSE: Wenn kein Signaturfeld da ist, erscheint keine Warnung. PROPERTY_SIGN_DIGSIG_GENERA TED_FIELD generateddigsigfield.ena bled Boolean False Legt fest, ob ein selbst aufgezogenes Feld als DigSig unterschrieben werden kann. TRUE: Erlaubt es, ein selbst aufgezogenes Feld als DigSig zu unterschreiben. FALSE: Erlaubt es nicht, ein selbst aufgezogenes Feld als DigSig zu unterschreiben. PROPERTY_SIGN_REQUIRED_SIZE signrequiredsize Integer 3000 Legt die mindestens benötigte Grösse der Biodaten (in Byte) fest. Wenn diese Mindestgröße beim Leisten der Signatur unterschritten wird, ist die Signatur nicht gültig und kann nicht gespeichert werden. PROPERTY_SIGN_REQUIRED_SIZE _ENABLED signrequiredsize.enabled Boolean True Legt fest, ob die Property PROPERTY_SIGN_REQUIRED_SIZE ausgewertet wird. TRUE: Wenn die in PROPERTY_SIGN_REQUIRED_SIZE gesetzte Mindestgröße beim Leisten der Signatur unterschritten wird, ist die Signatur nicht gültig und kann nicht gespeichert werden. FALSE: Es gibt keine Mindestgröße beim Leisten der Signatur. 12 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_READ_INFO signreadinfo.enabled Boolean True Legt fest, ob die Signatur-Information (Name, Grund, Ort, Ausrichtung) aus der Vorbelegung durch den Signatur-Callback gelesen wird. TRUE: Die Signatur-Information (Name, Grund, Ort, Ausrichtung) wird aus der Vorbelegung durch den Signatur-Callback gelesen. FALSE: Die Signatur-Information (Name, Grund, Ort, Ausrichtung) wird nicht aus der Vorbelegung durch den Signatur-Callback gelesen. PROPERTY_FORM_SIGNED_LOCK_EN ABLED formsignedlock.enabled Boolean True Diese Property legt fest, ob das Ausfüllen der Formularfelder gesperrt wird, wenn in einem Formular mindestens ein Signaturfeld unterschrieben ist. TRUE: Wenn in einem Formular mindestens ein Signaturfeld unterschrieben ist, wird das Ausfüllen der Formularfelder gesperrt und es erscheint eine Hinweismeldung. FALSE: Das Ausfüllen der Formularfelder wird nicht gesperrt, auch wenn in einem Formular mindestens ein Signaturfeld unterschrieben ist. PROPERTY_SIGN_NOT_FILLED_FORM_ WARNING signnotfilledformwarn ing.enabled Boolean True Diese Property legt fest, ob eine Hinweismeldung erscheint, wenn in einem nicht ausgefüllten Formular ein Signaturfeld unterschrieben wird. TRUE: Wenn in einem nicht ausgefüllten Formular ein Signaturfeld unterschrieben wird, erscheint eine Hinweismeldung, dass danach keine weiteren Formularfelder ausgefüllt werden können. FALSE: Wenn in einem nicht ausgefüllten Formular ein Signaturfeld unterschrieben wird, erscheint keine Hinweismeldung, dass danach keine weiteren Formularfelder ausgefüllt werden können. PROPERTY_SIGN_SIGNATURE_ALIGNMENT signature.alignment String 2 Legt fest, mit welcher Ausrichtung die Signatur innerhalb des Signaturfeldes gespeichert wird. 1 = Die Signatur wird linksbündig gespeichert 2 = Die Signatur wird zentriert gespeichert (Default) 3 = Die Signatur wird rechtsbündig gespeichert 13 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_USEWINTAB sign.usewintab String 0 Diese Property legt fest, ob zur Signaturerfassung kein Signatur-Eingabegerät (Signaturpad), also z.b. ein Windows-Tablet verwendet wird. 0 (Default): Zur Signaturerfassung wird ein Signatur-Eingabegerät (Signaturpad) verwendet. 1: Zur Signaturerfassung ist kein Signatur-Eingabegerät, sondern z.b. ein Windows-Tablet vorgesehen. Falls der PC kein Tablet ist und ein Signaturpad angeschlossen ist, wird dieses angesteuert und verwendet. 7: Zur Signaturerfassung wird in jedem Fall ein Windows-Tablet angesteuert und verwendet. Falls der PC kein Tablet ist, erscheint eine Fehlermeldung, auch wenn ein Signaturpad angeschlossen ist. PROPERTY_SIGN_SELECT_DIALOG sign.selectdialog String Standard Diese Property legt die Art des angezeigten Signaturdialogs fest. Standard (Default): Zur Signaturerfassung wird der Standard-Dialog verwendet. Extended: Zur Signaturerfassung wird der erweiterte Dialog auf dem Signatur-Display verwendet. PROPERTY_SIGN_ACCEPT_BUTTONTEXT sign.acceptbutton Text String OK Diese Property legt Text des angezeigten Accept-Buttons fest. <Text>: Im Signatur-Dialog wird als Accept-Button-Text der angegebene Text angezeigt. (Default): Im Signatur-Dialog wird als Accept-Button-Text OK angezeigt. PROPERTY_SIGN_CANCEL_BUTTONTEXT sign.cancelbutton Text String Abbrechen Diese Property legt Text des angezeigten Cancel-Buttons fest. <Text>: Im Signatur-Dialog wird als Cancel-Button-Text der angegebene Text angezeigt. (Default): Im Signatur-Dialog wird als Cancel-Button-Text Abbrechen angezeigt. PROPERTY_SIGN_REPEAT_BUTTONTEXT sign.repeatbutton Text String Wiederholen Diese Property legt Text des angezeigten Repeat-Buttons fest. <Text>: Im Signatur-Dialog wird als Repeat-Button-Text der angegebene Text angezeigt. (Default): Im Signatur-Dialog wird als Repeat-Button-Text Wiederholen angezeigt. 14 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_WINDOWTEXT sign.windowtext String Unterschrift Diese Property legt den Text für den Titel des Dialogfensters fest, das zur Signaturerfassung angezeigt wird. <Text>: Im Signatur-Dialog wird als Titel der angegebene Text angezeigt. (Default): Falls die Property nicht gesetzt ist, wird als Titel Unterschrift angezeigt. PROPERTY_SIGN_PAD_TEXT LcdText String Diese Property legt den Text fest, der auf dem Signaturpad angezeigt wird. <Text>: Auf dem Signaturpad wird der angegebene Text angezeigt. (Default): Auf dem Signaturpad wird kein Text angezeigt. PROPERTY_SIGN_PAD_TEXT_NAME_ REASON LcdTextNameReason Boolean False Diese Property legt fest, ob Name und Grund jedes Signaturfelds als Text auf dem Signaturpad angezeigt wird. TRUE: Name und Grund jedes Signaturfelds werden als Text auf dem Signaturpad angezeigt, falls diese nichtleer sind. Andernfalls wird der in der Property PROPERTY_SIGN_PAD_TEXT festgelegte Text angezeigt. FALSE (Default): Auf dem Signaturpad wird der in der Property PROPERTY_SIGN_PAD_TEXT festgelegte Text angezeigt. PROPERTY_SIGN_PAD_TEXTXPOS LcdTextXPos String 0 Diese Property legt die X-Position des auf dem Signaturpad angezeigten Texts fest. <X>: Der auf dem Signaturpad angezeigte Text beginnt ab der angegebenen X-Position. (Default): Der auf dem Signaturpad angezeigte Text beginnt ab der X-Position 0. PROPERTY_SIGN_PAD_TEXTYPOS LcdTextYPos String 0 Diese Property legt die Y-Position des auf dem Signaturpad angezeigten Texts fest. <Y>: Der auf dem Signaturpad angezeigte Text beginnt ab der angegebenen Y-Position. (Default): Der auf dem Signaturpad angezeigte Text beginnt ab der Y-Position 0. 15 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_PAD_TEXTFONTNAME LcdTextFontName String Arial Diese Property legt die Schriftart des auf dem Signaturpad angezeigten Texts fest. <FontName>: Der auf dem Signaturpad angezeigte Text wird in der Schriftart FontName angezeigt. (Default): Die Standardschriftart ist Arial PROPERTY_SIGN_PAD_TEXTFONTSIZE LcdTextFontSize String 12 Diese Property legt die Schriftgröße des auf dem Signaturpad angezeigten Texts fest. <FontSize>: Der auf dem Signaturpad angezeigte Text wird in der Schriftgröße FontSize angezeigt. PROPERTY_SIGN_PAD_TEXTFONTSTYLE LcdTextFontStyle String Normal Diese Property legt den Schriftstil des auf dem Signaturpad angezeigten Texts fest. <FontStyle>: Der auf dem Signaturpad angezeigte Text wird im Schriftstil FontStyle angezeigt. Mögliche Werte für Font-Style sind Normal, Bold, Italic, Underline. Kombinationen dieser Schriftstile sind nicht möglich. PROPERTY_SIGN_PAD_FILENAME LcdFileName String Diese Property legt den Dateinamen der auf dem Signaturpad angezeigten Bitmap fest. <FileName>: Auf dem Signaturpad wird die in der Datei <FileName> enthaltene Bitmap angezeigt. (Default): Auf dem Signaturpad wird keine Bitmap angezeigt. PROPERTY_SIGN_PAD_PENWIDTH LcdPenWidth String "12" Diese Property legt die Linienbreite der auf dem Signaturpad erfassten Signatur fest. <PenWidth>: Die auf dem Signaturpad erfasste Signatur hat die angegebene Linienbreite. (Default): Die auf dem Signaturpad erfasste Signatur hat die Linienbreite 12. 16 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung PROPERTY_SIGN_SENSORSIGNRECT sign.sensorsignrect String "0;0;0;0" Diese Property legt das Rechteck zur Signaturerfassung auf dem Signaturpad fest. Werte: "<left>;<top>;<right>;<bottom>" (Default): "0;0;0;0". PROPERTY_SIGN_CONTROLMIRROR DISPLAY sign.controlmirrordisplay String "1" Diese Property legt fest, wie der Inhalt des LCD-Displays im Kontrollelement angezeigt wird. Mögliche Werte: "0" = Keine Anzeige im Kontrollelement "1" = Die Signatur wird in Echtzeit im Kontrollelement angezeigt. "2" = Die Signatur sowie Bitmaps und Text werden in Echtzeit im Kontrollelement angezeigt. (Default): "1" PROPERTY_SIGN_PAD_STANDBYNAME LcdStandbyName String "" Diese Property setzt den Dateinamen der auf dem Signaturpad permanent angezeigten Bitmap. (Default): Leerstring, d.h. es wird keine neue Bitmap gesetzt. 2.4 KONFIGURATIONSDATEI (INI-DATEI) Die bisher in CIB jview&sign verwendete Konfigurationsdatei cibpad.ini wird nicht mehr benötigt. Die in dieser Datei enthaltenen Schlüssel, die für die Kommunikation mit der SignPad-Hardware wichtig sind, wurden durch entsprechende Properties ersetzt (siehe oben). Folgende Schlüssel aus der INI-Datei wurden durch Properties ersetzt: [License Information] JCibView.Sign.SIGNATURECERTIFICATE= <MyCompanyCert>.p12 JCibView.Sign.SIGNATUREPRIVATEPASSWORD=<MyPrivatePassword> JCibView.Sign.HARDWARELICENCE=<MyHardwareLicense> JCibView.Sign.SIGNAPILICENCE=<MySignApiLicense> JCibView.Sign.PROVIDER=signotec-signpad Die untenstehenden Signatur-Information aus der INI-Datei können nun über den SignFieldCallback-Listener beim Laden des Dokuments dynamisch gesetzt werden: [Signature Information] 17 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Einführung JCibView.Sign.Info-Name.0=Herr X JCibView.Sign.Info-Reason.0=Empfangsbestätigung Unterlagen nach 7 VVG JCibView.Sign.Info-Name.1=Herr X JCibView.Sign.Info-Reason.1=Antragsteller (Versicherungsnehmer) JCibView.Sign.Info-Name.2=Gertrud Faulhaber Und Ewering JCibView.Sign.Info-Reason.2=Statuserklärung des Vermittlers 18 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG 3 SCHNELLER EINSTIEG Dieses Kapitel zeigt Ihnen in einem Kurzüberblick die mögliche Einbindung von Jview&form&sign in Java an Hand von Code-Beispielen. 3.1 EINBINDUNG DES CIB JVIEW&SIGN IN JAVA In den unteren Abschnitten finden Sie Code-Beispiele für den Aufruf von CIB Jview, verbunden mit der Versorgung durch Properties für Jview&form&sign. Vergewissern Sie sich, dass die CIB office module sich im Library Path der Java Virtual Machine (JVM) und die benötigten JAR-Dateien in einem Classpath-Verzeichnis befinden. 3.1.1 Einbindung von Jview&form&sign in eine Java Swing-Applikation 3.1.1.1 Integration in Java-Applikation (JFrame) und Anzeige einer PDF-Datei import java.awt.borderlayout; import java.awt.toolkit; import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.io.ioexception; import java.util.list; import javax.swing.action; import javax.swing.jframe; import javax.swing.swingutilities; import javax.swing.windowconstants; import com.cib.comod.jobs.icibformatjob; import de.cib.gui.framework.icibapplication; import de.cib.gui.framework.icibrecapplication; import de.cib.gui.framework.jcibapplication; import de.cib.gui.util.trace.jcibtrace; import de.cib.view.modules.sign.signfieldcallback; import de.cib.view.modules.sign.signfieldinfo; public class JCibViewFormSignRunner { public static final String TEST_FILENAME = "test_sign.pdf"; public static void main(java.lang.string[] args) { // activate / deactivate traces 19 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG JCibView.enableDebug(true); JCibTrace.setTraceLevel(JCibTrace.LEVEL_INFO); // create a new viewer instance JCibView viewer = new JCibView(); // set license information to the viewer setlicenseinformation(viewer); // set input file (optional) viewer.setproperty(icibapplication.property_inputfile, TEST_FILENAME); // create a new jrec2 instance and set properties initjrec2(viewer); // set programmatically properties to the viewer setviewerproperties(viewer); // set properties for &form setformproperties(viewer); // set properties for &sign setsignproperties(viewer); // set properties to the viewer given by command line setcommandlineproperties(viewer, args); // create and show GUI createandshowgui(viewer); // register SignFieldCallbackTester viewer.setsignfieldcallback(new SignFieldCallbackTester()); private static void createandshowgui(final JCibView viewer) { // create a test jframe to embedd the viewer in it. final JFrame viewerframe = createviewerframe(); // connect the test frame to the viewer viewer.setframe(viewerframe); viewerframe.getcontentpane().add(viewer, BorderLayout.CENTER); // couple window closing to exit hook of viewer application viewerframe.setdefaultcloseoperation( WindowConstants.DO_NOTHING_ON_CLOSE); viewerframe.addwindowlistener(new WindowAdapter() { 20 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG public void windowclosing(windowevent e) { Action t_action = viewer.getactionmap().get(icibapplication.action_exit); if (t_action!= null) t_action.actionperformed(null); ); System.exit(0); // here special exit operations can be implemented // which will be executed when the viewer gets closed viewer.setexithook(new Runnable() { public void run() { // do post processing here viewer.stop(); ); // unregister SignFieldCallbackTester viewer.setsignfieldcallback(null); // start and run the viewer viewer.load(); viewer.start(); // show frame in which the viewer is embedded SwingUtilities.invokeLater(new Runnable() { public void run() { viewerframe.setvisible(true); ); private static void initjrec2(jcibview viewer) { // create jrec2 instance without starting it JCibApplication t_cibrec = viewer.getrec(false); if (t_cibrec!= null) { // embedded jrec2 doesn't need Jrec-Ini file t_cibrec.setproperty(icibrecapplication. PROPERTY_JREC_INIFILENAME, null); // Activate OK/Cancel icons in JRec toolbar t_cibrec.setproperty(icibrecapplication. PROPERTY_REC_SHOW_OK_CANCEL_ICON, Boolean.TRUE); // Enable hyphenation 21 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG t_cibrec.setproperty(icibrecapplication. PROPERTY_HYPHENATION_ENABLED, Boolean.TRUE); // Set hyphenation dictionary path t_cibrec.setproperty(icibrecapplication. PROPERTY_HYPHENATION_DICTIONARY_PATH, "./lib/dict/"); // Enable spell checking t_cibrec.setproperty(icibrecapplication. PROPERTY_SPELLCHECKING_ENABLED, Boolean.TRUE); // Set spell checking dictionary path t_cibrec.setproperty(icibrecapplication. PROPERTY_SPELLCHECKING_DICTIONARY_PATH, "./lib/dict/"); try { String currentdir = new java.io.file(".").getcanonicalpath(); currentdir += "/lib"; JCibTrace.trace("Current lib directory: " + currentdir, JCibTrace.LEVEL_INFO, true); currentdir += "/win32"; t_cibrec.setproperty(icibrecapplication. PROPERTY_SPELLCHECKING_NATIVE_LIBRARY_PATH, currentdir); t_cibrec.setproperty(icibrecapplication. PROPERTY_SPELLCHECKING_LANGUAGE, "de_de"); catch (IOException e) { e.getmessage(); private static JFrame createviewerframe() { JFrame res = new JFrame(); res.settitle("cib Jview&form&sign "); // 75 % of the screen width and height int framewidth = (int) ((Toolkit.getDefaultToolkit().getScreenSize().getWidth()) * 0.75); int frameheight = (int) ((Toolkit.getDefaultToolkit().getScreenSize().getHeight()) * 0.75); // restore the frame's last position res.setsize(framewidth, frameheight); return res; 22 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG private static void setlicenseinformation(jcibview viewer) { viewer.setproperty(icibformatjob.property_licensecompany, ""); viewer.setproperty(icibformatjob.property_licensekey, ""); private static void setviewerproperties(jcibview viewer) { viewer.setproperty( ICibApplication.PROPERTY_MENU_ENABLED, Boolean.FALSE); viewer.setproperty( ICibApplication.PROPERTY_DRAG_AND_DROP_ENABLED, Boolean.TRUE); viewer.setproperty( ICibApplication.PROPERTY_SHOWJPRINTDIALOG, Boolean.FALSE); viewer.setproperty( ICibApplication.PROPERTY_THUMBNAILS_ENABLED, Boolean.TRUE); private static void setformproperties(jcibview viewer){ viewer.setproperty( ICibApplication.PROPERTY_FORM_ENABLED, Boolean.TRUE); /* * Type: Integer: 1=red, 2=yellow, 3=magenta, 4=cyan, * 5=gray, 6=green, 7=blue, 8=back. * Default: 7 viewer.setproperty(icibapplication. PROPERTY_DEFAULT_FORM_HIGHLIGHTING_COLOR, 6); /* * Type: Integer: 0-255 * Default: 100 viewer.setproperty(icibapplication. PROPERTY_DEFAULT_FORM_HIGHLIGHTING_COLOR_TRANSPARENCY, 75); /* * Type: Boolean * Default: true // viewer.setproperty(icibapplication. // PROPERTY_FORM_SIGNED_LOCK_ENABLED, Boolean.FALSE); private static void setsignproperties(jcibview viewer){ /* 23 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG * Type: Boolean * Default: false viewer.setproperty(icibapplication. PROPERTY_SIGN_ENABLED, Boolean.TRUE); /* * Type: Boolean * Default: true viewer.setproperty(icibapplication. PROPERTY_SIGN_FREE_SIGN_ENABLED, Boolean.FALSE); /* * Type: String * Default: "" viewer.setproperty(icibapplication. PROPERTY_SIGN_PAD_PROVIDER, "signotec-signpad"); /* * Type: String * Default: "" viewer.setproperty(icibapplication. PROPERTY_SIGN_PAD_SIGNATURECERTIFICATE, "MyCompanyCert.p12"); /* * Type: String * Default: "" viewer.setproperty(icibapplication. PROPERTY_SIGN_PAD_SIGNATUREPRIVATEPASSWORD, "MyPrivatePassword"); /* * Type: String * Default: "" viewer.setproperty(icibapplication. PROPERTY_SIGN_PAD_HARDWARELICENCE, "MyHardwareLicense"); /* * Type: String * Default: "" 24 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG viewer.setproperty(icibapplication. PROPERTY_SIGN_PAD_SIGNAPILICENCE, "MySignApiLicense"); /* * Type: Boolean * Default: true // viewer.setproperty(icibapplication. // PROPERTY_SIGN_NOT_FILLED_FORM_WARNING, Boolean.FALSE); /* * Type: Integer * Default: 3000 Bytes viewer.setproperty(icibapplication. PROPERTY_SIGN_REQUIRED_SIZE, 1000); /* * Type: String * Values: 1 = linksbündig, 2 = zentriert, 3 = rechtsbündig * Default: 2 = zentriert viewer.setproperty(icibapplication. PROPERTY_SIGN_SIGNATURE_ALIGNMENT, 2); // Generate DigSig fields (RTF case) viewer.setproperty("usedigitalsignaturewidgets", 1); viewer.setproperty("needappearancessignaturewidgets", 0); private static void setcommandlineproperties( JCibView viewer, String[] args) { // set properties which were set via command line if (args.length == 0) return; for (int i = 0; i < args.length; i++) { String argument = args[i]; if (argument == null) continue; // ignore tracing, it is set to true by default if (argument.equals("-t")) continue; // a property is set as "-propertyname value" // or as "inputfile" 25 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG if (argument.startswith("-")) { viewer.setproperty(argument.substring(1), args[i+1]); i++; else { viewer.setproperty(icibapplication. PROPERTY_INPUTFILE, args[i]); 3.1.2 Dynamische Anbindung an die Signaturkomponente Jview&sign In CIB Jview sind auch Funktionen zur Anbindung an die Formularkomponente Jview&sign integriert. Dazu sind Datenstrukturen und Callback-Methoden definiert, die in den folgenden Abschnitten beschrieben werden. 3.1.2.1 Interface SignFieldInfo zum Austausch von Informationen über ein Signaturfeld Die Datenstruktur SignFieldInfo dient zum Austausch von Informationen über ein Signaturfeld, sie ist im CIB jview (package de.cib.view.modules.sign) definiert. Interface SignFieldInfo (extends FieldInfo): package de.cib.view.modules.sign; import de.cib.view.modules.fieldinfo; /** * Interface representing the sign field info for information exchange. * * It allows information exchange about a list of sign fields e.g. via * interface SignFieldCallback. * @see FieldInfo * @see SignFieldCallback public interface SignFieldInfo extends FieldInfo { public String getreason(); public void setreason(string reason); public String getsignername(); 26 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG public void setsignername(string signername); public String getlocation(); public void setlocation(string location); public boolean issigned(); public String gettimestamp(); Interface FieldInfo: package de.cib.view.modules; /** * Interface representing the field info. * * It allows information exchange about a field. public interface FieldInfo { // Setter for setmandatory - for later use // public void setmandatory(boolean ismandatory); public String gettype(); public String getname(); public String gettooltip(); public void settooltip(string tooltip); public int getcount(); public boolean islocked(); // Setter for setlocked - for later use // public void setlocked(boolean islocked); 27 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG 3.1.2.2 Interface SignFieldCallback mit Callback-Methoden zur Information über die Anzahl und den Status der Signaturfelder sowie ihre Aktualisierung Zur Information über die Anzahl und den Status der Signaturfelder und ihre Aktualisierung wird eine Datenstruktur SignFieldInfo sowie ein Interface SignFieldCallback eingeführt. Das Interface SignFieldCallback ist eine Erweiterung des Interfaces FieldCallback: Interface FieldCallback: package de.cib.view.modules; /** * Interface FieldCallback * * This interface is used to exchange information about current fields. * public interface FieldCallback { public static final int ON_LOAD = 1; public static final int ON_SAVE = 2; public static final int ON_EXIT = 8; Der Aufrufer muss sich dazu bei der Jview-Instanz als Listener anmelden. Es gibt verschiedene Zeitpunkte, zu denen die Aufrufe des SignFieldCallback an den Listener geschickt werden, was durch den Parameter eventtype signalisiert wird: - ON_LOAD beim Laden eines Dokuments - ON_SAVE beim Speichern eines Dokuments - ON_EXIT beim Beenden des Viewers Welches Dokument geladen oder gespeichert wird, wird im Parameter filename mitgeteilt. Das Interface SignFieldCallback ist im CIB jview (package de.cib.view.modules.sign) definiert und umfasst folgende Methoden. Interface SignFieldCallback: package de.cib.view.modules.sign; import java.util.list; /** * Interface SignFieldCallback * * This interface is used to exchange information about current * sign fields. 28 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG public interface SignFieldCallback { /** * Notifies about the current number of sign fields * @param countsignfields * @param filename * @param eventtype public void numberofsignfields(int countsignfields, String filename, int eventtype); /** * Provides the list of SignFieldInfo for all sign fields. * It allows to read and update current values for each sign field. * * @param signfieldinfolist * @param filename * @param eventtype * @return true if successful otherwise false public boolean updatesignfieldinformation(list<signfieldinfo> signfieldinfolist, String filename, int eventtype); Code-Beispiel zum Setzen eines SignFieldCallback Listeners bei der Jview-Instanz: // Definition eines SignFieldCallback Listeners static class SignFieldCallbackTester implements SignFieldCallback { public void numberofsignfields(int countsignfields, String filename, int eventtype) { JCibTrace.info("SignFieldCallback - numberofsignfields = " + countsignfields + ", filename = " + filename + ", eventtype = " + eventtype); public boolean updatesignfieldinformation(list<signfieldinfo> signfieldinfolist, String filename, int eventtype) { JCibTrace.info("SignFieldCallback - updatesignfieldinformation: filename = " + filename + ", eventtype = " + eventtype); // Example how to read and update sign field information if (signfieldinfolist == null) return false; 29 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG if (eventtype == SignFieldCallback.ON_LOAD) { int i = 0; for (SignFieldInfo info : signfieldinfolist) { i++; info.setsignername("signer_" + i); info.setreason("signreason_" + i); // Set each sign field with even index to // mandatory, with odd index to optional. // Method setmandatory not yet available! // info.setmandatory(i % 2 == 0); info.settooltip("tooltip-" + info.getname()); JCibTrace.info( "Update sign field " + info.getname() + ", SignerName = " + info.getsignername() + ", Reason = " + info.getreason() + ", Location = " + info.get Location() + ", issigned = " + info.issigned() + ", TimeStamp = " + info.gettimestamp() + ", ismandatory = " + info.ismandatory() + ", Tooltip = " + info.gettooltip()); else if (eventtype == SignFieldCallback.ON_SAVE) { for (SignFieldInfo info : signfieldinfolist) { JCibTrace.info( "Read sign field " + info.getname() + ", SignerName = " + info.getsignername() + ", Reason = " + info.getreason() + ", Location = " + info.getlocation() + ", issigned = " + info.issigned() + ", TimeStamp = " + info.gettimestamp() + ", ismandatory = " + info.ismandatory() + ", Tooltip = " + info.gettooltip()); else if (eventtype == SignFieldCallback.ON_EXIT) { for (SignFieldInfo info : signfieldinfolist) { JCibTrace.info( "Read sign field " + info.getname() + ", SignerName = " + info.getsignername() + ", Reason = " + info.getreason() + ", Location = " + info.getlocation() + ", issigned = " + info.issigned() + ", TimeStamp = " + info.gettimestamp() + ", ismandatory = " + info.ismandatory() + ", Tooltip = " + info.gettooltip()); return true; 30 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG // Beim Start von Jview // Register SignFieldCallback Listener viewer.setsignfieldcallback(new SignFieldCallbackTester());... // Beim Beenden von Jview // do post processing here viewer.stop();... // Unregister SignFieldCallback Listener viewer.setsignfieldcallback(null); 3.1.2.3 Interface CustomCloseDialogInfo zum Austausch von Informationen für den CustomCloseDialogCallback Die Datenstruktur CustomCloseDialogInfo dient zum Austausch von Informationen für den CustomCloseDialogCallback, sie ist im CIB jview (package de.cib.view.modules) definiert. Interface CustomCloseDialogInfo: package de.cib.view.modules; /** * Interface describing the data structure for custom close dialog * with information to form and sign fields. * public interface CustomCloseDialogInfo { /** * Returns whether the form is changed or not * @return boolean flag boolean isformchanged(); /** * Gets the unsigned mandatory field count * @return number of unsigned mandatory fields int getunsignedmandatorysignaturecount(); /** * Gets the unsigned optional field count * @return number of unsigned optional fields int getunsignedoptionalsignaturecount(); Das Interface CustomCloseDialogCallback ist im CIB jview (package de.cib.view.modules) definiert und umfasst folgende Methoden. 31 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG Interface CustomCloseDialogCallback: package de.cib.view.modules; /** * Interface defining the callback for custom close dialog * public interface CustomCloseDialogCallback { /** * Method showcustomclosedialog * @param customclosedialoginfo interface to read form&sign data * @return returncode of CustomCloseDialog * 0 - Yes * 1 - No * 2 - Cancel public int showcustomclosedialog( CustomCloseDialogInfo customclosedialoginfo); Der Aufrufer muss sich dazu bei der Jview-Instanz als Listener anmelden, dazu ein Code-Beispiel: // register CustomCloseDialogCallback viewer.setcustomclosedialogcallback(new CustomCloseDialogCallback() { @Override public int showcustomclosedialog( CustomCloseDialogInfo customclosedialog) { int unsignedmandatorycount = customclosedialog.getunsignedmandatorysignaturecount(); int unsignedoptionalcount = customclosedialog.getunsignedoptionalsignaturecount(); int unsignedsignaturecount = unsignedmandatorycount + unsignedoptionalcount; String message = ""; if (customclosedialog.isformchanged()) message = "Das Dokument enthält Änderungen an Formularfeldern, die noch nicht gespeichert wurden."; if (unsignedsignaturecount > 0) { if (!message.isempty()) message += "\n"; message += "Das Dokument enthält noch %1 zu signierende(s) Feld(er), %2 Pflicht- und %3 optionale Feld(er)."; message = message.replacefirst("%1", String.valueOf(unsignedSignatureCount)); message = message.replacefirst("%2", String.valueOf(unsignedMandatoryCount)); message = message.replacefirst("%3", String.valueOf(unsignedOptionalCount)); 32 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > SCHNELLER EINSTIEG if (message.isempty()) return JCibOptionPane.YES_OPTION; ); message += "\nmöchten Sie die Bearbeitung trotzdem beenden?"; return JCibOptionPane.showYesNoDialog( viewer, message, "Rückfrage")); Methode zur Abfrage des Rückgabewerts beim Beenden-Dialog: In der Viewer-Instanz (Klasse JCibView) ist die Methode getcloseaction() verfügbar, die den Rückgabewert des Beenden-Dialogs liefert. int closedialogbutton = viewer.getcloseaction(); Mögliche Werte (siehe auch CustomCloseDialogCallback): 0 Ja 1 Nein 2 Abbrechen -1 Vorbelegung (Dialog wurde nicht geöffnet) Code-Beispiel für die Abfrage des gedrückten Buttons nach dem Beenden im Exit-Hook: viewer.setexithook(new Runnable() { public void run() { // do post processing here viewer.stop(); // unregister FormFieldCallback Listener viewer.setformfieldcallback(null); // Unregister SignFieldCallback Listener viewer.setsignfieldcallback(null); int closedialogbutton = viewer.getcloseaction(); System.out.println("The following button was pressed in the close dialog: " + closedialogbutton); ); 33 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Abbildungsverzeichnis 4 ABBILDUNGSVERZEICHNIS Abbildung 1: CIB jview&sign Programmoberfläche nach Start des Programms... 7 Abbildung 2: Signatur Toolbar... 7 Abbildung 3: Informationen zum Signaturfeld... 8 34 35

CIB Software GmbH > Technical Support & Services > CIB jview&sign > Stichwortverzeichnis 5 STICHWORTVERZEICHNIS CIB jrec 5 DLL 5 PDF 5, 19 RTF 5 35 35