Freischaltung via Webservice

Grundsätzliche Fragen zur Bedienung
Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 03.12.2009, 15:51

Folgendes Problem:

Es soll ein PDF-Formular erstellt werden, welches sich Benutzer herunterladen können. Das Ausfüllen des Formulars soll schon möglich sein. Allerdings ist ein Wasserzeichen / Stempel auf dem Formular. Erst nach Eingabe einer PIN / eines Passwortes soll das Wasserzeichen verschwinden und eine Art Siegel sichtbar werden.
Technisch stell ich mir das so vor, dass die eingegebene PIN online überprüft wird und ein Request zurück bekommt, der dann das Wasserzeichen (oder eine Ebene) ausblendet und das Siegel (evtl. dann auch eine Ebene) einblendet.
Ist so etwas möglich? Ich habe noch nicht viel Erfahrung in Acrobat und wäre dankbar wenn es hilfreiche Tips gibt.

Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 12.01.2010, 10:38

Ich habe nun schon einiges selbst herausgefunden. Nun stellt sich mir die Frage ob ich Acrobat und LiveCycle mischen kann? Wenn ja, was mach ich zuerst?
Ich brauch die Bild importieren Funktion und die Webserviceanbindung vom LC und die Wasserzeichen vom Acrobat. Funktioniert das JavaScript aus dem LC auch im Acrobat? Dann könnte ich nach Antwort vom Webservice das Wasserzeichen über Acrobat ausblenden lassen? Klingt verwirrt, bin ich auch.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Freischaltung via Webservice

Beitrag von walde » 13.01.2010, 11:23

Hallo Jonny252,

 

Unter LCD könne Sie auf der Masterseite Wasserzeichen erstellen und ein -bzw. ausblenden lassen. Viele adobe Acrobat JavaSkript Objekte sind mit LCD kompatibel. Umgekehrt aber nicht.

 

Gruß,

 

Walde

Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 22.02.2010, 14:43

Nach langer Zeit konnte ich mich wieder mal um mein Formular kümmern. Jetzt habe ich das im LCD gebaut und meine Funktionalität implementiert. Auch eine Verbindung zum Webservice funktioniert so halb. Ich bekomme schon etwas zurück.
Jetzt habe ich nur ein "kleines" Problem mit dem Formular im Adobe Reader, dem eigentlichen Zielprogramm. Hier werden keine Daten gesendet. Was ist denn da los? Kann der Reader Daten versenden? 

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Freischaltung via Webservice

Beitrag von FileAffairs » 22.02.2010, 16:13

Hallo Jonny252,

was klappt denn beim Reader nicht? Wenn Sie Daten an einen WebService schicken wollen muss das Formular mittels Adobe LiveCycle Reader Extensions dafür freigeschaltet werden (die Freischaltfunktion in Adobe Acrobat reicht dafür nicht aus !).

Sollten Sie jedoch Daten als "normales" HTTP Post senden geht das auch aus dem Reader.

Wäre schön wenn Sie hier noch etwas genauer beschreiben würden was Sie gerade probieren bzw. wo es evtl. hängt

Schönen Gruß
FileAffairs

Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 22.02.2010, 17:08

Hallo,
ich habe ein Formular, welches über einen Webservice aktiviert werden soll. Das schaut dann so aus, dass das Formular mit einem Wasserzeichen versehen ist. Nachdem der Benutzer im Reader das Formular ausgefüllt hat, gibt er eine generierte Zeichenkette in das vorgesehene Feld, der Webservice prüft nun die Gültigkeit und sendet ein true zurück. Danach verschwindet das Wasserzeichen, ein Stempel/Siegel wird eingeblendet und die Eingabefelder werden gesperrt. Per Button funktioniert das Sperren schon, ebenso die Kommunikation vom Acrobat Pro zum Webservice und wieder zurück.
Wenn ich auf einem anderen Rechner im Reader die generierte PIN eingebe findet keine Kommunikation statt. Es scheint wirklich an den Extensions zu liegen.

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Freischaltung via Webservice

Beitrag von FileAffairs » 22.02.2010, 17:30

Hallo Jonny252,

aus Adobe Acrobat heraus darf ein Formular einen WebService Aufruf verwenden. Aus dem Adobe Reader heraus nur dann, wenn das Formular dafür mittels Adobe LiveCycle Reader Extensions freigeschaltet wurde.Sollte dies nicht möglich sein, so besteht ein möglicher Workaround darin über ein HTTP Post zu gehen.

Gruß
FileAffairs

Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 23.02.2010, 10:30

Vielen Dank für die Antwort. Musste erst einmal den Schock verdauen. Da kauft man eine Software zum Erstellen von Formularen und dann geht das nur so halb. Hab mit dem Buch Adobe Acrobat Formular-Praxis gearbeitet und schön alles ausprobiert. Da steht nix von den Extensions.
Na gut nun hab ich das halbwegs verdaut und komme zum Thema zurück.
Die Variante über HTTP Post könnte da eine Alternative sein. Jedoch ist mir auf die schnelle augefallen, dass das gesamte Formular versendet wird. Kann ich auch ein bestimmtes Feld auswählen?
Dann benötige ich noch eine Antwort vom Server der die Anfrage auf Gültigkeit prüft und ein Feedback zum Formular sendet, dass dann dort verarbeitet wird.

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Freischaltung via Webservice

Beitrag von FileAffairs » 23.02.2010, 13:14

Hallo Jonny252,

versenden kannst Du über wenn Du die Submit Funktion der Schaltfläche nutzt entweder PDF, XML oder XDP (da ist dann beides drin) und HTTP form submit (key, value pairs entsprechend HTML Formularen).

Es gibt aber auch die Möglichkeit eines put oder get in formcalc. Da kann man auch einzelne Daten "schicken".

Einziges "Problem" ist das der Reader als Response eine PDF Datei erwartet (anders als Adobe Acrobat). Du musst also auf jeden Fall eine PDF zurückliefern damit der Anwender was sieht bzw. kein Fehler kommt.

Gruß
FileAffairs

Jonny252
Beiträge: 21
Registriert: 03.12.2009, 15:40

Freischaltung via Webservice

Beitrag von Jonny252 » 24.02.2010, 10:15

Vielen Dank für die Informationen. Ich werde dann wohl erstmal mit einer Datenverbindung weiter experimentieren. In meinem Acrobat funktioniert es ja.
Ich muss jetzt die Antwort vom Webservice verarbeiten und nach einiger Suche habe ich das postExecute Ereignis gefunden. Allerdings möchte das auch nicht so wie ich mir das vorgestellt habe. Wo genau muss dieses eingebunden werden? Im Moment steht vor meinem ersten Teilformular dieser Code:

Code: Alles auswählen

<event activity="postExecute" ref="$connectionSet.Datenverbindung">
         <script contentType="application/x-javascript">
                if(xfa.datasets.resolveNode("connectionData.Datenverbindung.Body.checkTanDataResponse.checkTanDataResult").value==true {
                    xfa.host.messageBox("true");
                    } else {
                    xfa.host.messageBox("false");}
                  
              
        </script>
      </event>
checkTanDataResponse ist dabei der Rückgabewert und true oder false. Zum Testen möchte ich einfach nur eine messageBox haben, jedoch wird mir immer false geliefert.

In einem kleinen Test habe ich einen Klick-Event auf eine Schaltfläche gelegt, der ein normales Kontrollkästchen abfragt und true oder false meldet. Genau der gleiche Code auf die Antwort-Checkbox funktioniert so nicht.

Hat da jemand einen Tip oder Hinweise für mich?

Antworten