abracadabraPDF › Forums › PDF – Général › Liste pour remplissage automatique
- Ce sujet est vide.
- CréateurSujet
- 3 juin 2020 à 19:26 #46347
LunahStella
ParticipantEnfin Merlin, j’ai réussi à « poster »… Je ne prenais pas le bon chemin pour m’y rendre.
Cela fait 2 jours que je fouille et j’ai regardé tout ce qui s’appelle « liste, mère, fille » et il semblerait que je sois vraiment nulle, car je ne comprends strictement rien à ce qui est là. Ce n’est pourtant pas d’hier que j’utilise Acrobat Pro, mais pour une fonction qui me semble toute simple, il n’y a pas moyen d’y arriver. Peut-être que je transpose ou modifie incorrectement vos formules de JavaScript, mais cela ne fonctionne tout simplement pas pour moi.
C’est pourtant simple mon truc.
Lorsque je choisi le « Porteur » dans la liste, je veux que son titre apparaisse automatiquement, ainsi que son numéro de cellulaire. C’est tout.
Je fais ces « Avis de travaux » plusieurs fois par semaine et je veux me sauver du temps. Il y a une liste de 10 noms pour 7 titres d’emploi et évidemment, 10 numéros de téléphone.
Voilà c’est tout simple; sûrement pour vous, mais moi je n’y arrive pas. Les formules que je transpose « ne plantent pas », mais elles ne fonctionnent juste pas.
Aidez-moi s’il vous plaît; je commence à désespérer de trouver la solution à mon problème.
Merci d’avance

