LiveCycle Designer Formulare und Signaturprüfung
Adobe LiveCycle Designer bietet die Möglichkeit Signaturfelder auf einem Formular aufzubringen. Jedoch wird innerhalb des XFA JavaScript Modells keine Möglichkeit der Signaturprüfung angeboten. Warum ist das so? Nun die LiveCycle Designer Formulare laufen ja als Inhalte innerhalb eines PDF Rahmens ab. Eine Signatur muss sich aber auf das Gesamtdokument beziehen. Eine Prüfung der Signatur erfolgt über die Anwendung in der das Formular verarbeitet wird.
Hier eine Beispiel für ein Script welches in eine Adobe LiveCycle Designer Formular eingebaut werden kann. Lauffähig in Adobe Reader und Adobe Acrobat.
// Funktion zur Ermittlung des Status eines Signaturfeldes
// Mögliche Rückgabewerte sind:
// -1: Kein Signaturfeld
// 0: Signaturfeld ist leer
// 1: Unbekannter Status
// 2: Signatur ist ungültig
// 3: Signatur ist gültig aber die Identität des Unterzeichners
// kann nicht ermittelt werden
// 4: Signatur ist gültig und die Identität des Unterzeichners
// ist gültig
function getSignatureStatus(sigField)
var oDoc = event.target; // Referenz auf das geöffnete Dokument
var oField = oDoc.getField(sigField); // Referenz auf das Signaturfeld
var sigState = oField.signatureInfo().status; // Status der Signatur
return sigState;
}
Häufig ist es auch notwendig zu Ermitteln wer die Signatur geleistet hat. Die kann wie folgt erreicht werden
// Funktion zur Ermittlung wer eine Signatur geleistet hat
function getSignee(sigField)
var oDoc = event.target; // Referenz auf das geöffnete Dokument
var oField = oDoc.getField(sigField); // Referenz auf das Signaturfeld
var signee = oField.signatureInfo().name; // Name des Unterschreibenden
return signee;
}
PDF Formulare, Reader Extensions und Vorbefüllung mittels iText
Seit einiger Zeit bietet Adobe die Möglichkeit ausgefüllte Formulare auch im Adobe Reader zu speichern. Hierzu müssen mittels Adobe Acrobat oder Adobe LiveCycle Reader Extensions sogenannte Reader Rechte vergeben werden, welche die Funktion im Adobe Reader aktivieren. Wird nun ein solches PDF Formular mit Daten vorbelegt, so ist darauf zu achten, das der freigegebene Zustand des Formulars nicht verändert wird, da sonst die Reader Rechte deaktiviert werden. Somit muss mit PDF Revisionen gearbeitet werden, das ursprüngliche Formular bleibt somit unverändert.
Hierzu ist bei iText der entsprechende Aufruf von PdfStamper notwendig.
Falsch:
PdfStamper stamper = new PdfStamper(PdfReader, ausgabePdf);
Richtig:
PdfStamper stamper = new PdfStamper(PdfReader, ausgabePdf, '\0', true);
Schnipsel
Derzeit arbeiten wir daran, Ihnen in kurzer Form nützliche Schnipsel aus aktuellen Projekten zur Verfügung zu stellen. Wir hoffen Ihnen so den Einstieg in bestimmte Technologien zu erleichtern oder auch konkrete Fragestellungen zu beantworten. Den Schwerpunkt werden Projekte rund um PDF und Adobe LiveCycle Produkte bilden. Schritt für Schritt werden wir dann auch weitere Themen publizieren. weiterlesen