Donnez vie à vos documents numériques !
 

Répondre à : Multiple niveaux de protection

abracadabraPDF Forums PDF – Général Multiple niveaux de protection Répondre à : Multiple niveaux de protection

#48754
Merlin
Maître des clés

Voila :

– Le fichier d’exemple : http://abracadabrapdf.net/parking/DeVerrouillageChampsMdPasse.pdf

– Le script :

Code:
/* Ce script en deux partie permet à un utilisateur d’accéder à une série de champs en fonction du mot de passe qu’il possède. Chacun ayant le sien c’est idéal lorsque plusieurs utilisateurs doivent partager un document et ne remplir que certains champs */

/* on utilise ici la convention de nommage d’Adobe, qui permet d’agir sur tous les champs Enfants uniquement en donnant une instruction au champ Parent, voir l’exemple */

/* on peut aussi ajouter un deuxième bouton de verrouillage général */

/* les textes en capitales et entre guillemets PIERRE, PAUL, JACQUES doivent être remplacés par les noms des champs parents, ou par le nom du champ concerné s’il n’y en a qu’un (ne pas supprimer les guillemets) */

/* les numéros entre guillemets 000000, 111111, 222222 représentent les mots de passe et doivent être remplacés par les vrais mots de passe (ne pas supprimer les guillemets) */

/* dans cet exemple il n’y a que 3 utilisateurs supposés, il suffit d’ajouter des conditions ELSE-IF, d’autres champs et des mots de passe pour augmenter le nombre d’utilisateurs */

/* partie à placer en script d’application, ou bien en événement utilisateur, sur un bouton ou sur un signet */

////////////////////////////////////////////////////////////////////////////

// boite de dialogue

var cResponse = app.response({

cQuestion: “Entrez votre mot de passe”, cTitle: “Mot de passe”, });

// test de la reponse

{

if ( cResponse == null) // si annulation

{

app.alert(“Vous devez entrer votre mot de passe pour utiliser ce document.”);

} // envoi alerte

else if ( cResponse == “000000”) // sinon si reponse est 000000

{

this.getField(“PIERRE”).readonly = false; // deverrouille les champs PIERRE

this.getField(“PIERRE”).fillColor = color.yellow; // champs PIERRE fond jaune

this.getField(“PAUL”).readonly = true; // verrouille les champs PAUL

this.getField(“JACQUES”).readonly = true; // verrouille les champs JACQUES

this.getField(“PAUL”).fillColor = color.white; // champs PAUL fond blanc

this.getField(“JACQUES”).fillColor = color.white; // champs JACQUES fond blanc

app.beep(); // bip de confirmation

}

else if ( cResponse == “111111”) // sinon si reponse est 111111

{

this.getField(“PAUL”).readonly = false; // deverrouille les champs PAUL

this.getField(“PAUL”).fillColor = color.yellow; // champs PAUL fond jaune

this.getField(“PIERRE”).readonly = true; // verrouille les champs PIERRE

this.getField(“JACQUES”).readonly = true; // verrouille les champs JACQUES

this.getField(“PIERRE”).fillColor = color.white; // champs PIERRE fond blanc

this.getField(“JACQUES”).fillColor = color.white; // champs JACQUES fond blanc

app.beep(); // bip de confirmation

}

else if ( cResponse == “222222”) // sinon si reponse est 222222

{

this.getField(“JACQUES”).readonly = false; // deverrouille les champs JACQUES

this.getField(“JACQUES”).fillColor = color.yellow; // champs JACQUES fond jaune

this.getField(“PIERRE”).readonly = true; // verrouille les champs PIERRE

this.getField(“PAUL”).readonly = true; // verrouille les champs PAUL

this.getField(“PIERRE”).fillColor = color.white; // champs PIERRE fond blanc

this.getField(“PAUL”).fillColor = color.white; // champs PAUL fond blanc

app.beep(); // bip de confirmation

}

else // sinon si autre reponse (mot de passe erroné)

{

app.alert(“Ce mot de passe est invalide !”,3);

} // envoi alerte

}

////////////////////////////////////////////////////////////////////////////

/* partie à utiliser sur un deuxième bouton de verrouillage général */

////////////////////////////////////////////////////////////////////////////

this.getField(“PIERRE”).readonly = true; // verrouille les champs PIERRE

this.getField(“PAUL”).readonly = true; // verrouille les champs PAUL

this.getField(“JACQUES”).readonly = true; // verrouille les champs JACQUES

this.getField(“PIERRE”).fillColor = color.white; // champs PIERRE fond blanc

this.getField(“PAUL”).fillColor = color.white; // champs PAUL fond blanc

this.getField(“JACQUES”).fillColor = color.white; // champs JACQUES fond blanc

app.beep(); // bip de confirmation

////////////////////////////////////////////////////////////////////////////