- CréateurSujet
- AuteurRéponses
- 4 juin 2020 à 10:07 #67696
MerlinMaître des clésBonjour et bienvenue
Tous les chemins mènent à Rome !
Considérant que toutes nos sœurs de la belle province lisent l’anglais je crois que tu devrais commencer par cette page :
https://www.pdfscripting.com/public/List-Field-Usage-and-Handling.cfm
Et en particulier par les documents Auto-Populate Fields From Dropdown et Fill List Field from List Selection qui y sont proposés en téléchargement libre.C’est un excellent tuto, très synthétique, avec des exemples concrets et forcément bien mieux structuré que tout ce qu’on peut glaner sur des forums.
:Smiley15:4 juin 2020 à 13:42 #67697LunahStella
ParticipantBonjour et bienvenue
Tous les chemins mènent à Rome !
Considérant que toutes nos sœurs de la belle province lisent l’anglais je crois que tu devrais commencer par cette page :
https://www.pdfscripting.com/public/List-Field-Usage-and-Handling.cfm
Et en particulier par les documents Auto-Populate Fields From Dropdown et Fill List Field from List Selection qui y sont proposés en téléchargement libre.C’est un excellent tuto, très synthétique, avec des exemples concrets et forcément bien mieux structuré que tout ce qu’on peut glaner sur des forums.
:Smiley15:Merci Merlin. Effectivement je suis bilingue.
Je vais regarder le tout, du moins la première partie car pour voir les deux autres que tu proposes, ils ne sont pas proposé en téléchargement libre. Je dois devenir membre à 150$ par année, ce que je ne compte pas faire. Trop dispendieux pour moi.
Je vais continuer de piocher avec les infos données dans la première portion et je vais voir ce que cela donne. Je suis très heureuse de vous avoir trouvé, j’apprécie votre aide.
4 juin 2020 à 19:08 #67698
bebarthMaître des clésbonjour,
Si je comprends bien, tu as une liste de 10 noms auxquels tu dois associer un titre parmi 7 mais toujours le même pour chaque personne et idem pour le numéro de téléphone.
Si c’est le cas il n’y a pas besoin de liste mère-fille.
Tu me dis !
@+
:bonjour:4 juin 2020 à 19:44 #67699LunahStella
Participantbonjour,
Si je comprends bien, tu as une liste de 10 noms auxquels tu dois associer un titre parmi 7 mais toujours le même pour chaque personne et idem pour le numéro de téléphone.
Si c’est le cas il n’y a pas besoin de liste mère-fille.
Tu me dis !
@+
:bonjour:Effectivement: J’ai une liste de 10 porteurs de dossiers, ils ont chacun leur titre d’emploi (le même pour 2 d’entre eux) et chacun leur numéros de téléphones……….. J’ai réglé le problème pour le titre d’emploi, ainsi : (if (event.value=this.getField(« Porteur »).value) en utilisant le champ d’exportation de donnée et via mon champs de « Titre »……
Mais pour le numéro de téléphone, je ne trouve pas encore. Je fouille, mais ce doit être trop simple, tout le monde a des trucs bien plus compliqués pour moi
lolll Merci
4 juin 2020 à 20:06 #67700
bebarthMaître des clésVoilà,
Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond à l’indice dans cette liste.
Tu crées une table avec les infos nécessaires en script de document.
Tu places un petit script en script de touche personnalisé.
…et le tour est joué !
@+
:bonjour:4 juin 2020 à 22:46 #67701
MerlinMaître des clésJe n’y aurai pas pensé !
:bravo:4 juin 2020 à 22:50 #67702
MerlinMaître des cléscar pour voir les deux autres que tu proposes, ils ne sont pas proposé en téléchargement libre. Je dois devenir membre à 150$ par année, ce que je ne compte pas faire. Trop dispendieux pour moi.
1000 excuses.
Comme je suis membre je n’avais pas fait attention à ça.
:geek:8 juin 2020 à 13:24 #67703LunahStella
ParticipantVoilà,
Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond à l’indice dans cette liste.
Tu crées une table avec les infos nécessaires en script de document.
Tu places un petit script en script de touche personnalisé.
…et le tour est joué !
@+
:bonjour:Un gros gros MERCI Bebarth……. Problème réglé. Merveilleux !!!
Bonne journée à vous tous, vous êtes super !
9 juin 2020 à 17:08 #67704Michoux
ParticipantVoilà,
Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond à l’indice dans cette liste.
Tu crées une table avec les infos nécessaires en script de document.
Tu places un petit script en script de touche personnalisé.
…et le tour est joué !
@+
:bonjour:Bonjour,
Je passais par votre excellent forum pour un problème similaire.
Cette méthode est astucieuse,propre et évolutive pour mon cas
J’ai donc modifié un de mes fichiers en m’en inspirant très (trop !) largement :siffle:
Toutefois, lorsque je veux récupérer la chaîne de caractères plus loin dans mon formulaire, c’est la valeur d’exportation du champ qui est retournée.En exemple :
if (this.getField(« Toto »).value!= »Off ») {
event.target.value=this.getField(« Tintin »).value;
} else {
}Je veux récupérer le display du champ Tintin, mais le script me renvoie la valeur d’exportation du champ.
Le champ Tintin est un menu déroulant avec 3 options, renvoyant chacune à une valeur d’exportation {0,1,2}, valeurs que j’utilise par ailleurs pour remplir automatiquement d’autre pages du formulaire, exactement selon votre méthode.
Connaissez-vous un moyen de récupérer le texte et non la valeur d’exportation du champ ?Merci d’avance pour vos réponses toujours éclairées !
A+9 juin 2020 à 19:39 #67705
bebarthMaître des clésbonjour,
Pour ce faire, il faut d’abord trouver la position courante de la liste déroulante, puis lire le nom de l’élément à cette position, ce qui donne :Code:if (this.getField(« Toto »).value!= »Off ») {
var position=this.getField(« Tintin »).currentValueIndices;
event.target.value=this.getField(« Tintin »).getItemAt(position, false);
} else {
…
}https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm%23TOC_currentValueIndicesbc-13&rhtocid=_6_1_8_31_1_12
et
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_getItemAtbc-12&rhtocid=_6_1_8_31_2_11
@+
:bonjour:10 juin 2020 à 17:46 #67706Michoux
Participantbonjour,
Pour ce faire, il faut d’abord trouver la position courante de la liste déroulante, puis lire le nom de l’élément à cette position, ce qui donne :Code:if (this.getField(« Toto »).value!= »Off ») {
var position=this.getField(« Tintin »).currentValueIndices;
event.target.value=this.getField(« Tintin »).getItemAt(position, false);
} else {
…
}https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm%23TOC_currentValueIndicesbc-13&rhtocid=_6_1_8_31_1_12
et
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_getItemAtbc-12&rhtocid=_6_1_8_31_2_11
@+
:bonjour:Bonsoir bebarth,
Merci beaucoup pour votre réponse et pour votre temps.
J’ai essayé de régler mon problème en me servant de votre code et de la documentation vers laquelle pointent les 2 liens.
Je comprends l’idée mais la réalisation pêche :mur:
J’attache un fichier exemple.pdf qui comprend mes 3 champs {Toto, Tintin, Gaston} et votre code. Savez-vous m’expliquer pourquoi le champ Gaston ne renvoie pas le contenu du champ Tintin malgré l’emploi de l’argument false ?
J’arrive à renvoyer la valeur d’exportation mais pas le texte.
Merci d’avance pour votre aide précieuse :bonjour:10 juin 2020 à 19:10 #67707
bebarthMaître des clésbonsoir,
Le script n’aimait pas le nom de la variable « position ». Certainement un mot réservé !!! Je n’avais jamais remarqué…
Je l' »ai changé en « pos » et tout fonctionne correctement.Il faut également cocher la case « Valider la valeur de la case immédiatement » pour que comme c’est indiqué la valeur soit prise en compte immédiatement.
Dans l’exemple j’ai rajouté un champ qui n’affiche rien si la liste est en position 0 (au lieu d’afficher « –Rien–« ).
@+
:bonjour:10 juin 2020 à 21:54 #67708Michoux
ParticipantMille mercis bebarth pour ce retour rapide :bonjour:
Je ne comprenais d’où venait le problème et je n’ai jamais pensé qu’il pouvait venir du nom de la variable !
Tout fonctionne à présent et ce même post dont je ne suis pas l’auteur aura permis de régler 2 de mes problèmes dans un intervalle court.
Bravo pour le temps consacré à ce forum, qui devient une véritable mine d’informations dans laquelle je pioche bon nombre de solutions.
Merci encore et bonne continuation.11 juin 2020 à 15:51 #67709
bebarthMaître des clésbonjour,
« position » ne fait pas partie des mots réservés en JavaScript :
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Mots_r%C3%A9serv%C3%A9s
Je ne vois pas comme ça pourquoi ça ne fonctionnait pas !
@+
:bonjour:11 juin 2020 à 16:01 #67710
MerlinMaître des clésJavaScript et PDF-JavaScript n’ont apparemment pas les mêmes mots réservés !
Mais bon, pour une fois qu’il utilise un mot français on ne va pas se plaindre.
:Smiley03:11 juin 2020 à 16:09 #67711
bebarthMaître des clés:extra: bon à savoir ! :extra:
@+
:bonjour: - AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
