Toutes mes réponses sur les forums
- 
		AuteurRéponses
- 
		
			
				
15 mars 2019 à 14:02 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65359 bebarthMaître des clés bebarthMaître des clésConcernant le fichier avec l’autre norme, cela n’est pas possible ? C’est possible, mais on ne récupère plus les caractères accentués ! 
 Essaie ce script et donne-moi les résultats de la console.Code:console.show();
 console.clear();
 var Chemin=this.path;
 var donneesCSV=this.getDataObjectContents(« UTF-8.csv »);
 var lesDonnees=util.stringFromStream(donneesCSV);
 console.println(« lesDonnees : « +lesDonnees);
 for (var i=1; iif (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i)); 
 }
 console.println(« lesDonnees 1 : « +lesDonnees);
 var lesDonnees = lesDonnees.replace(/ »/gi, » »);
 console.println(« lesDonnees 2 : « +lesDonnees);
 var lesLignes=lesDonnees.split(separateur);
 console.println(« lesLignes : « +lesLignes);
 var laLigne1=lesLignes[0].split(« ; »);
 console.println(« laLigne1 : « +laLigne1);
 var laLigne2=lesLignes[1].split(« ; »);
 console.println(« laLigne2 : « +laLigne2);
 for (var i=0; iconsole.println(« i : « +i); 
 console.println(« laLigne1 : « +laLigne1);
 console.println(« laLigne2 : « +laLigne2);
 try {
 this.getField(laLigne1).value=laLigne2;
 } catch(e) {}
 }
 this.removeDataObject(« UTF-8.csv »);
 this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);@+ 
 :bonjour:15 mars 2019 à 10:54 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65357 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici une version adaptée spécialement pour les fichiers que tu m’as fait parvenir. Je ne suis pas diplômé es .csv, et je ne pourrais donc pas t’expliquer le pourquoi mais avec tes fichiers UTF-8 on récupères également des guillemets et le retour ligne récupéré n’est pas r. Par contre on récupère bien les caractères accentués, j’ai donc retiré les lignes pour renommer.
 Il faut donc dans un premier temps trouver ce séparateur. Avec : if (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i));
 On vérifie donc le caractère situé entre 2 guillemets (34) et si ce n’est pas un point-virgule (59), c’est le retour ligne !
 Ensuite on retire tous les guillements dans la chaine avec : lesDonnees.replace(/ »/gi, » »); -> ici le « i » n’est pas obligatoire car il est pour « insensitive case », on pourrait se contenter de : lesDonnees.replace(/ »/g, » »);
 Ce qui donne au final :Code:var Chemin=this.path;
 var donneesCSV=this.getDataObjectContents(« fichierData.csv »);
 var lesDonnees=util.stringFromStream(donneesCSV);
 for (var i=1; iif (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i)); 
 }
 var lesDonnees=lesDonnees.replace(/ »/gi, » »);
 var lesLignes=lesDonnees.split(separateur);
 var laLigne1=lesLignes[0].split(« ; »);
 var laLigne2=lesLignes[1].split(« ; »);
 for (var i=0; itry { 
 this.getField(laLigne1).value=laLigne2;
 } catch(e) {}
 }
 this.removeDataObject(« fichierData.csv »);
 this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clés…et si tu les nommes PVPDF.0 à PVPDF.6 (au lieu de PVPDF1 à PVPDF7) tu peux faire la somme juste en indiquant PVPDF comme dans la copie d’écran ! 
 @+
 :bonjour:13 mars 2019 à 17:55 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65353 bebarthMaître des clés bebarthMaître des clésIl faut plutôt utiliser « try & catch » : Code:…
 try {
 this.getField(laLigne1).value=laLigne2;
 } catch(e) {}
 …@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Normalement, si ton fichier pdf et ton fichier data.txt sont dans le même répertoire, tu as juste à modifier le nom « data » pour indiquer le nom exact.
 this.path lit le chemin du fichier pdf et this.documentFileName lit son nom donc il ne faut pas toucher.
 Si le document data.txt n’est pas dans le même répertoire il faut remplacer « var fileName = repertoire+ »data.txt »; » par « var fileName = « le chemin exact du fichier data.txt »; ».
 IL faut s’assurer d’avoir les droits dans ce répertoire !
 @+
 :bonjour:13 mars 2019 à 14:46 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65350 bebarthMaître des clés bebarthMaître des clésVoici un script spécialement adapté pour ton fichier. Code:var Chemin=this.path;
 var donneesCSV=this.getDataObjectContents(« test.csv »);
 var lesDonnees=util.stringFromStream(donneesCSV);
 var lesLignes=lesDonnees.split(« r »);
 var laLigne1=lesLignes[0].split(« ; »);
 var laLigne2=lesLignes[1].split(« ; »);
 for (var i=0; ivar n=laLigne2.charCodeAt(0); 
 if (n==10) laLigne2=laLigne2.substring(1); // Spécialement pour fichier csv fourni ???
 if (laLigne1== »Rfrence ») laLigne1= »Référence »;
 if (laLigne1== »Site de lincident ->Nom complet ») laLigne1= »Site de l’incident ->Nom complet »;
 this.getField(laLigne1).value=laLigne2;
 }
 this.removeDataObject(« test.csv »);
 this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);Les caracères non reconnus sont « é » dans Référence et l’apostrophe dans « Site de l’incident… » 
 @+
 :bonjour:13 mars 2019 à 14:19 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65348 bebarthMaître des clés bebarthMaître des clésCependant, j’ai réalisé le test et pour le champ « Référence » cela fonctionne (même avec les accents)… Cela m’étonne un peu car lorsque je récupère « Référence » du fichier csv j’obtiens « Rfrence » ! 
 @+
 :bonjour:13 mars 2019 à 13:05 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65347 bebarthMaître des clés bebarthMaître des clésJ’ai peut-être une solution mais pour savoir, pourquoi les champs « Site… » et « Client… » sont-ils des listes déroulantes s’il sont remplis via l’application web ? 
 @+
 :bonjour:13 mars 2019 à 11:13 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65345 bebarthMaître des clés bebarthMaître des clésJe comprends que tu ne puisses pas renommer les noms de champs de l’application web, mais pourquoi ne pas renommer les champs du formulaire ??? 
 Ensuite si le nom du champ récupéré commence par « Site de l’incident » tu renvoies vers le nom de champ « Site » par exemple !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Il faut redéfinir l’ordre de calcul des champs.
 Dans ton cas PT1…PT20, puis les PV FDP1 à 7 et enfin ST et PV TOTAL.
 Si je peux, je te conseillerais de lire le tuto « Duplication rapide de champs » qui pourrait te faciliter la tâche !
 https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/
 @+
 :bonjour:13 mars 2019 à 08:24 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65343 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici un script pour une action adaptée spécialement pour ton fichier avec les champs renommés (je ne savais pas si je pouvais poster ton fichier).Code:var Chemin=this.path;
 var donneesCSV=this.getDataObjectContents(« test.csv »);
 var lesDonnees=util.stringFromStream(donneesCSV);
 var lesLignes=lesDonnees.split(« r »);
 var laLigne1=[« Client », »Description », »Reference », »Titre », »Site »];
 var laLigne2=lesLignes[1].split(« ; »);
 for (var i=0; ivar n=laLigne2.charCodeAt(0); 
 if (n==10) laLigne2=laLigne2.substring(1); // Spécialement pour fichier csv fourni ???
 this.getField(laLigne1).value=laLigne2;
 }
 this.removeDataObject(« test.csv »);
 this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client »).value+ »).pdf »);@+ 
 :bonjour:12 mars 2019 à 17:43 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65341 bebarthMaître des clés bebarthMaître des clésSi les infos du fichier csv sont toujours identiques, on peut ignorer la première ligne : Code:var laLigne1= lesLignes[0].split(« ; »);et la remplacer par une table avec les noms corrects des champs renommés dans le pdf, par exemple : Code:var laLigne1= [« Client », »Description », »Reference », »Titre », »Site »];@+ 
 :bonjour:12 mars 2019 à 14:07 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65339 bebarthMaître des clés bebarthMaître des clésJe n’avais pas vu que tu m’avais envoyé un fichier teste sur ma boite mail. 
 J’ai essayé et ça fonctionne mais il va falloir modifier le nom de certains champs pour ne pas avoir de caractères accentués ni de caractères spéciaux (et je crois pas d’espace… en tout cas moi je n’en mets jamais !).
 …et bien sûr indiquer le nom correct du fichier .csv dans le script.
 @+
 :bonjour:12 mars 2019 à 13:53 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65338 bebarthMaître des clés bebarthMaître des clésVoici un nouvel exemple pour un fichier csv avec 2 lignes et qui est supprimé après importation des données. 
 Si tu utilises l’action (uniquement si), tu peux en plus enregistré le fichier complété sous un nouveau nom : nomFichier (Nom Prenom).pdf
 @+
 :bonjour:12 mars 2019 à 10:37 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65336 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Si j’ai bien compris, le fichier csv ne comprend qu’une seule ligne à chaque fois, correct ?
 Voici donc un exemple qu’il faudra certainement adapter en fonction du nom des champs à remplir.
 …après, je ne sais pas si le script doit importer le fichier csv, le supprimer après remplissage des champs, enregistrer le fichier sous un nom (lequel), etc.
 @+
 :bonjour:11 mars 2019 à 15:01 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65333 bebarthMaître des clés bebarthMaître des clés…si tu cliques sur mon pseudo, tu devrais la trouver !!! 
 @+
 :bonjour:11 mars 2019 à 14:28 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65331 bebarthMaître des clés bebarthMaître des clésSi tu peux me faire parvenir ton/tes fichiers(s), je pourrai regarder demain matin ! 
 @+
 :bonjour:11 mars 2019 à 13:23 en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65329 bebarthMaître des clés bebarthMaître des clésbonjour, Cependant, tu ne réponds pas à la problématique principale, qui est de pouvoir importer les données d’un fichier CSV joint à mon formulaire PDF, afin de compléter certains champs de mon formulaire avant de l’envoyer au client. Je n’ai pas suivi ce post depuis le début, mais pour ce point n’est-il pas possible d’utiliser plutôt un fichiet .txt et d’adapter le script de ce post ? 
 https://abracadabrapdf.net/forum/index.php/topic,3498.msg20950.html#msg20950
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, Je crois savoir que l’auteur de ce script est en vacances. :afro: Moi j’étais bien en vacances la semaine dernière, mais je ne suis pas l’auteur du script… :Smiley15: 
 Voici une action d’une adaptation avec traduction.Code:var Chemin = this.path;
 var nomDocument = this.documentFileName;
 var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
 var fileName = repertoire+ »data.txt »;
 var outputDir = repertoire;
 var err = 0;
 var idx = 0;
 while (err==0) {
 err = this.importTextData(fileName, idx++); // Importation des données
 if (err == -1) app.alert(« Erreur : Le fichier ne peut pas être ouvert. »);
 else if (err == -2) app.alert(« Erreur : Les données ne peuvent pas être importées. »);
 // else if (err == -3) app.alert(« Error: Invalid Row »);
 // Nous n’indiquons pas cette erreur car elle signale la fin du tableau de données
 // et il faut donc sortir de la boucle « while »
 else if (err == 1) app.alert(« Attention : Sélection de fichier annulé par l’utilisateur. »);
 else if (err == 2) app.alert(« Attention : Sélection de ligne annulée par l’utilisateur. »);
 else if (err == 3) app.alert(« Attention : Données non trouvées. »);
 else if (err == 0) this.saveAs(outputDir + this.getField(« Nom »).value + « _ » + this.getField(« Prenom »).value + « .pdf »); // Enregistrement du fichier
 }Il faut que ton fichier data.txt soit dans le même répertoire que ton fichier .pdf et tous les fichiers seront enregistrés dans ce même répertoire. 
 Attention à ne mettre de caractères spéciaux dans les nom des champs. Ici j’ai renommé « Prénom » en « Prenom ».
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésJe viens de m’apercevoir dans le second script qu’avec le copier/coller, il y avait 2 fois la variable « i » dans 2 boucles « for » imbriquées !!! 
 Et ça fonctionne quand même… :Euuuh:
 => En fait j’ai modifié le script juste avant de le poster. Dans la version d’origine les boucles n’étaient pas imbriquées. Dans la version avec 2 variables « i », ça fonctionne uniquement s’il n’y a que les 2 fichiers ouverts ou si ce sont les 2 derniers.
 Je pense qu’il vaut mieux changer le nom d’une de ces variables. Ici, j’ai conservé la variable « i » identique au premier script et j’ai remplacé l’autre par « j » :Code:// Insertion page active du fichier ouvert
 var Chemin = this.path;
 var nomDocument = this.documentFileName;
 var d = app.activeDocs;
 for (var j=0; j < d.length; j++) {
 if (j!=0 && d[j].documentFileName==nomDocument) {
 var lautreChemin=d[j-1].path;
 var laPage=d[j-1].pageNum;
 for (var i=this.numPages-2; i>=0; i–) {
 // Pour une page blanche après la dernière page : var i=this.numPages-1;
 // Pour une page blanche avant la première page : i>=-1;
 this.insertPages ({
 nPage: i,
 cPath: lautreChemin,
 nStart: laPage
 });
 }
 // Enregitrement
 this.saveAs({
 cPath: Chemin,
 bPromptToOverwrite: false,
 });
 break;
 }
 }@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici deux scripts.
 Le premier insert la première page d’un fichier PageBlanche.pdf qui se trouve dans le même répertoire que le fichier à traiter.
 Les variantes sont indiquées dans le script. L’enregistrement est prévu, mais il suffit de retirer les lignes si on n’en veut pas !Code:// Insertion page #1 d’un fichier
 var Chemin = this.path;
 var nomDocument = this.documentFileName;
 var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
 for (var i=this.numPages-2; i>=0; i–) {
 // Pour une page blanche après la dernière page : var i=this.numPages-1;
 // Pour une page blanche avant la première page : i>=-1;
 this.insertPages ({
 nPage: i,
 cPath: repertoire+ »PageBlanche.pdf »,
 nStart: 0
 });
 }
 // Enregitrement
 this.saveAs({
 cPath: Chemin,
 bPromptToOverwrite: false,
 });Ce second script insert la page active du fichier précédemment ouvert. 
 Si 15 fichiers sont ouverts et que le fichier à traiter est le dixième, la page insérée sera la page active du neuvième fichier. Est-ce clair ???
 Si ça ne l’est pas, le plus simple est de n’ouvrir que les 2 fichiers nécessaires. En premier le fichier où il y a la page à insérer (afficher la page), puis le fichier à traiter avant de lancer l’action.Code:// Insertion page active du fichier ouvert
 var Chemin = this.path;
 var nomDocument = this.documentFileName;
 var d = app.activeDocs;
 for (var i=0; i < d.length; i++) {
 if (i!=0 && d.documentFileName==nomDocument) {
 var lautreChemin=d[i-1].path;
 var laPage=d[i-1].pageNum;
 for (var i=this.numPages-2; i>=0; i–) {
 // Pour une page blanche après la dernière page : var i=this.numPages-1;
 // Pour une page blanche avant la première page : i>=-1;
 this.insertPages ({
 nPage: i,
 cPath: lautreChemin,
 nStart: laPage
 });
 }
 // Enregitrement
 this.saveAs({
 cPath: Chemin,
 bPromptToOverwrite: false,
 });
 break;
 }
 }@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour Merlin, Ou bien dans le menu local du panneau de navigation « Contenu ». En 2 mots, il sert à quoi ce panneau ? On y voit tous les éléments contenus dans le pdf mais on peut faire quoi avec ? 
 Merci.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésComment a-t-on cette fenêtre ? 
 Peut-on désinstaller uniquement « certaines » polices ??? et non toutes sauf…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici :
 https://we.tl/t-b3T12PT5H6
 Je ne comprends pas pourquoi le fichier est si gros…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, Si je comprend bien, le meilleur moyen serait de refaire ces 2 formulaires avec mes propres champs. Ça, ce n’est pas ce qu’il y a de plus compliqué et de plus long à faire… Certaines fois on cherche la complexité pour pas grand chose. 
 https://we.tl/t-wzG52maJow
 Voilà ! Je te laisse le soin de renommer les champs identiques comme je l’ai fait pour les champs « NOM ».
 Peut-être quelques ajustements de position des champs.
 @+
 :bonjour:25 février 2019 à 10:46 en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65412 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici le fichier avec le script modifié qui indique les bureaux qui ne sont pas cochés.
 Je préfère indiquer comme cela plutôt que « tous… sauf » car ça me parait étrange comme formulation quand le « sauf » devient plus important que le reste !
 Il faut peut-être revoir le texte de l’indication donnée dans ce champ… (bureaux cochés ???).Pour cet étage, il n’y avait pas 40 bureaux mais 33. C’est pour cela que j’ai mis l’instruction « try… catch » qui évite que le script ne s’arrête si le bureau n’existe pas ! 
 @+
 :bonjour:23 février 2019 à 10:41 en réponse à : Les champs ne se classent pas automatiquement (tabulations) #65416 bebarthMaître des clés bebarthMaître des clésbonjour, Ta question m’a fait m’apercevoir que l’outil qui permettait de cliquer sur les champs pour leur affecter un ordre de tabulation a disparu d’Acrobat Pro. Ça me rassure, car les dernières fois que j’ai voulu utiliser cette outil après ne pas l’avoir utilisé pendant des années, je me suis demandé si je ne l’avais pas imaginé… Si tu as des besoins particuliers en ordre de tabulation le mieux est de commencer par un de ces deux modes automatiques pour faire le plus gros, et ensuite de repasser en « manuel » pour peaufiner. C’est également la meilleure façon que j’ai trouvé pour pour ordonner les champs, sachant que je crois qu’il est même impossible de le faire par JavaScript. @+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clés…et si tu ne veux pas partager ton fichier avec tout le monde, tu envoies le lien en MP. 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…mais la position restera quand même centrée verticalement, et pas sûr que la position horizontale soit exacte non plus par rapport à l’autocollant !!! 
 @+
 :bonjour:22 février 2019 à 16:28 en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65410 bebarthMaître des clés bebarthMaître des clésApparemment tous les bureaux n’existent pas. 
 Voici ce que j’ai fait. Tu me dis !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésVoici une version améliorée qui te permet d’indiquer le nombre de fois qu’il faut dupliquer chaque page. 
 Je ne vois pas bien l’utilité du script ! J’espère que ce n’est pas uniquement pour imprimer car ça peut se régler via le gestionnaire d’impression… non ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, Mon fichier est trop lourd pour être transmis à priori. …une copie d’écran alors ! 
 @+
 :bonjour:22 février 2019 à 09:35 en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65409 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Pour chaque bureau on doit avoir soit la coche soit la croix rouge ou aucune des 2 cases peut ne pas être cochée ?
 Je n’ai pas vérifié, mais tous les bureaux 701 à 740 existent ???
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, Ça marche aussi pour 3 pages ? Une action dans Acrobat ? Tu veux dire 3 fois de suite la même page ? 
 Pour cela il faut modifier un peu le script. Tu me dis…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 On ne peut pas dupliquer une page d’un fichier .pdf, par contre on peut créer un nouveau fichier où l’on insert deux fois de suite la même page !
 Voici une action qui fait cela.
 @+
 :bonjour:21 février 2019 à 18:57 en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65407 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Attention aux noms des champs utilisés dans les scripts. Ils ne doivent contenir ni espaces ni caractères spéciaux.
 …et dans tons cas, toutes les cases à cocher doivent se dénommer de la même façon à l’indice près (et non « Case a cocher1 », « case à cocher2),…).
 Voici ton fichier retouché.
 @+ bebarthMaître des clés bebarthMaître des clésBonjour, 
 Ce serait plus pratique si tu pouvais partager un fichier !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…à moins d’essayer de mettre « app.activeDocs » en « trustedFunction », mais je n’ai pas le temps d’essayer aujourd’hui, et en plus j’ai mal au crâne ! :geek: 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…et je viens de penser que les documents devraient être « disclosed » pour pouvoir copier les valeurs de l’un à l’autre et apparemment on ne peut pas rajouter le script, à part peut-être sur le document original LiveCycle Designer… 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésAcrobat Pro ne permet même pas d’accéder aux noms des champs. ??? 
 Pourtant je connais assez bien une personne qui a écris un script qui liste le nom des champs… :geek:
 …et ça fonctionne !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés??? 
 Ça demande un peu de travail de recherche parce que les champs n’ont pas les mêmes noms, mais sinon on peu bien remplir le deuxième formulaire avec les données du premier, non ?
 Me trompé-je ??? (beurk !)
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…remarque, si on ne peut pas fusionner les documents, il n’y a pas de raison que ce soit interdit !!! 
 On pourrait créer une action qui reprend les valeurs des champs d’un des formulaires pour remplir l’autre !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Répliquer la saisie des champs, à première vue c’est faisable, mais a-t-on le droit ?
 On ne pourra pas fusionner les 2 documents car il ont été généré par Adobe LiveCycle Designer.
 C’est pour l’instant ma seule question…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…normal que ça ne marche pas, ici il faut écrire : Code:indice = parseInt(str.substring(n+7));str.substring donne la position du premier caractère (n), et +1 pour le caractère suivant. 
 Pour « mEnfant » il faut rajouter 7 caractères.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Il faut que tu récupères « l’indice » de ton champ avec :Code:var str = this.event.target.name;
 var n = str.indexOf(« _ »);
 indice = parseInt(str.substring(n+1));Ici, « indice » représente la valeur numérique de tous les caractères situés après « _ » dans le nom du champ. 
 Si ton champ se nome « reditTypeAutreCredit_0 » indice vaut 0, et tu pourras écrire :Code:this.getField(« nature_credit_ »+(indice+1)).value = this.getField(« CreditTypeAutreCredit_ »+indice).value;
 au lieu de
 this.getField(« nature_credit_1 »).value = this.getField(« CreditTypeAutreCredit_0 »).value;etc. 
 …si j’ai bien compris ce que tu veux faire.
 Et quand on commence à avoir x fois le même script pour le même calcul il est préférable de le mettre en fonction dans un script de document. On ne l’écrit qu’une seule fois et s’il y a une modification, on ne la fait qu’une fois.
 Il existe plusieurs exemples sur le forum, dont celui-ci :
 https://abracadabrapdf.net/forum/index.php/topic,3594.0.html
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, …lorsque je clique sur le bouton valider, le contrôle se fait correctement. Lorsque le champ en question est vide j’ai bien un message d’erreur mais lorsque je clique sur OK j’ai la fenêtre pour envoyer le document par mail qui apparaît. Vu ce que tu nous dis, il semble que tu as bien utilisé l’instruction « if » pour indiquer ta condition, et bien il faut rajouter « else » pour indiquer une instruction si cette condition n’est pas respectée… 
 Il faut séparer les instructions si la condition est respectée et celles si elle ne l’est pas.Code:if (tous les champs ne sont pas remplis) {
 message d’erreur;
 } else {
 envoi du formulaire;
 }@+ 
 :bonjour:15 février 2019 à 08:33 en réponse à : Formulaire – Masquer les informations selon la réponse #65267 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Il y a plusieurs erreurs dans ton script.
 Lorsque tu écris this.event.target.isBoxChecked(3), 3 n’est pas pas le non du champ mais le numéro du widget (qui est un numéro d’indice pour les champs de même nom).
 Ensuite, tu vas regarder l’état du template « page4 » qui n’existe pas ! tu n’as qu’un template « page9 ».
 Il faudrait donc écrire (avec les mêmes syntaxes utilisées) :Code:if(this.event.target.isBoxChecked(0)) {
 this.getTemplate(« page9 »).hidden = false;
 } else {
 this.getTemplate(« page9 »).hidden = true;
 }Mais je pense que tu vas vite t’apercevoir que ça ne te convient pas ! 
 Lorsque tu affiche ta page, elle se place à la fin. Pour la placer au bon endroit c’est un peu plus compliqué, d’où mon renvoi précédent à ce post :
 https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésOK, mais si on compare avec les règles de l’Anglais il n’y a pas photo ! parce qu’il y a des règles en anglais ??? :geek: …pareil pour endsWith, ça simplifie la vie certaines fois ! 
 Il y avait également « includes », mais cette méthode ne fonctionne apparemment plus (du moins je n’ai jamais réussi).
 https://www.w3schools.com/jsref/jsref_includes.asp
 @+
 :bonjour:13 février 2019 à 21:37 en réponse à : Formulaire – Masquer les informations selon la réponse #65264 bebarthMaître des clés bebarthMaître des clésbonsoir, 
 Regarde ce post :
 https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
 et ces 2 exemples :
 https://abracadabrapdf.net/forum/index.php?action=dlattach;topic=3173.0;attach=2919
 https://abracadabrapdf.net/forum/index.php?action=dlattach;topic=3173.0;attach=2928Est-ce que ça te conviendrait ?? 
 @+
 :bonjour:12 février 2019 à 15:29 en réponse à : Bloquer la navigation via touche clavier et molette souris #65275 bebarthMaître des clés bebarthMaître des clésbonjour, 
 On peut créer un script d’ouverture de page qui interdit l’accès si les champs de la page précédente ne sont pas tous remplis (voir exemple).
 Pour les champs, on pourrait écrire également un script pour faire un retour si le champ précédent n’ai pas rempli, mais est-ce vraiment « user-friendly » ?
 En tout cas, c’est faisable. La complexité se fera en fonction de la dénomination des champs.
 @+
 :bonjour:P.S. : Je parle pour Adobe Acrobat Pro, je ne sais pas si on peut faire ça à partir d’InDesign… 12 février 2019 à 14:39 en réponse à : Formulaire – Masquer les informations selon la réponse #65262 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Dans ton cas, il faut que tu crées 2 champs texte avec un fond blanc qui viendront masquer tes tableaux. Dans mon exemple ils ne sont pas blancs, mais c’est pour mieux te montrer…
 Ensuite tu vas dans les propriétés du bouton OUI et tu suis la copie d’écran (ici tu coches « masquer »).
 Enfin tu vas dans les propriétés du bouton NON et tu fais la même chose, sauf que tu coches « afficher ».
 Est-ce clair pour toi ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésParce-que certaines règles atteignent quand même des sommets d’absurdité : 
 – Certains de ces adjectifs numéraux cardinaux peuvent avoir une valeur ordinale pour exprimer l’année, le jour, les parties d’un ouvrage, le numéro d’une rue, le nom d’un souverain… ils restent alors invariables :
 – un est invariable en nombre mais pas en genre : cinquante et une pagesCes règles sont peut-être un peu compliquées mais personnellement ne me paraissent pas absurdes (peut-être y en a-t-il d’autres qui le sont…). 
 Si l’on parle des tomes un, ou des numéros un des rues, je ne vois pas pourquoi on mettrait un « s » à un !
 Idem pour cinquante et une pages qui signifie cinquante plus une… pages !
 Bien qu’adjectif numéral cardinal, « un » qualifie l’unité de base.
 Voici un fichier avec la nouvelle orthographe. j’ai juste rajouté des traits d’union où il en fallait pour garder un script commun.
 Il aurait fallu revoir un peu le script pour en faire un spécifique…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbojour, Où as-tu vu ça ? A plusieurs endroits : 
 https://leconjugueur.lefigaro.fr/frlesnombres.php
 https://www.lalanguefrancaise.com/orthographe/guide-complet-nouvelle-orthographe/
 https://www.cyberentraide.com/nouvelle-orthographe-nombres-lettres/
 …La recommandation de 1990 n’était pas obligatoire, je ne sais pas ce qu’il en est de la nouvelle orthographe ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Il faut retirer ou ne pas exécuter les 2 lignes clearItem() du script de document :Code:…
 //this.getField(« ListeNiveau1 »).clearItems();
 …
 //ffille.clearItems();
 …@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, … mais je vais essayer de reprendre le script total à ma sauce… J’ai commencé et je suis arrivé à peu près à la même logique qu’Alex, j’ai donc conservé pratiquement toute la partie « fonction » ! 
 Du coup, il y a deux versions : avec et sans monnaie.
 Je n’ai pas testé tous les nombres, mais normalement tu devrais pouvoir écrire jusqu’à 999 trillions et des brouettes…. (999 x 1018).
 Si tu regardes le script, il est prévu pour beaucoup plus (1064) mais je n’avais pas pensé qu’Acrobat était si limité… :geek:
 Merci de me dire s’il y a encore des erreurs.
 J’ai vu qu’avec la nouvelle orthographe il fallait mettre des tirets partout, mais tant pis. Quelqu’un d’autre s’en chargera s’il le désire !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Ça ne devrait pas être très compliqué à résoudre, mais je vais essayer de reprendre le script total à ma sauce, car j’ai vu d’autres petits soucis comme par exemple on ne dit pas un million euros, mais un million d’euros. Idem pour milliard (même si on ne les a pas :geek: ).
 Ça va sûrement être compliqué ce week-end… ce sera certainement en début de semaine prochaine !
 @+
 :bonjour:7 février 2019 à 14:42 en réponse à : Peut on modifier le script d’un champ de formulaire avec l’outil Actions ? #65255 bebarthMaître des clés bebarthMaître des clésc’est vrai qu’a 67 ans j’ai déjà perdu pas mal de neurones :Smiley08: j’espère pas trop !!! j’y arrive à grands pas ! 
 @+
 un autre Bernard
 :bonjour: bebarthMaître des clés bebarthMaître des clésMerci de me dire si je suis passé à côté de certaines règles ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésOn peut peut-être faire des concessions pour ces derniers, mais pour les accords… Je sais que les règles françaises sont ubuesques mais il faut bien les respecter… :mur: Je pense traiter la chaîne de caractères finale plutôt que chercher à modifier le script d’Alex, sinon il va y avoir un paquet de conditions avec plein d’exceptions ! 
 Alors que dans le résultat final on ne traite que le résultat !!!
 @+
 :bonjour:7 février 2019 à 10:15 en réponse à : Peut on modifier le script d’un champ de formulaire avec l’outil Actions ? #65253 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Il va falloir être sûr de ton sript et le transformer en unicode pour pouvoir l’insérer dans le script de l’action.
 https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-javascript-et-unicode/
 L’utilitaire :
 https://abracadabrapdf.net/utilitaires/utilitaires-pdf/abra-txt2unicode-texte-vers-unicode/
 Ensuite, voici le script de l’action :Code:var g=this.getField(« nomduchampAmodifier »);
 // Tu colles le texte unicode entre les guillemets
 var leScript= »u0076u0061u0072u0020u0066u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu006Du005Fu0073u0061u0075u0076u0065u0022u0029u003Bu000Du0076u0061u0072u0020u0061u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0066u0069u0073u0063u0061u006Cu0065u0022u0029u003Bu000Du0076u0061u0072u0020u0064u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0044u0061u0074u0065u005Fu0072u0065u0063u0065u0070u0074u0022u0029u003Bu000Du0076u0061u0072u0020u0065u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0032u0035u0061u006Eu0073u0022u0029u003Bu000Du0066u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0028u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu005Fu0063u006Fu006Eu0074u0072u0022u0029u002Eu0076u0061u006Cu0075u0065u000Du002Bu0020u0022u002Du0022u0020u002Bu0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0063u006Fu006Eu0074u0072u005Fu006Eu006Fu006Du0022u0029u002Eu0076u0061u006Cu0075u0065u0029u002Bu0022u002Du0022u002Bu0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0061u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0031u000Du0064u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0064u0064u002Du006Du006Du002Du0079u0079u0079u0079u002Du0048u0048u003Au004Du004Du0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0065u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0032u0036″;
 g.setAction(« Calculate », leScript); // pour un script de calcul
 this.saveAs({
 cPath: this.path,
 bPromptToOverwrite: false,
 });…puis tu lances l’action après avoir ajouté tous les fichiers dans la liste. Si tu en as 1000, fait déjà un essai avec quelques uns… 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Je suis parti sur le principe que le script d’Alex est correct, donc je découpe le nombre en 2 parties : avant et après la virgule et je les envois à la fonction d’Alex séparément puis je les rassemble pour les afficher dans le champ.
 Il y a peut-être des lignes inutiles dans le script d’Alex qui pourraient être retirée pour cette application, mais je n’ai pas regardé.
 Dans les scripts de document, « init » n’est pas une fonction, mais un script lu à l’ouverture du document pour initialiser les différentes variables. Une fonction est lue lorsqu’elle est appelée.
 @+
 :bonjour:7 février 2019 à 07:54 en réponse à : Peut on modifier le script d’un champ de formulaire avec l’outil Actions ? #65251 bebarthMaître des clés bebarthMaître des clésbonjour, Je dois modifier le script d’un champ de formulaire pdf sur plus de 1000 fichiers. C’est selon ce que tu entends par le mot « modifier » que cela dépend ! 
 On ne peut pas récupérer le script d’un champ, mais on peut lui en attribuer un :
 https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_setAction2bc-17&rhtocid=_6_1_8_31_2_16
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés???? comme ça je ne vois pas d’où vient le problème. 
 pour la console, tu tapes ctr J. Une fenêtre va s’ouvrir avec (ou pas) des infos.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésvoilà ! 
 https://we.tl/t-9tEVvjvb1P
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…effectivement, je n’ai pas du tout regardé ça ! J’ai pris le script d’Alex tel quel. 
 J’ai bien pensé à mettre euro et centime au singulier pour un, mais pas le reste.
 J’essaie de regarder ça demain.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Je suis repartis du fichier original.
 Merci Alex.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Le calcul du champ se faisait, mais il n’affichait pas la valeur. Heureusement, car en plus il y avait une erreur de calcul !
 J’en ai profité pour uniformiser la position des $ (après la somme, avec un espace).
 NORMALEMENT, ça devrait mieux fonctionner.
 https://we.tl/t-grhWEQXsoe
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Pour l’instant je ne comprend pas !
 Pour moi ça fonctionne du premier au dernier fichier… Pour toi, la page est ajoutée sur tous les fichiers sauf le dernier ? Que se passe-t-il si tu rajoutes des fichiers ?
 Y a-t-il une indication dans la console ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Les images 2 et 3 semblent identiques…Mais le collage ne fait pas, pourtant hier j’y suis arrivé Les différents fichiers s’ouvrent-ils ? 
 Que donne le résultat ?
 Qu’indique la console ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 J’espère avoir tout compris !
 Pour modifier le numéro, il faut changer la valeur par défaut (mettre à 0 pour la prochaine ouverture à 001).
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Seul le fichier « verso » doit être ouvert !
 Les autres fichiers doivent être indiqués dans la fenêtre « Fichiers à traiter » que tu vois apparaitre une fois que tu as cliqué sur l’action.
 Il faut cliquer « Ajouter des fichiers »… et penser à retirer le fichier « verso » de la liste !!!
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici donc ce que je te propose !
 Je te transmets un lien WeTransfer car le fichier ne passe plus en pièce jointe.
 https://we.tl/t-19jbMztQtF
 Une vérification s’impose peut-être pour voir si je n’ai pas fait d’erreurs.
 Si tu as des idées qui pourraient améliorer l’utilisation, tu me demandes !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voici ce que j’ai fait.
 Le script retire et ne compte pas les éventuels retours lignes en fin de texte.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésJe pensais que tu tapais du texte, mais ce n’est apparemment pas le cas ! 
 Comment arrivent les données du QR code dans le champ ???
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Tout m’a l’air réalisable, avec Acroabt Pro évidemment !
 Peux-tu partager un fichier ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 A mon avis, le plus simple est d’ouvrir le fichier « Verso » et de lancer l’action après avoir rajouté tous les fichiers.Code:var Chemin = this.path;
 var nomDocument = this.documentFileName;
 var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
 this.insertPages ({
 nPage: 0,
 cPath: repertoire+ »Verso.pdf »,
 nStart: 0
 });
 this.saveAs({
 cPath: Chemin,
 bPromptToOverwrite: false,
 });Tu peux indiquer un répertoire au lieu de tous les fichiers, mais attention, ,ça rajoutera la page verso à tous les fichiers inclus, même le fichier « verso » ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…facile à trouver, il suffit de chercher à la loupe ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésBonjour, 
 Il suffit de compter le nombre de retour ligne.
 Le plus compliqué c’est peut-être si tu veux le faire à la volée…
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…je te fais ça demain. 
 Le X est défini ou peut varier ?
 Les fichiers se trouvent tous dans le même répertoire ?
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 …avec Acrobat Pro, évidemment !!!
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésIci ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…et effectivement ça marche beaucoup mieux ! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésÂllo! 
 J’essaye de regarder ce weekend, sinon en tout début de semaine prochaine.
 Je peux renommer des champs ???
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Je n’ai pas testé avec ton fichier mais je pense avoir déjà répondu à ta question dans un post précédent :bonjour, 
 J’ai lu et relu le script sans ne rien trouver ! :doute:
 Puis vint la lumière. :idee:
 D’après toi, quand est lancée la fonction « Initialisation » dans ton document ??? hé bien : jamais…
 Dans son document original, Alex a mis un script d’ouverture de page.Tu me dis !!! 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, Puis au domicile compléter le reste (type de contrat, options souhaitées etc …) Si c’est avecAdobe Reader, je dirais : NON, avec Acrobat Pro : OUI. 
 @+
 :bonjour:1 février 2019 à 17:56 en réponse à : Existe t-il une protection applicable des champs de formulaire avec mot de passe #65153 bebarthMaître des clés bebarthMaître des clésbonjour, 
 Tu pourrais-peut-être mettre ces champs en lecture seule avant d’envoyer le formulaire. Par contre, si quelqu’un ouvre le fichier avec Adobe Pro, il peut modifier les champs !
 Sinon il y a l’aplatissement des champs, mais on ne peut aplatir qu’une page complète. Si certains champs ne doivent pas être aplatis, ça complique un peu… mais c’est possible.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Comme tu veux, soi tu le places ici, soit en MP !
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonsoir Merlin, Ton script fait apparaitre la Console, pas besoin de plus. J’utilise tellement peu Adobe Reader que je ne savais pas qu’on pouvait faire apparaitre la console sans le fichier .js ! En réfléchissant encore, je me disais qu’on pourrait plutôt faire apparaitre le texte dans une fenêtre défilante comme dans l’exemple ci-joint, c’est toujours plus sexy que la Console. 
 :geek:Je ne sais pas si c’est plus sexy, mais certainement plus sympa ! A voir suivant la réponse de MyriamGE. On peut même ajouter un bouton d’affichage dans la console en option (si tu vois ce que je veux dire…). 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonsoir, Je vais surement en avoir quelques autres. :Smiley03: Une fois ton fichier terminé (ou presque) si tu veux le partager, je pourrai y jeter un oeil pour essayer de le peaufiner un peu… 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonsoir, 
 Ça ce n’est pas très compliqué !Code:console.show();
 console.clear();
 var outputString = « »;
 var Noms = « »;
 var Variables = « »;
 for (var i=0; ivar f = this.getField(this.getNthFieldName(i)); 
 if (f!=null && f.type!= »button » && f.type!= »signature ») {
 Noms+=f.name + « ; »;
 Variables+=f.valueAsString + « ; »;
 }
 }
 laChaine=Noms+ »rn »+Variables;
 console.println(« Contenu des champs : « + laChaine);Par contre il faut installer le fichier .js pour avoir la console avec Adobe Reader (https://abracadabrapdf.net/download/JSDebugger_button.js.zip). 
 …je pense que je vais revenir sur le sujet (plus tard).
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Voilà, je n’ai fait que la première partie des champs, je te laisse faire l’autre !
 Il faudrait revoir les noms des champs qui ne doivent contenir ni espaces, ni caractères spéciaux ainsi que l’ordre de tabulation et l’ordre du calcul des champs.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Lorsque dans le script on ne crée pas la pièce jointe avec « createDataObject », cela fonctionne.
 Il faudrait donc essayer avec un fichier déjà incorporer et adapter le script de ce post :
 https://abracadabrapdf.net/forum/index.php/topic,3592.msg21864.html#msg21864
 …mais je ne vais pas pouvoir faire cela cette après-midi !
 J’essaye de regarder ce weekend.
 Si quelqu’un ( :extra: ) veut essayer, il faut mettre le fichier EnregistrementCSV.js dans le répertoire JavaScript d’Adobe Reader (https://www.abracadabrapdf.net/utilitaires/utilitaires-pdf/show_me_the_path/) et utiliser le fichier Demo_Export_BB.pdf
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonsoir, … bebarth qui connait bienle sujet. :geek:Premiers essais pas très concluants ! 
 J’ai essayé un script de document mais ça n’a pas fonctionné…
 J’essaye de regarder demain ou ce weekend.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clés…and if you try to zip the file! is it the same result even if the size is not reduced? 
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésHi, 
 How do you try to send the pdf file? via a mailer (Outlook or something like that?).
 Do you have an error message? Please send a screenshot!
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Si c’est possible (s’il n’y a pas d’autres indications d’impression à donner) je rajouterais bUI: false, sinon on a la boîte de dialogue qui s’ouvre et je trouve que ça perd un peu de son utilité…
 Ce qui donne :Code:this.print({bUI: false, bShrinkToFit: false});@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonjour, 
 Sur Paris il fait quand même 3°C… et on attend de la neige pour lundi et mardi !!! au mois 5 mm, mais ce sera assez pour semer la pagaille…
 Comme l’a indiqué Merlin, le script de document se charge à l’ouverture du document. Il est lié au document, ici le script est une fonction appelée par quelleOption();.
 Lorsque tu copies/colles les cases dans ton document original, tu ne copies pas ce script… C’est pour ça que ça ne fonctionne pas !
 Il faut que tu trouves dans ta version d’Acrobat où se trouvent les scripts de document, et tu copies/colles celui qui se incorporé dans le fichier que je t’ai envoyé. Sur Acrobat DC, tu pourras les trouver dans Outils -> Javascript.
 @+
 :bonjour: bebarthMaître des clés bebarthMaître des clésbonsoir, 
 A mettre en script de calcul du champ texte :Code:if (this.getField(« Liste »).value==0) {
 this.event.target.display=display.hidden;
 } else {
 this.event.target.display=display.visible;
 }@+ 
 :bonjour: bebarthMaître des clés bebarthMaître des clésPetite inversion, désolé ! 
 @+
 :bonjour:
- 
		AuteurRéponses

