Donnez vie à vos documents numériques !
 

Formulaire variant en fonction des réponses données. – RÉSOLU

abracadabraPDF Forums PDF – Général Formulaire variant en fonction des réponses données. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44618
    Antonin TCP
    Membre

    Bonjour,

    Je suis très heureux d’enfin trouver un forum d’entraide en français pour les PDF.

    Je cherche depuis quelques semaines à faire un formulaire pour mon entreprise:

    Je voudrai que les cameramen partant en tournage puissent remplir un formulaire pdf pour y indiquer avec quel matos partent ils, combien de piles…

    Or, dans la liste des caméras ils choisissent quel modèle : A, B ou C.

    Une fois selectionné, j’aimerai qu’une case apparaisse pour y inscrire le numéro de la caméra, comme sur certains sites web.

    J’ai essayé sur Open Office, mais je n’ai vraiment pas les compétences pour.

    Maintenant je me met sur Adobe Acrobat XI en espérant que ce soit plus accessible.

    Merci beaucoup et bonne journée.

Affichage de 25 réponses de 26 à 50 (sur un total de 59)
  • Auteur
    Réponses
  • #55451
    Stubiana
    Membre

    Serait-il possible de mettre ton fichier en pièce jointe ? N’ayant pas la totalité du code sous les yeux je ne peux pas me rendre compte de ce qui cloche.

    Merci  :bonjour:

    #55452
    Antonin TCP
    Membre

    http://we.tl/8dJNPJZ9WS

    Voici un lien vers le formulaire.

    Merci encore pour l’aide  :bravo:  :Smiley01:

    #55453
    Stubiana
    Membre

    Met plutôt le code sur ta case à cocher, lorsqu’elle est décochée tu cache tout les champs :

    Code:
    if (this.getField(« CFCheck »).isBoxChecked(0))
    {
    this.getField(« ListeCF »).display = display.visible;
    }
    else
    {
    this.getField(« ListeCF »).display = display.hidden;
    this.getField(« 1 »).display = display.hidden;
    this.getField(« 2 »).display = display.hidden;
    this.getField(« 3 »).display = display.hidden;
    this.getField(« 4 »).display = display.hidden;
    this.getField(« 5 »).display = display.hidden;
    this.getField(« 6 »).display = display.hidden;
    this.getField(« 7 »).display = display.hidden;
    this.getField(« 8 »).display = display.hidden;
    this.getField(« 9 »).display = display.hidden;
    this.getField(« 10 »).display = display.hidden;
    this.getField(« 11 »).display = display.hidden;
    this.getField(« 12 »).display = display.hidden;
    this.getField(« 13 »).display = display.hidden;
    this.getField(« 14 »).display = display.hidden;
    this.getField(« 15 »).display = display.hidden;
    this.getField(« 16 »).display = display.hidden;
    this.getField(« 17 »).display = display.hidden;
    this.getField(« 18 »).display = display.hidden;
    this.getField(« 19 »).display = display.hidden;
    this.getField(« 20 »).display = display.hidden;
    }

    Initialisation();

    Chez moi ça marche  :Smiley03:

    Cordialement  :bonjour:

    #55454
    Antonin TCP
    Membre

    En effet ça fonctionne impeccablement ! C’est terrible, mon pdf commence à ressembler à ce que je voulais :D

    J’arrive au bout mais il va me falloir encore de l’aide  :priere:

    Je cherche à faire un bouton « Enregistrer » qui non seulement enregistre en lecture seule, mais dirige automatiquement dans un dossier précis et enfin, qui porte un nom constitué de champs dans le formulaire (ex: nom, projet, caméra).

    J’ai lu plusieurs topics sur le forum, notamment au sujet du script à mettre à la racine d’Acrobat, du fait d’étendre les droits dans Acrobat, du script javascript pour faire tout ça, mais après moulte tentatives, rien ne fonctionne…

    Est ce que Acrobat XI simplifie cette démarche, est elle différente ?

    En tout cas merci infiniment.  :bonjour: Ce formulaire va me faire gagner plusieurs dizaines de minutes par jour !

    #55455
    Antonin TCP
    Membre

    Up  :bonjour:

    #55456
    Merlin
    Maître des clés

    Je cherche à faire un bouton « Enregistrer » qui non seulement enregistre en lecture seule, mais dirige automatiquement dans un dossier précis et enfin, qui porte un nom constitué de champs dans le formulaire (ex: nom, projet, caméra).
    J’ai lu plusieurs topics sur le forum, notamment au sujet du script à mettre à la racine d’Acrobat, du fait d’étendre les droits dans Acrobat, du script javascript pour faire tout ça, mais après moulte tentatives, rien ne fonctionne…

    Il faudrait que tu reposte ton formulaire, le lien ci-dessus ne fonctionne plus.
    Le plus compliqué c’est le chemin d’accès vers le dossier spécifique, problème que j’ai résolu élégamment en plaçant le formulaire « matrice » dans le dossier final, ainsi l’enregistrement-sous est proposé par défaut dans ce même dossier…
    Je t’en dirais plus en voyant le doc.
    :Smiley03:

    Est ce que Acrobat XI simplifie cette démarche, est elle différente ?

    Non, ça ne change rien.

    #55457
    Antonin TCP
    Membre

    Merci beaucoup pour ta réponse Merlin.

    Voici un lien vers mon formulaire.

    #55458
    Merlin
    Maître des clés

    Est-ce que quelque chose comme le ci-joint conviendrait ?
    (Tout est dans le bouton).

    Ca ne répond pas à l’ensemble du cahier des charges mais c’est la solution la plus simple à mettre en œuvre, et ça fonctionne aussi avec Reader.
    :bonjour:

    [attachment deleted by admin]

    #55459
    Antonin TCP
    Membre

    C’est parfait ! Ca permet de gagner beaucoup de temps et c’est un excellent compromis :D !

    Merci encore Merlin.

    Pour finir, as tu une piste pour enregistrer le fichier en lecture seule ?

    #55460
    Merlin
    Maître des clés

    Pour qu’un PDF soit en lecture seule il faut utiliser les méthodes de protection.
    Pour ce que tu veux faire le plus simple est de verrouiller tous les champs, en ajoutant ce script :

    for (var i=0; i{
    var fname = this.getNthFieldName(i);
    var f = this.getField(fname);
    f.readonly = true;
    }

    Mais il ne faut pas l’ajouter n’importe où, ce qui pour ton document nous donne :

    MonTitre = « Tony Prod »;
    ChEnrgNom = this.getField(« Journaliste »);
    ChEnrgDate = this.getField(« Date de sortie »);
    if (ChEnrgDate.value == null || ChEnrgDate.value == «  » || ChEnrgNom.value == null || ChEnrgNom.value == «  »)
    {app.alert({cMsg: »Merci de renseigner les champs « Date de sortie » et « Journaliste » avant d’enregistrer ce document. », nIcon:2, cTitle:MonTitre});}
    else
    {
    var strFixe = « _ » + MonTitre;
    var strNom = ChEnrgNom.value;
    var strNum = ChEnrgDate.value
    if (app.language == « FRA »)
    {var strTitre = strFixe + « _Enregistrement »;
    var strQuestion = « COPIEZ le nom proposu00E9 ci-dessous et COLLEZ le dans la fenu00EAtre suivante pour l’utiliser comme nom de fichier (merci de respecter cette syntaxe qui nous facilite la gestion) : »;
    }
    else
    {var strTitre = strFixe + « _SaveAs »;
    var strQuestion = « COPY below proposed text and PASTE it in the following box to use it as file name: »;
    }
    var strDisplay = strNum + « _ » + strNom + strFixe;
    var saveRep = app.response({cQuestion: strQuestion, cTitle: MonTitre, cDefault: strDisplay,});
    if (saveRep != null)
    {
    for (var i=0; i {
    var fname = this.getNthFieldName(i);
    var f = this.getField(fname);
    f.readonly = true;
    }

    app.execMenuItem(« SaveAs »);
    }
    }

    Voir PJ.
    :Smiley03:

    [attachment deleted by admin]

    #55461
    djamel227
    Membre

    Bonjour Merlin; Est ce que je peux ajouter un chemin vers lequel j’enregistre le document et sous le format .fdf

    par exemple ici ; C:UsersDJAMELDocumentsdocuments.fdf

    #55462
    Merlin
    Maître des clés

    this.exportAsFDF(true, true, cPath: « C:UsersDJAMELDocuments », true);

    :Smiley01:

    #55463
    djamel227
    Membre

    bonjour

    s’il vous plait Merlin !
    J’ai réussi, donne moi un coup de main!
    ou je dois placer le code ?

    #55464
    Merlin
    Maître des clés

    Dans le bouton d’envoi, en action « souris enfoncée ».

    Mais enregistrer un PDF et enregistrer un FDF sont deux choses bien différentes qui répondent à des besoins et à des moyens différents.
    :idee:

    #55465
    Antonin TCP
    Membre

    Merci beaucoup beaucoup Merlin!

    Bientôt mon formulaire sera terminé grâce à toi :D

    Mais j’ai un problème de syntaxe que je ne comprend pas, j’ai un « missing ) after condition »  sur ces lignes:

    Code:
    if (ChEnrgDate.value == null || ChEnrgDate.value == «  » || ChEnrgNom.value == null || ChEnrgNom.value == «  »|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == «  » ChEnrgProjet.value == null || ChEnrgProjet.value == «  »))
    {app.alert({cMsg: »Merci de renseigner les champs « Date du jour », « Cadreur », « Journaliste » et « Projet » avant d’enregistrer ce document. », nIcon:2, cTitle:MonTitre});}
    else

    Après ça je vous embêterai plus jamais promis :D

    Merci encore  :priere: :bonjour:

    #55466
    Merlin
    Maître des clés

    Instinctivement je dirais que l’erreur vient de là (non testé) :

    if (ChEnrgDate.value == null || ChEnrgDate.value == «  » || ChEnrgNom.value == null || ChEnrgNom.value == «  »|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == «  » ChEnrgProjet.value == null || ChEnrgProjet.value == «  »))

    Les messages d’erreur de la Console ne sont pas forcément très clairs, là il te dit qu’il manque une parenthèse en début de condition alors que c’est l’inverse : il y en a une en trop à la fin.
    :bonjour:

    D’autre part, le jour où ça m’embêtera je déserterais le forum…
    :geek:

    #55467
    djamel227
    Membre

    Dans le bouton d’envoi, en action « souris enfoncée ».

    Mais enregistrer un PDF et enregistrer un FDF sont deux choses bien différentes qui répondent à des besoins et à des moyens différents.
    :idee:

    *******

    Merci beaucoup Merlin !
    j’ai déjà fait ceci Mais j’en ai pas de résultat
    voila ce que j’ai sur le ficher joint.

    [attachment deleted by admin]

    #55468
    djamel227
    Membre

    je veux enregistrer les données de mon document Pdf dans un lien sur mon ordinateur a chaque saisie.

    #55469
    Merlin
    Maître des clés

    voila ce que j’ai sur le ficher joint.

    Ca marche.
    (Voir ci-joint).

    [attachment deleted by admin]

    #55470
    Merlin
    Maître des clés

    Bonjour Merlin; Est ce que je peux ajouter un chemin vers lequel j’enregistre le document et sous le format .fdf
    par exemple ici ; C:UsersDJAMELDocumentsdocuments.fdf

    Pour pouvoir pré-indiquer le chemin il faut que l’instruction vienne d’un bouton ou d’un menu d’Acrobat, ou bien d’une Action.
    Ce n’est pas possible depuis un document (sécurité oblige).

    :idee:

    #55471
    Antonin TCP
    Membre

    Arg malheureusement ça n’est pas ça ! :(

    J’avais ajouté la paranthèse moi même après plusieurs vaines tentatives. Du coup je l’ai copié avec sans faire exprès.

    Pourtant j’ai comparé mon script au tient et la syntaxe identique, j’ai juste rajouté des champs…

    Je ne comprend pas  :Euuuh:

    Merci encore !

    #55472
    djamel227
    Membre

    Oui ,Merlin ça marche
    Merci beaucoup

    Mais ou est le lien automatisé.
    C:UsersDJAMELDocumentsALG-BLANC

    #55473
    djamel227
    Membre

    this.exportAsFDF(true, true, cPath: « C:UsersDJAMELDocuments », true);

    :Smiley01:

    Il ya une erreur de syntaxe Merlin !

    #55474
    Merlin
    Maître des clés

    Mais ou est le lien automatisé.
    C:UsersDJAMELDocumentsALG-BLANC

    Pour pouvoir pré-indiquer le chemin il faut que l’instruction vienne d’un bouton ou d’un menu d’Acrobat, ou bien d’une Action.
    Ce n’est pas possible depuis un document (sécurité oblige).

    :idee: :idee:

    #55475
    Merlin
    Maître des clés

    Arg malheureusement ça n’est pas ça ! :(
    Pourtant j’ai comparé mon script au tient et la syntaxe identique, j’ai juste rajouté des champs…
    Je ne comprend pas  :Euuuh:

    Quand j’enlève le « else » ça fonctionne : pas de message d’erreur…
    :Euuuh:

Affichage de 25 réponses de 26 à 50 (sur un total de 59)
  • Vous devez être connecté pour répondre à ce sujet.