Donnez vie à vos documents numériques !
 

Multiple niveaux de protection

abracadabraPDF Forums PDF – Général Multiple niveaux de protection

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43449
    Tiens-Tiens
    Invité

    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

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #48748
    Lionel
    Membre

    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

    #48749
    Merlin
    Maître des clés

    1- 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:

    #48750
    Tiens-Tiens
    Invité

    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.

    #48751
    Merlin
    Maître des clés

    Il 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:

    #48752
    Tiens-Tiens
    Invité

    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

    #48753
    Merlin
    Maître des clés

    Un 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: 8) 😉

    #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

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

    #48755
    Tiens-Tiens
    Invité

    Merci beaucoup, cela correspond exactement à ce que je cherchais.

    Bonne continuation, et bravo pour ce site et votre compétence.

    Cordialement

    Philippe

    #48756
    Merlin
    Maître des clés

    Merci

    :thumb: :salu:

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.