abracadabraPDF › Forums › PDF – Général › Multiple niveaux de protection
- Ce sujet est vide.
-
CréateurSujet
-
8 octobre 2006 à 17:42 #43449Tiens-TiensInvité
Bonsoir,
Je suis face à la problématique suivante :
Je dois disposer d’un document PDF qui doit circuler entre plusieurs interlocuteurs qui vont le remplir. Mais suivant la personne, les champs à libérer / vérouiller ne sont pas les mêmes. Est-il donc possible de créer ce document sur ce principe, et quel logiciel permetrait de le faire.
Merci beaucoup d’avance pour votre expertise
(Si d’aventure ce n’était pas très clair, n’hésitez pas à me le dire pour que je reformule.)
Philippe
-
CréateurSujet
-
AuteurRéponses
-
9 octobre 2006 à 20:49 #48748LionelMembre
Bonjour,
Pour le logiciel, c’est Acrobat Pro.
:scra: Pour ce qui est des champs (de texte; je suppose) : une solution est sûrement que tu envoies à la première personne, qui te renvoi le document. Tu le modifies et tu envoies à la seconde…
Autre solution : créer plusieurs documents (avec, pour chacune, les possibilités que tu leur as défini) pour chacune des personnes.
Attendons là, l’avis de l’expert Merlin.
Bien cordialement.
Lionel
11 octobre 2006 à 12:28 #48749MerlinMaître des clés1- pour remplir un formulaire PDF il faut Acrobat (Pro ou Standard), Reader ne le permet pas (sauf exception mais c’est plus cher : Extended Rights).
A noter que les versions 8 de Reader et d’Acrobat attendue pour début 2007 devraient changer la donne…
2- Acrobat et le PDF répondent au besoin, un simple JavaScript permetttrait de verrouiller/déverrouiller certains champs en fonction d’un mot de passe délivré par l’utilisateur (chaque utilisateur ayant un mot de passe différent).
Un tel script est a placer en ouverture de document ou sur un bête bouton…
:thumb: :bou: :thumb:
13 octobre 2006 à 11:47 #48750Tiens-TiensInvitéMerci beaucoup pour cette visibilité sur la faisabilité de ce projet.
Votre réponse m’ammène à la question suivante :
Existe t’il des tutoriels pour apprendre à insérer des javascipt permettant ce vérouillage.
Question subsidiaire, quid de la compatibilité sur des système UNIX ?
Merci pour vos réponses passées et futures.
13 octobre 2006 à 12:49 #48751MerlinMaître des clésIl y a quelques exemples et tutoriels qui pourront aider sur abracadabraPDF.net mais ce que j’appelle un “simple” JavaScript est simple pour qui connait déjà… Autrement il est souvent moins long et moins couteux de s’adresser à un spécialiste que de partir à l’aventure.
La compatibilité Unix est à voir en fonction de la version de l’Unix en question, et à vérifier soigneusement !
:sun:
13 octobre 2006 à 17:43 #48752Tiens-TiensInvitéJe ne mesure pas bien la difficulté de la tâche. S’adresser à un spécialiste, je suis à priori favorable, quite à ce qu’il me fournisse simplement un exemple existant pour que je puisse reproduire et extrapoler.
Par contre, comme il ne s’agit pas d’un problème professionnel, je ne peut engager de fond dans cette opération, si le dit spécialiste est un consultant rémunéré et je devrai me dépatouiller sans ces services malheureusements.
J’irai parcourir les tutoriels en place, voir si je comprend quelque chose.
Merci beaucoup pour ces informations. Et si tu dispose d’un exemple existant pour que je m’en inspire je suis grandement preneur.
Philippe
13 octobre 2006 à 19:15 #48753MerlinMaître des clésUn consultant est forcément rémunéré, sinon c’est un bénévole…
(–> problèmes potentiels avec l’employeur ou l’Assedic qui ne tolèrent pas ça…)
Je te rassure, je ne suis pas un grand spécialiste du script, ce n’est pas mon gagne-pain (je suis consultant prépresse, on utilise aussi le PDF mais dans une autre optique…) et ce n’est pas moi que je cherche à vendre.
Par contre le cas que tu soulèves m’intéresse à titre personnel pour tout à fait autre chose et je pense que malgré mes lacunes ce devrait être dans mes cordes, alors je vais essayer de concocter quelque chose mais comme je n’ai pas que ça à faire (voir ci-dessus + vie de famille) il va me falloir un peu de temps… disons une semaine.
Je ne sais pas quel est ton niveau en JavaScript, mais sinon le type de script à disposition qui s’en rapproche le plus c’est abracadabraCompteur ou abracadabraTOOLS grâce à la détection de la version linguistique utilisée, à télécharger librement sur abracadabraPDF.net
:sun: :thumb: 😉
18 octobre 2006 à 18:32 #48754MerlinMaître des clésVoila :
– 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 alerteelse 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
////////////////////////////////////////////////////////////////////////////4 novembre 2006 à 12:30 #48755Tiens-TiensInvitéMerci beaucoup, cela correspond exactement à ce que je cherchais.
Bonne continuation, et bravo pour ce site et votre compétence.
Cordialement
Philippe
4 novembre 2006 à 13:04 #48756MerlinMaître des clésMerci
:thumb: :salu:
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.