casiopaya80
Goto Top

Einzelne Formularfelder in PDF sperren

Hallo,

ich habe ein PDF Formular gebaut (Acrobat XI Pro, Version 11.0.07.79) und dieses Formular muss 2 verschiedenen Kollegen ausgefüllt werden. Zuerst bearbeitet der eine Kollege seinen Bereich, dann wird das Formular per Email weitergeleitet und dann bearbeitet wiederum ein anderer Kollege seinen Bereich in dem Formular um es schlussendlich an die Person weiterzuleiten, die das Formular dann auswerten darf.
Ich würde jetzt gerne die einzelnen Textfelder, aber auch Optionsfelder sperren, damit sie nach der Bearbeitung der Kollegen nicht mehr editiert werden können.

Ist sowas denn möglich?

Ich habe beim googeln eine Möglichkeit mit Signaturfeldern gefunden, aber auch mit einem JavaScript - leider funktionieren beide nicht wirklich - oder ich mache etwas falsch.

Über Hilfe würde ich mich sehr freuen!

Danke und Grüße,
Anja

Content-Key: 242888

Url: https://administrator.de/contentid/242888

Printed on: April 18, 2024 at 05:04 o'clock

Member: colinardo
colinardo Jul 07, 2014, updated at Jul 08, 2014 at 06:51:19 (UTC)
Goto Top
Hallo Anja,
Ist sowas denn möglich?
klar kein Problem, folgendes JavaScript setzt z.B. die Eigenschaft eines Form-Feldes auf readonly.
this.getField("Feld1").readonly = true;
Die Eigenschaft readonly besitzt jedes Form-Feld, d.h. du kannst damit auch Optionsfelder etc. sperren.

Um alle Form-Felder eines Dokumentes mit einen Schlag auf readonly zu setzen:
for(var i=0;i<this.numFields;i++){
    var fname = this.getNthFieldName(i);
    this.getField(fname).readonly = true;
}
Ich verweise nochmals auf die JavaScript-Referenz von Acrobat, da stehen die verfügbaren Eigenschaften aller Element drin ! Ist für Entwicklungszwecke mit Acrobat unverzichtbar.

Grüße Uwe
Member: Casiopaya80
Casiopaya80 Jul 07, 2014 at 12:37:52 (UTC)
Goto Top
Danke Uwe für Deine nochmalige Hilfe!
Ich habe mir auch die JavaScript Referenz von Dir angeschaut - aber um ehrlich zu sein übersteigt mich das doch sehr. Daher muss ich immer so nachfragen....

Ich habe auch nach meinem nächsten "Problem" in der Referenz gesucht - leider ohne Erfolg.
Weil was ich jetzt noch nicht verstehe ist, wie ich einer Gruppe von 3 Optionsfeldern sagen kann, das sie nicht sofort read only sind - weil sobald ich in der Gruppe eines der Felder angewählt habe sind sie nicht mehr editierbar (also wenn ich mich für Option A entscheieden habe kann ich meine Meinung nicht mehr ändern)- aber es kann durchaus sein, dass Leute während des Ausfüllens nochmal umentscheiden.
Kann die ganze "Read Only Sache denn erst mit dem speichern aktiv werden? Wäre natürlich auch für andere Felder von Vorteil...

Grüße,
Anja
Member: colinardo
colinardo Jul 07, 2014 updated at 12:56:39 (UTC)
Goto Top
aber um ehrlich zu sein übersteigt mich das doch sehr.
JavaScript-Grundlagen sind hier natürlich Pflicht face-smile

Kann die ganze "Read Only Sache denn erst mit dem speichern aktiv werden? Wäre natürlich auch für andere Felder von Vorteil...
sicher, entweder du baust dir einen Button in das Dokument das der User zum Schluss betätigen muss, oder man bindet das ganze an das OnSave Event, dann wird das ganze bei jedem Speichern ausgeführt.

a83b274e74269a89bc1f3a4f055ebd9a

Hier ein Demo-Dokument dazu, dass beim Speichern automatisch eine Gruppe von Feldern sperrt, abhängig davon, ob eine andere Gruppe schon gesperrt ist: Demo_Auto_LockFields_242888.pdf. Ändere im Dokument testweise mal einen Wert, wechsele in ein anderes Feld und speichere dann das Dokument. Darauf hin wird der zweite Bereich gesperrt, da der erste Bereich bereits gesperrt ist.

Den Code findest an der Stelle die auf dem Bild zu sehen ist.

Was du hier aber unbedingt beachten solltest während du dein PDF entwürfst wird dieses Event auch ausgeführt, d.h. du solltest es erst ganz zum Schluss dort einfügen. Sonst sperrst du dir selber die Felder in der Entwurfsphase!

Grüße Uwe
Member: Casiopaya80
Casiopaya80 Jul 07, 2014 at 13:35:35 (UTC)
Goto Top
Puhhhhh..... ich glaube jetzt bin ich komplett überfordert face-smile Und das mit den JavaScript Grundlagen bekomme ich sicher auch nicht so schell hin face-wink
Trotzdem herzlichen Dank für Deine Mühe, Geduld und Hilfe!
So wie in deinem Doku wäre das natürlich toll - ob ich das hinbekommen werde ich später wissen face-smile

Besten Dank und viele Grüße!!!
Member: Casiopaya80
Casiopaya80 Jul 10, 2014 at 13:46:57 (UTC)
Goto Top
Hallo Uwe,
ich habe mein Problem jetzt ein bissel anders gelöst und habe einfach in den Send Button die Felder die ich nach dem Senden "ReadOnly" haben möchte mit "this.getField("Feld1").readonly = true;" gesperrt.

Nochmals herzlichen Dank!
Member: colinardo
colinardo Jul 10, 2014 updated at 13:52:21 (UTC)
Goto Top
Genau, das meinte ich oben ja auch als Alternative face-smile
Viel Erfolg weiterhin
Grüße Uwe