Toutes mes réponses sur les forums
-
AuteurRéponses
-
MerlinMaître des clésExcellent !
:bravo:
MerlinMaître des clésJe viens de voir de voir un documentaire à la télé : Initials B.B., avec (le beau) Serge G. et la belle Brigitte B.
Notre BB à nous est peut être moins glamour (on ne voit pas bien, l’avatar est trop petit), mais il connait le JavaScript !
Contrairement à Brigitte qui elle n’y connait toujours rien, la pauvre.Même s’il est possible qu’elle soit plus calée que lui en ce qui concerne les BB phoques…
:geek:27 janvier 2017 à 18:28 en réponse à : Sélecteur de date qui fonctionne avec Reader DC et pas avec Reader XI #62132
MerlinMaître des clésOups, je pensais à un autre tuto… :Smiley11:
Pensez vous que l’on puisse éviter d’avoir à cliquer deux fois, une fois dans le champs, une fois sur la flèche pour afficher le sélecteur de date
Non, sauf si on utilise le MagicDate Sélecteur.
MerlinMaître des clésJe ne parle pas un mot d’anglais
Il n’y a pas à parler, juste à lire…
:Smiley03:
MerlinMaître des clésBonjour.
Tu en a rêvé, Thom Parker l’a fait.
C’est en bas à droite de cette page à la rubrique : Alert, Response, and other Popup Windows in Acrobat JavaScript :
http://www.windjack.com/resources/rsc_javascript.shtmlVoir en particulier la « Part 5″…
:Smiley15:
MerlinMaître des clés:bonjour:
27 janvier 2017 à 11:33 en réponse à : Sélecteur de date qui fonctionne avec Reader DC et pas avec Reader XI #62130
MerlinMaître des clésBonjour.
Ce sélecteur de date est une nouveauté d’Acrobat (Reader, Pro et Standard) DC (janvier 2017).
Il apparait désormais systématiquement dans tous les champs au format Date.En clair : l’affichage de ce sélecteur de date est dépendant de la version d’Acrobat et n’a rien à voir avec le formulaire ni avec ses champs.
Ce qui veut dire aussi que ça ne fonctionnera jamais avec les versions antérieures, ce qui laisse encore de l’espoir pour le MagicDate Sélecteur : http://abracadabrapdf.net/utilitaires/utilitaires-pdf/magicdate-selecteur/
Il est un peu plus cher, mais tellement plus « style » et plus fonctionnel…:Smiley15:
MerlinMaître des clésconnaître des rudiments de LaTeX
Je connais une équipe d’excellentes formatrices. :Smiley08:
OK, je sors.
MerlinMaître des clés:Smiley01:
D’ailleurs ça vaut aussi quand on cible une seule page avec son numéro, la propriété nEnd n’a pas besoin d’être renseignée quand elle est identique à nStart.
MerlinMaître des clésBonjour.
Pour supprimer la page active :
this.deletePages({nStart: this.pageNum, nEnd: this.pageNum});
Que l’on peut abréger ainsi :
this.deletePages({nStart: this.pageNum});
MerlinMaître des clés1. Il faudrait que tu cherches « device-independent path » dans ce document : https://wwwimages2.adobe.com/content/dam/Adobe/en/devnet/acrobat/downloads/Acrobat_DC_SDK_Documentation.zip
Parce-que c’est un peu long à expliquer, il y a 3 types de chemins d’accès : Mac, Windows et « device-independent path »… Et il faut d’abord choisir son camp.
2. Je ne comprend pas cette histoire de document initial ni pourquoi ça empêche quoi… :Euuuh:
MerlinMaître des cléscomment est-ce que je peux sauvegarder le fichier ouvert et issu de la sauvegarde (qui n’est donc pas le document initial tant qu’il n’est pas fermé et ré-ouvert) pour le sauvegarder à nouveau après quelques modifications ?
Vous pouvez répéter la question ??? :Euuuh:
:Smiley03:
MerlinMaître des clésEt est-il possible de modifier le script (surtout comment :Euuuh:) pour qu’un bouton propose à l’utilisateur de charger un fichier depuis l’emplacement fixe ?
Code:app.execMenuItem(« Open »);
MerlinMaître des clésAvec Reader DC (Mac), la touche « Enter » du pavé numérique déclenche bien le script (super, le script, par ailleurs :bravo:).
Idem pour la combinaison « cmd » + « Enter » du clavier.Oui, c’est mieux avec les deux.
C’est certainement parce-que suite à ces changements inopinés et inattendus les noms d’oiseaux ont volé bas pendant les prereleases (versions beta) suivantes. :geek:
MerlinMaître des clésCoated : couché (papier glacé)
Uncoated : non couché (papier fibreux, non glacé)
Process : quadriEn imprimerie la charge d’encre dépend de la vitesse d’absorption du papier et de sa capacité à « boire » (les encres).
Donc pour obtenir une même couleur sur des papiers (supports) différents on change les quantités d’encres en fonction. Ça vaut pour la quadri comme pour les Pantones, c’est pour ça qu’on n’utilise pas exactement les mêmes* et qu’on les différencie avec leur suffixes (scuse, je n’y étais pas du tout :Smiley03: )Il suffit d’imprimer une même image avec son imprimante perso sur du papier glacé (papier photo) et sur du papier « normal » (à 10 c. la ramette) pour bien comprendre le problème (les imprimantes modernes détectent automatiquement le type de papier et adaptent les encrages mais on verra quand même une différence).
Les bibliothèques Pantones sont soumises à (une chère) licence, c’est pour ça qu’on ne les trouve pas partout, et elles évoluent dans le temps, donc avec les versions des logiciels (InDesign CC ou Acrobat DC proposent des Pantones qui ne sont pas dans InDesign CS6 ou dans Acrobat X).
Idem pour les bibliothèques Trumach, Toyo, Focoltone, etc.
* C’est ce qui explique pourquoi donner les références d’une couleur en CMJN est un non-sens total : le rendu visuel d’une référence CMJN dépend complètement du papier.
MerlinMaître des clésSaurais-tu
marcher sur l’eaufaire un miracle en partant de mon brouillon ?Poste toujours…
À plusieurs c’est toujours plus facile.
:Smiley15:
MerlinMaître des clésQuels suffixes ? :Euuuh:
Par contre, cette modification d’encre avec le gestionnaire ne peut-être enregistrée. Correct ?
Correct.
MerlinMaître des clésC’est exactement ce que j’allais suggérer. :Smiley15:
MerlinMaître des clésJe vais avoir plusieurs centaines de modèles
Ah ben oui, alors là non ! :geek:
Ça risquerait effectivement de mouliner un peu…
MerlinMaître des clésles champs ne seront pas renommés.
Dans ce cas j’utilise l’astuce suivante : plutôt que de me prendre la tête pour savoir où insérer de nouvelles pages, je supprime d’abord toutes les pages (sauf la 1re) et je re-génère toutes les pages nécessaires dans l’ordre.
:Smiley03:
MerlinMaître des clés// ne peut pas être avant 7:00 ou après 17:00
if (event.value < '7:00' || event.value > ’17:00′) {
app.alert(« Saisie invalide, merci de recommencer.« );
}
MerlinMaître des clés@ Merlin : le script actuel de mon fichier, installé sur un autre PC, fonctionne correctement. :Euuuh:
Il me semblait bien que ça sentait le bug… :Smiley11:
MerlinMaître des clésBonjour.
Est-ce que les champs sont renommés lors du spawn ?
Quel est l’évènement utilisateur qui décide de l’affichage/masquage des pages ?
MerlinMaître des clésOuvre tes PDF avec Acrobat Pro, fais un clic-droit sur la bande d’icônes des Panneaux de navigation, à gauche, et affiche le panneau Destinations.
S’il y en a des Destinations (Named Destination en anglais) elles sont utilisables, s’il n’y en a pas c’est inutilisable, sauf à refaire tous les PDF…
MerlinMaître des clésBonsoir.
Les annotations n’ont pas de propriété d’impression indépendante, c’est tout ou rien.
Il n’y a aucune raison pour qu’une seule ne soit pas imprimée, à part un bug bien sur… :Smiley02:
MerlinMaître des clésBonjour et bienvenue.
Les nameddest en PDF c’est un peu comme les ancres en HTML, c’est très pratique mais il faut préalablement les créer.
Ce que tu cherches c’est bookmark (les signets), ou plus exactement children (les sous-signets), voir :
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FPlugins_Bookmark%2FWorking_with_Bookmarks.htm&rhsearch=bookmark&rhhlterm=bookmark&rhsyns=%20La « method » execute permet de simuler le clic sur un signet, donc d’afficher la page cible.
comment traiter les « espaces » présents dans mes signets ?
La réponse en détail est ici : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-javascript-et-unicode/
:Smiley15:
MerlinMaître des clésLa Console me renvoie toujours le même message, apparemment tu as modifié le nom de la fonction mais tu n’as pas modifié le script qui appelle cette fonction.
PS : essaye l’enregistrement avec l’optimisation PDF en supprimant les polices qui ne servent à rien : ta « page vierge » passera de 550 Ko à moins de 20…
:Smiley03:
MerlinMaître des clésBonjour et bonne année.
Dès que j’ai utilisé ton document la Console m’a donné la réponse :
ReferenceError: du00E9duction_heures is not defined
Tu as créé une fonction dont le nom utilise un caractère accentué : ça ne peut pas fonctionner. :Smiley01:
15 janvier 2017 à 19:13 en réponse à : Comment simuler l’action "champ désactivé" depuis un script #62069
MerlinMaître des clésTu m’avais fait peur :Smiley10:
:geek:
MerlinMaître des clésBonjour.
Je n’y connais rien dans les scripts. Est on obligé de passer par un script pour modifier par défaut largeur de page => page entière
Oui.
Je ne comprends pas bien le script que tu proposes. Créer t’ il un « bouton » pour redéfinir le niveau de zoom de l’ensemble des signets ?
ctrl-J ou cmd-J pour afficher la Console, effacer ce qui s’y trouve éventuellement, coller le script dedans, sélectionner tout le script et appuyer sur la touche Entrée.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/
MerlinMaître des clésBonjour et bienvenue.
Le « fond bleu » c’est comme la petite cuillère dans Matrix : il n’existe pas. :Smiley03:
En fait il s’agit de la surbrillance des champs, c’est une couleur virtuelle ajoutée par le logiciel pour mettre en évidence les champs de saisie.
On peut choisir de l’avoir ou non et changer la couleur dans les Préférences : FormulairesPour écraser les préférences de l’utilisateur pour un formulaire PDF en particulier il faut ajouter ce JavaScript en Script de document* :
Code:app.runtimeHighlight = false; // sans surbrillanceou
Code:app.runtimeHighlight = true; // avec surbrillance13 janvier 2017 à 12:13 en réponse à : Comment simuler l’action "champ désactivé" depuis un script #62067
MerlinMaître des clésJe serais curieux de savoir à quoi sert un monument pareil, et à qui.
Pour optimiser ce type de formulaire il faut éviter autant que possible d’utiliser l’événement « Calcul », pour les raisons qui sont exposées à la fin de cet article : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/
:geek:
MerlinMaître des clésSi tu n’as pas de clavier avec pavé numérique, il faut appuyer simultanément les touches « commande » (cmd) et « Retour » !
Oui et non, parce-qu’en fait c’est dépendant de la version d’Acrobat. :mur:
Avec Acrobat 9 ça ne fonctionne pas, c’est Entrée ou rien.
Dans les versions suivantes (X, XI et DC) c’est soit la touche majuscule, soit la touche cmd, soit la touche fn.
(À tester, je ne me souviens pas quelle touche correspond à quelle version)
MerlinMaître des clésEt à quoi sert-il que Merlin se décarcasse ?
Voir :
– http://abracadabrapdf.net/utilitaires/utilitaires-pdf/show_me_the_path/
&
– http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/:Smiley15:
MerlinMaître des clésMoi aussi, quand je suis passé à Acrobat DC j’ai eu ça quelques fois, puis ça a fini par ne plus le faire.
Mais ne me demande pas pourquoi, je n’en sais rien… :joker:12 janvier 2017 à 16:59 en réponse à : Comment simuler l’action "champ désactivé" depuis un script #62065
MerlinMaître des clésUn formulaire PDF de 8 Go ?!?
Tu es sérieux là ?
:doute:
MerlinMaître des clésDans l’esprit c’est l’inverse qu’il faut faire : c’est le nom du champ qui doit correspondre au nom de la colonne.
Pour connaitre/modifier les noms des champs il faut trouver le panneau d’outils « Formulaire » dans Acrobat, mais faute de savoir laquelle tu utilises il est difficile de te dire comment puisque ça change à chaque version, ou presque.
MerlinMaître des clésBonjour et bienvenue.
Sur le principe c’est simple : il faut que le nom du champ qui doit récupérer une donnée soit exactement le même que celui de la colonne dans laquelle il se trouve dans le fichier XLSX.
Ensuite il faut convertir (enregistrer sous) le XLSX au format CSV* pour pouvoir l’importer dans Acrobat (Importer les données).
* Il faut régler l’encodage sur Unicode / UTF-8
MerlinMaître des clésBonjour.
Comme a priori il ne peut y avoir qu’un seul lieu de livraison/reprise le mieux serait peut-être d’utiliser une liste déroulante.
MerlinMaître des clésManipuler et comparer des heures (base 60) est plus complexe que des gérer des nombres « normaux » (base 10).
Et en essayant de faire un script je m’aperçois que c’est aussi plus complexe que de manipuler des dates et que… je ne sais pas faire. :mur:J’ai un ou deux formulaires de démo d’horaires hebdomadaires que j’ai récupérés sur le web et aucun ne propose d’alerte personnalisée, ils utilisent l’alerte par défaut d’Acrobat et je me dis qu’il y a peut-être une bonne raison… :joker:
Espérons qu’un autre membre qui s’y connait plus que moi pourra t’aider plus avant. :priere:
MerlinMaître des clésBonjour et bienvenue.
Gérer l’affichage/masquage de plusieurs jeux de champs de formulaire devient vite laborieux dès que leur nombre dépasse 2 ou 3.
De plus, que se passerait-il si l’utilisateur voulait commander plusieurs produits ?Je crois que tu aurais intérêt à créer une page par produit parce-qu’il est beaucoup plus simple de gérer l’affichage/masquage de pages entières, et en plus il existe un super tuto : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/dupliquer-dynamiquement-des-pages-dans-un-pdf/
:Smiley15:
MerlinMaître des clésBonjour, bienvenue et bonne année.
Le seul moyen d’avoir un autre message d’alerte c’est de créer avec JavaScript une fonction de validation et un message d’alerte pour remplacer ce qui est proposé par Acrobat.
On continue ?
MerlinMaître des clésBonjour et bonne année.
Pour créer une fonction il faut créer un script de document de ce type :
Code:function MaFonction() {
// script à exécuter
}C’est le mot « function » (en anglais) qui fait que ce qui suit est déclaré comme une fonction.
Ensuite pour appeler cette fonction depuis un champ, ou autre :
Code:MaFonction();
MerlinMaître des clésHoula !
Rangez-moi ces accolades placées n’importe où et supprimez-moi ces doublons :var alerte = « Voulez-vous vraiment supprimer le contenu de TOUS les champs de donnu00E9es ?nnCette action ne pourra pas u00EAtre annulu00E9e. »;
this.calculate = false;
if (app.alert({cMsg:alerte,nIcon:1,cTitle: »ZOLO », nIcon: 1, nType: 2}) == 4)
{
this.calculate = false;
this.resetForm();
this.calculate = true;
}:Smiley03:
MerlinMaître des clésdans le script du bouton « reset »
À la place du script du bouton reset :
Code:this.calculate = false;
this.resetForm(); // effectivement j’avais oublié les parenthèses
this.calculate = true;Mais comme déjà dit, si tu postais un exemple on y verrait plus clair…
MerlinMaître des clésPuisque ça fonctionne en script de calcul, tu peux faire ça et bloquer les calculs pendant le reset :
Code:this.calculate = false;this.resetForm;
this.calculate = true;:Smiley03:
MerlinMaître des clésPar ailleurs je ne comprends pas pourquoi interdire les 98n, il y a 4 départements dont le numéro commence par 98 : 986, 987, 988 et 989.
:doute:
MerlinMaître des clésTu devrais prendre le problème à l’envers. Plutôt que de proposer une saisie libre et de tester toutes les erreurs possibles tu devrais ne proposer qu’une saisie contrôlée sans erreur possible.
En clair : une liste déroulante ou un popup menu JavaScript.
:Smiley15:
MerlinMaître des clésOn me confirme par ailleurs que j’étais très fatigué hier soir… :Ooops: :geek:
Donc oui, c’est logique et normal.
Pour éviter ça il faut déplacer le script de validation en action « champ désactivé », dans la plupart des cas c’est possible.
MerlinMaître des clésBonjour.
Problème : l’alerte s’affiche aussi lors d’un « this.resetForm » du formulaire dont le champ « département » est valablement rempli !
C’est logique, mais gênant.Gênant oui,
logique non : si la valeur du champ est conforme au format de validation il ne devrait pas y avoir d’alerte.
Ou alors j’ai raté quelque chose… :Euuuh:
MerlinMaître des clésPart contre sur tablette cette fonction de fonctionne pas ?
Ça ne fonctionne que sur les tablettes Windows, qui utilisent le même Acrobat Reader et (presque) le même Windows que les ordinateurs.
MerlinMaître des clésPar contre comment peut on supprimer la page créée , avec vous un script ?
Code:this.deletePages({nStart: this.numPages-1});
MerlinMaître des cléspour mettre du texte en pièces jointes , comment fais tu ?
J’ai repris le concept et les champs de Bebarth, tout le script est dans le champ texte. (ci-joint).
:Smiley15:
MerlinMaître des clésTu lis dans mes pensées !
Et avec des textes en Unicode qui plus est : encore :bravo:Bonne année.
MerlinMaître des clés:bravo:
Bonne année à toi aussi !
MerlinMaître des clésBonjour.
On dirait bien que ce tuto a été fait pour toi : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/dupliquer-dynamiquement-des-pages-dans-un-pdf/
:Smiley15:31 décembre 2016 à 13:12 en réponse à : champ de formulaire : changer couleur de police en fonction de la valeur d’un au #61884
MerlinMaître des clés:bonjour:
Merci et bonne année.Je voulais mettre le fruit de mon travail, grâce à votre aide mais la PJ est trop lourde
À lire absolument : http://abracadabrapdf.net/forum/index.php/topic,2974.0.html
.
MerlinMaître des cléspeut être créer un champ pour chaque gamme et mettre la fonction affiché ou cacher pour faire apparaitre le bon champ
Comme je suppose que ces descriptions seront susceptibles d’être modifiées à l’avenir je les placerais soit en variables (donc dans le code JavaScript) soit dans des fichiers textes placés en pièces jointes (ce qui est bien plus facile à modifier). :idee:
30 décembre 2016 à 17:16 en réponse à : champ de formulaire : changer couleur de police en fonction de la valeur d’un au #61882
MerlinMaître des clésBonjour.
A placer en action souris relevée dans la case-à-cocher :
Code:// mise en variable du champ cible
var oChampTxt = this.getField(« TEXTE »);
// si case décochée texte = noir
if (event.target.value == « Off ») {oChampTxt.textColor = color.black;}
// sinon texte = rouge
else {oChampTxt.textColor = color.red;}Exemple ci-joint.
:Smiley15:
MerlinMaître des clésLe technicien doit compléter sur place la fiche ré remplie par la gescom par l’intermédiaire d’une tablette.
OK, sinon j’avais une autre idée en tête, mais là non. :joker:
Comme tablette l’idéal c’est Windows car Acrobat Reader y fonctionne comme sur PC, ce qui n’est pas le cas sur Android et iOS.
Sur Android il y a ezPDF Reader, c’est un logiciel payant mais JavaScriptement plus puissant qu’Acrobat pour Android.
Mais il faut tout tester avant, aucune fonction n’est garantie/supportée comme sur PC (ou Mac).avec du java
:Smiley03: ==> http://abracadabrapdf.net/forum/index.php/topic,2160.msg10980.html#msg10980
MerlinMaître des clésBonjour et bienvenue.
S’agit il de fiches que des commerciaux ou des techniciens en déplacement doivent remplir sur site ?
Les fiches sont-elles déjà existantes en format papier ?
MerlinMaître des clésAttention à l’Ordre de calcul ! :geek:
Voir la 2e partie de cet article : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/
MerlinMaître des clésRe :bravo:
MerlinMaître des clés:bravo:
MerlinMaître des clésBen… Je n’avais pas fait attention mais ce n’était pas prévu comme ça… :Euuuh:
Je vais étudier ça de + près. :priere:
MerlinMaître des clésMerci.
pourquoi « valueAsString » plutôt que « value » ?
Parce-que parfois value pose des problèmes qui n’arrivent pas avec valueAsString, alors de façon générale quand c’est possible j’utilise ce dernier.
Mais ce n’est ni une règle ni un conseil, c’est plus une habitude.
MerlinMaître des clésA placer dans le champ concerné :
Code:// champ activé
var oDateAvant = event.target.value;
var sDateAvant = util.scand(« d mmmm yyyy », oDateAvant.valueAsString);
event.target.value = util.printd(« dd/mm/yyyy », sDateAvant);Code:// champ désactivé
var oDateAvant = event.value;
var sDateAvant = util.scand(« dd/mm/yyyy », oDateAvant.valueAsString);
event.target.value = util.printd(« d mmmm yyyy », sDateAvant);Exemple ci-joint. :Smiley15:
MerlinMaître des clésBonjour et bienvenue.
une fois la saisie validée le champ doit renvoyer la date écrite d mmmm yyyy.
Que veux tu vraiment dire par « renvoyer » ?
Afficher dans le même champ ?, ou renvoyer dans un autre champ ?, ou renvoyer dans une variable ?… :Euuuh:
MerlinMaître des clésle souci est que nous ne fonctionnons qu’avec Outlook…
Maintenant que tu le dis il me revient qu’un autre membre avait déjà parlé de ce problème dans le forum, je ne sais plus s’il l’avait réglé mais peut-être qu’une petite recherche… :priere:
MerlinMaître des clésj’ai l’impression que tu utilises « mail »
Uniquement pour tester les envois depuis les PDF !
Sinon j’utilise Thunderbird qui lui est largement supérieur en tout, sauf qu’il n’est pas pris en charge par Acrobat (mais je m’en fiche). :Smiley15:
MerlinMaître des clésPour moi ça fonctionne parfaitement, il y a juste une petite faute d’orthographe à signaler (prénom). :Smiley03:
MerlinMaître des clésBonjour et bienvenue.
Comment puis-je faire pour une orientation personnalisée ?
On ne peut pas, hélas.
MerlinMaître des clésle le champ body est bien au format RTF.
C’est un bug connu qui traine depuis plusieurs versions : quand on récupère la valeur (le contenu) d’un champ RTF les sauts de lignes disparaissent. :mur:
La ruse consiste à créer un double masqué de ce champ qui ne soit pas au format RTF, et qui sert de point de départ pour l’envoi de l’email.
MerlinMaître des clésBonjour.
Est-ce que le champ « Body » est au format RTF ?
En tout cas je dois attirer ton attention sur le fait qu’envoyer un login + un mot de passe en clair dans un email, en clair lui-aussi, est une très très mauvaise idée.
Ça revient à prémâcher le travail aux hackers ou pirates en tous genres, et souvent dans « hackers ou pirates » il y a « concurrents »…
:tutut:
MerlinMaître des clésToutes les formations JavaScript qu’on peut trouver sont orientées web et HTML5.
J’anime (trop rarement) des sessions Acrobat-JavaScript pour divers centres de formation mais il est très difficile de constituer des groupes.Sinon il y a :
– http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/ressources-pdf-javascript/
&
– http://abracadabrapdf.net/category/ressources-et-tutos/js-et-formulaires-ressources/Je peux aussi te conseiller les tutos-vidéos sur Acrobat, concernant JavaScript je crois que c’est le tuto sur Acrobat 8 qui est le plus complet, tu as de la chance il est gratuit : http://www.elephorm.com/infographie-pao/formation-acrobat/apprendre-acrobat-8-professional.html
MerlinMaître des clésQuand j’appuie sur Envoi client, un mail générique s’ouvre avec comme destinataire E-mail client ; comment je peux faire pour avoir E-mail commercial en copie
Je t’encourage à désosser ce document, tout est dans les boutons : http://abracadabrapdf.net/pdf-de-demo/formulaires/formulaire-de-contact/
:Smiley03:
MerlinMaître des clés– Le champ sélecteur (Commercial(e))se met automatiquement sur la dernière personne que j’ai rentré alors qu’il devrait se mettre sur Nom Prénom par défaut à l’ouverture (alors que je le choisi par défaut ds les propriétés)
Est-ce bien le comportement que tu veux ?
Normalement c’est plutôt lors de la réinitialisation du document qu’on fait ça.
Réinitialiser des champs systématiquement à l’ouverture peut être dangereux… :doute:Si c’est ce que tu veux il te faut ajouter une dernière ligne ne contenant que des espaces (ou rien) à ton tableau de données :
Code:data[29]=[ » « , » « ,, » « ]Et aussi réinitialiser le champ « email » à l’ouverture du document.
Exemple : https://drop.unixcorn.org/f.php?h=0HKlSknt&k=4244a765c5
13 décembre 2016 à 09:59 en réponse à : Connaître le nombre de téléchargements ou d’ouvertures #61840
MerlinMaître des clésoù je vais générer un compteur via une url courte qui permet de suivre les stats.
Avec Document Cloud, Google Drive, etc. c’est inutile. Tous les compteurs nécessaires sont déjà intégrés.
12 décembre 2016 à 14:46 en réponse à : Connaître le nombre de téléchargements ou d’ouvertures #61838
MerlinMaître des clésPour des raisons de sécurité évidentes on ne peut pas faire sortir des informations d’un document PDF à l’insu de l’utilisateur, il faudrait lui faire valider l’envoi des données, ce qui complique les choses évidemment.
Je ne sais pas comment ça fonctionne au niveau des abonnements Entreprise avec Acrobat XI, mais le plus simple serait de mettre les documents à disposition depuis le Document Cloud d’Adobe qui fourni toutes les stats nécessaires.
Mais il faut que ce soit acceptable par le S.I. et le « service sécurité » de ton entreprise…
MerlinMaître des clésA priori ça n’a rien à voir.
MerlinMaître des clésDans ce cas, en dernier recours je peux te conseiller d’essayer Adobe Bridge, qui est un catalogueur (pas seulement de photos) et qui est gratuit.
Je n’en connais pas d’autres.
MerlinMaître des clésMesdames, messieurs, chapeau bas !
:bonjour:Là je m’incline devant autant de bon sens.
:joker:
MerlinMaître des clésf.fillColor = [« CMYK »,0,0,0,0];
ou
f.fillColor = color.white;Oui, inutile de mettre deux fois de suite la même instruction, de toute façon en JavaScript c’est le dernier qui a parlé qui a raison.
Par ailleurs, il vaut mieux éviter de coder les couleurs en CMJN (ou CMYK) sauf si on a vraiment de bonnes raisons de le faire, c’est-à-dire si on manipule des documents destinés à être imprimés en offset. Autrement c’est contre-productif* et il vaut mieux utiliser les couleurs nommées** ou le mode RVB (RGB).
* Pour plein de raisons trop longues à expliquer dans un post, mais
GoogleQwant est un ami…**
color.white
color.red
etc.
MerlinMaître des clésEn fait le « ! » signifie « contraire de la condition ».
Donc tu l’inverses deux fois : le mieux serait de ne pas l’inverser du tout en supprimant « !!« .
:Smiley15:9 décembre 2016 à 19:06 en réponse à : Connaître le nombre de téléchargements ou d’ouvertures #61836
MerlinMaître des clésBonjour et bienvenue.
Est-ce que tu disposes d’Acrobat Pro ou Standard ?
Si oui, quelle version ?
MerlinMaître des clésBonne question, je suppose que ça à voir avec les formats mais je n’ai jamais creusé la question. :joker:
MerlinMaître des clésC’est parce-que tu as supprimé des champs sans supprimer les appels dans le script.
Dans le script du champ liste, supprime les deux lignes barrées ci-dessous :if(!event.willCommit)
{
console.clear();
console.println(« event.changeEx= »+this.event.changeEx);
indexsel=this.event.changeEx;this.getField(« nom »).value=data[indexsel][0];
this.getField(« prenom »).value=data[indexsel][1];
this.getField(« CP »).value=data[indexsel][2];
this.getField(« email »).value=data[indexsel][3];
}
MerlinMaître des clésNon, hélas, c’était la seule autre solution que j’avais à te proposer… :joker:
MerlinMaître des clésC’est parce-que j’ai oublié les suffixes que ça ne fonctionne pas :
A placer en action souris relevée dans le champ N1.0 :
this.getField(« S1.0« ).display = !event.target.isBoxChecked(0);
this.getField(« T1.0« ).display = !event.target.isBoxChecked(0);
this.getField(« C1.0« ).display = !event.target.isBoxChecked(0);
this.getField(« H1.0« ).display = !event.target.isBoxChecked(0);A placer en action souris relevée dans chaque champ S1.0, T1.0, C1.0 et H1.0 :
this.getField(« N1.0« ).display = !event.target.isBoxChecked(0);
.
MerlinMaître des clésBonjour et bienvenue.
As-tu essayé de supprimer les polices avec PDF Optimiseur ?
MerlinMaître des clésEn fait une page modèle reste toujours masquée, ce qui apparait/disparait dans le document c’est un double/duplicata du modèle. (to spawn en anglais)
Si on n’active pas le renommage des champs, les données saisies sur une page dupliquée se retrouvent en double dans le modèle, parce-que les champs ont les même noms.
Que l’on supprime le duplicata ou non, les données restent stockées dans le modèle et réapparaissent à chaque duplication.Regarde cet exemple : https://files.acrobat.com/a/preview/3df0dcac-a987-4d6a-94a5-2783838584bf
MerlinMaître des clésA placer en action souris relevée dans le champ N1 :
Code:this.getField(« S1 »).display = !event.target.isBoxChecked(0);
this.getField(« T1 »).display = !event.target.isBoxChecked(0);
this.getField(« C1 »).display = !event.target.isBoxChecked(0);
this.getField(« H1 »).display = !event.target.isBoxChecked(0);A placer en action souris relevée dans chaque champ S1, T1, C1 et H1 :
Code:this.getField(« N1 »).display = !event.target.isBoxChecked(0);
MerlinMaître des clésFais une recherche dans le forum sur les mots « liste », « mère » et « fille », ce sujet a déjà été abordé et il y a plusieurs réponses.
MerlinMaître des clésBonjour.
Je crois que la « bonne » réponse pourrait venir de l’abandon de la « mauvaise » question. :doute:
Plutôt que de masquer des pages avec des caches et de créer une mécanique complexe pour sauter les pages blanches, pourquoi ne pas simplement faire disparaitre la page ?
Ce qui résoudrait tous les problèmes de navigation du même coup. :idee:Ce document est un cas typique d’utilisation des pages modèles, qu’on peut faire apparaitre et disparaitre à volonté, mais il y a un impératif : l’utilisateur final doit avoir Acrobat Reader XI (11) ou DC, ça ne fonctionne pas avec les versions antérieures (de Reader, ça fonctionne avec toutes les versions d’Acrobat Pro et Standard).
MerlinMaître des clés[« RGB »,1,1,.855];
Pour le CMJN c’est plus simple, mais pour les couleurs en RVB j’ai trouvé une astuce qui permet d’éviter de devoir convertir les valeurs des couches de couleur en centièmes comme ci-dessus : il faut demander au logiciel de se débrouiller tout seul !
Ainsi pour la couleur R 72, V 188, B 200 on peut indiquer à JavaScript :
Code:[« RGB »,72/255, 188/255, 200/255]:extra:
MerlinMaître des clésNon testé mais ça devrait le faire.
if (this.getField(« S1.0 »).value == « Off ») {var nS1 = 0;}
else {var nS1 = 1;}
if (this.getField(« T1.0 »).value == « Off ») {var nT1 = 0;}
else {var nT1 = 1;}
if (this.getField(« C1.0 »).value == « Off ») {var nC1 = 0;}
else {var nC1 = 1;}
if (this.getField(« H1.0 »).value == « Off ») {var nH1 = 0;}
else {var nH1 = 1;}
var nTotal = (nS1 + nT1 + nC1 + nH1) * 1;
if (this.getField(« N1.0 »).value != « Off ») {event.target.value = « C »;}
else if (nTotal == 4) {event.target.value = « C »;}
else if (nTotal >= 1) {event.target.value = « B »;}
else {event.target.value = « A »;}
MerlinMaître des clésj’ai essayé avec f.fillcolor mais c’est sans effet
JavaScript est sensible à la casse : f.fillColor
Est-ce possible ?
Oui.
MerlinMaître des clésJ’avais mis le formulaire en PJ. Je le reposte si il y a eu un bug.
Oui, il y a eu un gros bug humain : la fatigue ! Je n’avais pas vu la PJ… :geek:
Dans l’exemple ci-joint j’ai fait les deux premières rangées, je te laisse faire les suivantes.
Dans le script ci-dessous il faut remplacer les numéros en rouge par le numéro de la rangée (le numéro qui est en suffixe de chaque champ).
Ce script est à placer en script de calcul dans les champs code.nif (this.getField(« S1.0« ).value == « Off ») {var nS1 = 0;}
else {var nS1 = 1;}
if (this.getField(« T1.0« ).value == « Off ») {var nT1 = 0;}
else {var nT1 = 1;}
if (this.getField(« C1.0« ).value == « Off ») {var nC1 = 0;}
else {var nC1 = 1;}
if (this.getField(« H1.0« ).value == « Off ») {var nH1 = 0;}
else {var nH1 = 1;}
var nTotal = (nS1 + nT1 + nC1 + nH1) * 1;
if (this.getField(« N1.0« ).value != « Off ») {event.target.value = « C »;}
else if (nTotal >= 1) {event.target.value = « B »;}
else {event.target.value = « A »;}pourrait-on en parler en MP ?
Pas de souci.
MerlinMaître des clésBonjour.
Ce n’est pas très compliqué mais il manque des informations, notamment sur ce qui doit s’afficher si on coche la 3e ou la 4e case, si on en coche deux, etc.
L’idéal serait que tu joignes un exemple ou un extrait de ton formulaire (fonction pièces jointes ci-dessous ou : http://abracadabrapdf.net/forum/index.php/topic,2974.0.html ). -
AuteurRéponses
