Felder durch Klick auf Button in schreibgeschützt umwandeln

Sammlung von Vorlagen und Hilfestellungen
Holger
Beiträge: 75
Registriert: 20.08.2008, 20:03

Felder durch Klick auf Button in schreibgeschützt umwandeln

Beitrag von Holger » 22.07.2011, 13:25

Hallo wie kann ich dieses Skript so anpassen. dass ich nur bestimmte Felder sperren kann.

Also - alles gleich und nur bestimmte Felder.

Wenn ich eine schnelle Hilfe habt danke ich Euch.

alles Gute

Holger

k4eks
Beiträge: 2
Registriert: 19.07.2011, 11:22

Felder durch Klick auf Button in schreibgeschützt umwandeln

Beitrag von k4eks » 01.08.2011, 13:32

Hallo zusammen,

ich habe hier schon einiges zum Thema speicherbare Formulare und solche mit Sperrfunktion gelesen. Dieser Thread hier hat mir im Bezug auf den "Sperren-Button" schonmal sehr weitergeholfen.
Grundsätzlich funktioniert hat beim Sperren-Button jetzt folgendes:

Code: Alles auswählen

subform1.access = "protected";
subform2.access = "protected";
subform3.access = "protected";
subform4.access = "protected";
 
Die Subforms hier sind die einzelnen Seiten des Formulars, da die Mehrseitig ist.

Mein Problem ist jetzt: Im Reader werden laut meinen eigenen Tests alle Eingaben und Felder gesperrt. Leider aber nicht im Acrobat Pro (auch ich benutze noch Version 8), was mit großer Sicherheit auch manche Kunden benutzen, die das von mir erstellte Formular bekommen.
Ist hier ein Fehler in den Einstellungen oder ist es ein Scriptfehler, dass es im Acrobat Pro nicht funktioniert?


HansKuhn
Beiträge: 3
Registriert: 04.02.2011, 12:40

Felder durch Klick auf Button in schreibgeschützt umwandeln

Beitrag von HansKuhn » 26.08.2011, 11:47

Hallo zusammen,

die Sperrenfunktion wird nun allerdings auf das ursprünglich geöffnete Dokument angewendet und nicht auf das zu speichernde. Ich möchte nun ganz gerne, dass das ausgefüllte Dokument, welches ich speichere, gesperrt wird, nicht aber das ursprüngliche Dokument. Ist das möglich?

k4eks
Beiträge: 2
Registriert: 19.07.2011, 11:22

Felder durch Klick auf Button in schreibgeschützt umwandeln

Beitrag von k4eks » 26.08.2011, 12:29

HansKuhn hat geschrieben:Hallo zusammen,

die Sperrenfunktion wird nun allerdings auf das ursprünglich geöffnete Dokument angewendet und nicht auf das zu speichernde. Ich möchte nun ganz gerne, dass das ausgefüllte Dokument, welches ich speichere, gesperrt wird, nicht aber das ursprüngliche Dokument. Ist das möglich?
Siehe mein Eintrag von oben. Ich habe das Script zwar auch nur übernommen, aber es funktioniert.
Jedes Subform im Script ansprechen, der Button mit dem Script liegt am Ende des Gesamtformulares, das Script im click-event.
Nach Freigabe der Verwendungsrechte für Adobe Reader kann ich im Reader das Formular ausfüllen, speichern, drucken, wieder öffnen und weiter ausfüllen etc.  ....das solange bis ich auf den "Lock"-Button klicke, der das Script enthält und sämtliche Eingaben sperrt.
Einziges Manko, dessen Grund ich bisher nicht finde: Das Formular lässt sich nicht sperren, wenn es in einer älteren Acrobat-Version geöffnet wird, als ich selbst zur Erstellung nutze (Ich nutze Acrobat 8 Pro und speichere im Format Acrobat 7 ab).

Nick_Ko
Beiträge: 28
Registriert: 01.03.2010, 09:57

Felder durch Klick auf Button in schreibgeschützt umwandeln

Beitrag von Nick_Ko » 10.12.2015, 14:21

Hallo,

ich habe das Beispiel zum Sperren übernommen, es funktioniert einwandfrei. Ich möchte es aber erweitern. Alle Buttons sollen beim Klick auf den Sperr-Button auf "invisible" gesetzt werden.

Ich habe vermutet, dass man die Buttons über className bestimmen kann, das script läuft nur leider nicht wie erwartet. Kann mir jemand helfen?

var nButton = app.alert({
cMsg: "Möchten Sie wirklich alle Felder unwiederruflich sperren? \n\nFortfahren?",
cTitle: "Assure HSC",
nIcon: 1, nType: 2
});
if ( nButton == 4 )
{
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
//Find out if field is a button
if (oFields.item(nNodeCount).className == "button")
{
oFields.item(nNodeCount).presence = "invisible";
}
oFields.item(nNodeCount).access = "protected";
}
}

// save value of lock
Lock.rawValue = "1";

padlockopen.presence = "invisible";
this.presence = "invisible";

}

Antworten